SceneNode::VisiblityTest now use Camera instead of Frustum
Former-commit-id: 71199e3e80c5fbd6116d5fedb13276480f4e4731
This commit is contained in:
@@ -63,7 +63,7 @@ class NAZARA_API NzCamera : public NzSceneNode, NzRenderTarget::Listener
|
||||
void UpdateViewMatrix() const;
|
||||
void UpdateViewport() const;
|
||||
|
||||
bool VisibilityTest(const NzFrustumf& frustum) override;
|
||||
bool VisibilityTest(const NzCamera* camera) override;
|
||||
|
||||
mutable NzFrustumf m_frustum;
|
||||
mutable NzMatrix4f m_projectionMatrix;
|
||||
|
||||
@@ -53,7 +53,7 @@ class NAZARA_API NzLight : public NzSceneNode
|
||||
void Register();
|
||||
void Unregister();
|
||||
void UpdateBoundingVolume() const;
|
||||
bool VisibilityTest(const NzFrustumf& frustum);
|
||||
bool VisibilityTest(const NzCamera* camera) override;
|
||||
|
||||
nzLightType m_type;
|
||||
mutable NzBoundingVolumef m_boundingVolume;
|
||||
|
||||
@@ -93,7 +93,7 @@ class NAZARA_API NzModel : public NzSceneNode, public NzUpdatable
|
||||
void Unregister() override;
|
||||
void Update() override;
|
||||
void UpdateBoundingVolume() const;
|
||||
bool VisibilityTest(const NzFrustumf& frustum) override;
|
||||
bool VisibilityTest(const NzCamera* camera) override;
|
||||
|
||||
std::vector<NzMaterialRef> m_materials;
|
||||
NzAnimationRef m_animation;
|
||||
|
||||
@@ -59,7 +59,7 @@ class NAZARA_API NzScene
|
||||
operator const NzSceneNode&() const;
|
||||
|
||||
private:
|
||||
void RecursiveFrustumCull(NzAbstractRenderQueue* renderQueue, const NzFrustumf& frustum, NzNode* node);
|
||||
void RecursiveCameraCull(NzAbstractRenderQueue* renderQueue, const NzCamera* camera, NzNode* node);
|
||||
void SetActiveCamera(NzCamera* camera);
|
||||
|
||||
NzSceneImpl* m_impl;
|
||||
|
||||
@@ -40,13 +40,13 @@ class NAZARA_API NzSceneNode : public NzNode
|
||||
void SetScene(NzScene* scene);
|
||||
virtual void Unregister();
|
||||
virtual void Update();
|
||||
virtual bool VisibilityTest(const NzFrustumf& frustum) = 0;
|
||||
virtual bool VisibilityTest(const NzCamera* camera) = 0;
|
||||
|
||||
NzScene* m_scene;
|
||||
bool m_visible;
|
||||
|
||||
private:
|
||||
void UpdateVisibility(const NzFrustumf& frustum);
|
||||
void UpdateVisibility(const NzCamera* camera);
|
||||
};
|
||||
|
||||
#endif // NAZARA_SCENENODE_HPP
|
||||
|
||||
@@ -28,7 +28,7 @@ class NAZARA_API NzSceneRoot : public NzSceneNode
|
||||
|
||||
void Register();
|
||||
void Unregister();
|
||||
bool VisibilityTest(const NzFrustumf& frustum) override;
|
||||
bool VisibilityTest(const NzCamera* camera) override;
|
||||
};
|
||||
|
||||
#endif // NAZARA_SCENEROOT_HPP
|
||||
|
||||
Reference in New Issue
Block a user