2016-06-29 12 views
0

私はOpenGL環境でキューブと球を持っています。得られ、これは何OpenGLでオブジェクトを個別に操作/変換する方法は?

//Create Cube 
glPushMatrix(); 
glTranslated(-5.0,0.0,0.0); 
glDrawCube(7.5f); 
glPopMatrix(); 

//Create Sphere 
glPushMatrix(); 
glTranslated(10.0,0.0,0.0); 
glDrawSphereIcosahedron(4.5f,6);  
glPopMatrix(); 

によって作成されます。 キューブと球が作成されます。変換/操作は依存しています。私がキューブを回転しようとすると、球も回転します。

私が欲しいもの 私はキューブと球体が互いに独立した変換/操作をしたいと思っています。私はキューブを回転させると、球体は、私は、私は上記のコードでglPushMatrix()、glloadMatrixを()を使用してみましたが、それはまだ同じ問題を持っている を試してみました何

回転/移動するべきではありません。

お時間をいただきありがとうございます。

答えて

2

glPushMatrix()/ glPopMatrix()のペアの中にglRotateを置くと、その回転はブロック内に描画されたオブジェクトにのみ適用されます。このペアの外側にglRotateを置くと、その回転はすべてのオブジェクトに適用されます。

+0

ありがとうございます。しかし、最初はレンダリングされている間のみ機能します。球体ではなくキューブを選択しながら、キューブを独立して回転させたい。私は明らかに希望します – khadkaboy

+2

@khadkaboyこの回答はどうしたらうまくいかないのですか? 「最初にレンダリングされる間だけ」とは何を意味するのでしょうか?このコードをレンダリングして、連続的に回転させたい場合は、このコードをメインの更新ループに入れる必要があります。 – Dan

+0

@ダン私は、キューブを連続的に回転させたくないのですが、オブジェクトを選択して(今はキューブを言うことができます)、作成した球に変更や効果を加えずにキューブを操作したいだけです。しかし、私はそうすることができません。 – khadkaboy

関連する問題