2012-01-08 25 views
0

デフォルト半径1よりも大きい形状を変更していますが、動作していないようです。これは私がしようとしているものです:OpenGL - glutSolidIcosahedron()のサイズを変更できませんか?

void glutSolidIcosahedron(GLdouble size); 
glutSolidIcosahedron(9); 

それは私が(下図参照)、それをやっ大丈夫です:

glScalef(9.0,9.0,9.0); 
glutSolidIcosahedron(); 

は別の方法はありますか?

答えて

0

glutSolidIcosahedron()は、半径が1.0の原点を中心とした20面体を作成します。サイズや縮尺を調整するためのパラメータはありません。ですから、サイズを変更する唯一の方法は、glScalefまたは現在のマトリックスを調整するための他の方法を使用することです。

+0

私がサイズを変更するとすぐに光が当てられないようです。 – Led

+0

オブジェクトを拡大縮小すると、 'GL_NORMALIZE'または' GL_RESCALE_NORMAL'を有効にしないと照明の問題を引き起こす可能性のある法線も拡大縮小します。 。この[faq](http://www.opengl.org/resources/faq/technical/lights.htm#ligh0090)を参照してください。 –

+0

David UR伝説のおかげでたくさんありがとう – Led

関連する問題