Ndk/Camera: Invalidate when node invalidate
Former-commit-id: bda6e1f8a5b64f593c9f4ef95a99f1b0198790e7
This commit is contained in:
@@ -8,15 +8,6 @@
|
||||
|
||||
namespace Ndk
|
||||
{
|
||||
/*void CameraComponent::InvalidateNode()
|
||||
{
|
||||
NzNode::InvalidateNode();
|
||||
|
||||
// Le frustum et la view matrix dépendent des paramètres du node, invalidons-les
|
||||
m_frustumUpdated = false;
|
||||
m_viewMatrixUpdated = false;
|
||||
}*/
|
||||
|
||||
void CameraComponent::OnAttached()
|
||||
{
|
||||
InvalidateViewMatrix();
|
||||
@@ -25,13 +16,23 @@ namespace Ndk
|
||||
void CameraComponent::OnComponentAttached(BaseComponent& component)
|
||||
{
|
||||
if (IsComponent<NodeComponent>(component))
|
||||
{
|
||||
NodeComponent& nodeComponent = static_cast<NodeComponent&>(component);
|
||||
nodeComponent.AddListener(this);
|
||||
|
||||
InvalidateViewMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
void CameraComponent::OnComponentDetached(BaseComponent& component)
|
||||
{
|
||||
if (IsComponent<NodeComponent>(component))
|
||||
{
|
||||
NodeComponent& nodeComponent = static_cast<NodeComponent&>(component);
|
||||
nodeComponent.RemoveListener(this);
|
||||
|
||||
InvalidateViewMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
void CameraComponent::OnDetached()
|
||||
@@ -39,6 +40,16 @@ namespace Ndk
|
||||
InvalidateViewMatrix();
|
||||
}
|
||||
|
||||
bool CameraComponent::OnNodeInvalidated(const NzNode* node, void* userdata)
|
||||
{
|
||||
NazaraUnused(node);
|
||||
NazaraUnused(userdata);
|
||||
|
||||
// La matrice de vue dépend directement des données du node, invalidons-là
|
||||
InvalidateViewMatrix();
|
||||
return true;
|
||||
}
|
||||
|
||||
void CameraComponent::OnRenderTargetReleased(const NzRenderTarget* renderTarget, void* userdata)
|
||||
{
|
||||
NazaraUnused(userdata);
|
||||
|
||||
Reference in New Issue
Block a user