读书人

请问:怎么用OPENGL 实现有金属感的圆

发布时间: 2012-08-02 11:35:25 作者: rapoo

请教:如何用OPENGL 实现有金属感的圆柱体。
rt,

主要是灯光和颜色如何设置?

[解决办法]
GLfloat model_ambient[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat light_position0[]= { 0.6f, 0.6f, 3.0f, 0.0f };
GLfloat light_color0[] = { 1.0f, 1.0f, 1.0f, 1.0f };

//环境光
glLightModelfv( GL_LIGHT_MODEL_AMBIENT, model_ambient );
//光源位置
glLightfv( GL_LIGHT0, GL_POSITION, light_position0 );
//光源颜色
glLightfv( GL_LIGHT0, GL_DIFFUSE, light_color0 );
//打开光源
glEnable( GL_LIGHTING );
glEnable( GL_LIGHT0 );

GLfloat gray_ambient[] = { 0.2f, 0.2f, 0.2f };
GLfloat gray_diffuse[] = { 0.3f, 0.3f, 0.3f };
GLfloat gray_specular[] = { 0.5f, 0.5f, 0.5f };
GLfloat gray_shininess[]= { 22.0f };
glMaterialfv( GL_FRONT, GL_AMBIENT, gray_ambient);
glMaterialfv( GL_FRONT, GL_DIFFUSE, gray_diffuse );
glMaterialfv( GL_FRONT, GL_SPECULAR,gray_specular);
glMaterialfv( GL_FRONT, GL_SHININESS, gray_shininess );

读书人网 >图形图像

热点推荐