2011-09-18 7 views
-1

2次元シーングラフでは、ノードで回転や他のような変換を実行すると、これらの操作をどのように子ノードに適用する必要がありますか?私が各子供に手術を適用すると、時間がかかることがあります。私は、アプリケーションがシーンをレンダリングするとき、各ノードでグローバルローテーションが現在のノードローテーションで追加されることを考えました。翻訳と縮尺も同じです。グラフが上昇しているときは、それらのグローバルプロパティが減算されます。より良い方法がありますか?2次元シーングラフでの変形の適用

答えて

3

現在の変換マトリックスを押してポップするスタックを使用する必要があります。

def calculateTransformRecursive(self): 

    pushGlobalTransform(); 
    self.calculateAndStoreGlobalTransform(); 
    for node in self.nodes: 
    node.calculateTransformRecursive(); 
    popGlobalTransform(); 

すべてのノードが描画時間のグローバル変換を持っており、ツリーを上がっていくと、「元に戻す」変換する必要はありませんこの方法です。

関連する問題