//光照设置
GLfloat model_ambient[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat light_position0[]= { 0, 0, -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.5f, 0.5f, 0.5f };
GLfloat gray_diffuse[]= { 0.3f, 0.3f, 0.3f };
GLfloat gray_specular[] = { 0.1f, 0.1f, 0.1f };
GLfloat gray_shininess[]= { 1.0f };
glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT, gray_ambient);
glMaterialfv( GL_FRONT_AND_BACK, GL_DIFFUSE, gray_diffuse );
glMaterialfv( GL_FRONT_AND_BACK, GL_SPECULAR,gray_specular);
glMaterialfv( GL_FRONT_AND_BACK, GL_SHININESS, gray_shininess );
//模型
GLUquadric* gluPipeinWall;
gluPipeinWall = gluNewQuadric();
gluQuadricDrawStyle(gluPipeinWall, GLU_FILL);
gluQuadricNormals(gluPipeinWall, GLU_FLAT);
glRotatef(-90,0,1,0);
gluCylinder(gluPipeinWall, 21, 21, 90, 15, 30);
我是要绘制一个圆柱,实际应用时候由于端头是一个切口,圆柱必须按照旋转角增量值,一点一点的绘制,不能用其他工具导入。
提问:感觉在dialog里面的DC使用opengl与在 CView 的Dc绘图,比如光照,投影变换都不一样了,求高手指点
|