Merged 2D and 3D modules into Graphics module
Former-commit-id: 33bf0fbe727e50e864bc52680c95a106ada508e9
This commit is contained in:
63
include/Nazara/Graphics/Scene.hpp
Normal file
63
include/Nazara/Graphics/Scene.hpp
Normal file
@@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2013 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Graphics module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_SCENE_HPP
|
||||
#define NAZARA_SCENE_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/Updatable.hpp>
|
||||
#include <Nazara/Graphics/Background.hpp>
|
||||
#include <Nazara/Math/Frustum.hpp>
|
||||
|
||||
class NzCamera;
|
||||
class NzLight;
|
||||
class NzModel;
|
||||
class NzNode;
|
||||
class NzRenderQueue;
|
||||
class NzSceneNode;
|
||||
struct NzSceneImpl;
|
||||
|
||||
class NAZARA_API NzScene
|
||||
{
|
||||
friend NzCamera;
|
||||
|
||||
public:
|
||||
NzScene();
|
||||
~NzScene();
|
||||
|
||||
void AddToVisibilityList(NzUpdatable* object);
|
||||
|
||||
void Cull();
|
||||
void Draw();
|
||||
|
||||
const NzCamera* GetActiveCamera() const;
|
||||
NzBackground* GetBackground() const;
|
||||
NzSceneNode& GetRoot() const;
|
||||
float GetUpdateTime() const;
|
||||
unsigned int GetUpdatePerSecond() const;
|
||||
|
||||
void RegisterForUpdate(NzUpdatable* object);
|
||||
|
||||
void SetAmbientColor(const NzColor& color);
|
||||
void SetBackground(NzBackground* background);
|
||||
void SetUpdatePerSecond(unsigned int updatePerSecond);
|
||||
|
||||
void UnregisterForUpdate(NzUpdatable* object);
|
||||
|
||||
void Update();
|
||||
void UpdateVisible();
|
||||
|
||||
operator const NzSceneNode&() const;
|
||||
|
||||
private:
|
||||
void RecursiveFrustumCull(NzRenderQueue& renderQueue, const NzFrustumf& frustum, NzNode* node);
|
||||
void SetActiveCamera(const NzCamera* camera);
|
||||
|
||||
NzSceneImpl* m_impl;
|
||||
};
|
||||
|
||||
#endif // NAZARA_SCENE_HPP
|
||||
Reference in New Issue
Block a user