gpt4 book ai didi

c++ - Open_GL 中的多边形 Material

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:05 25 4
gpt4 key购买 nike

我试图改变多边形的 Material ,但它不起作用,我不知道为什么,

多边形不受 GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR 和 GL_SHININESS 的影响。

GLfloat mat_ambient[] = { 1, 0.5, 0, 1.0 };
GLfloat mat_diffuse[] = { 0.4, 0.2, 0, 1.0 };
GLfloat mat_specular[] = { 0.774597, 0.774597, 0.774597, 1.0 };
GLfloat mat_shine = 0.6;

glMaterialfv (GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv (GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv (GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialf (GL_FRONT, GL_SHININESS, mat_shine * 128);


glPushMatrix();
glTranslatef(axeX, axeY, 0);
glRotatef(angle, 0, 0, 1);

glBegin(GL_POLYGON);

glNormal3f(0,0,1);
glVertex3f (-0.25, 0.5, 1.0);

glVertex3f (-0.5, 0.25, 1.0);

glVertex3f (-0.5, -0.25, 1.0);

glVertex3f (-0.25, -0.5, 1.0);

glVertex3f (0.25, -0.5, 1.0);

glVertex3f (0.5, -0.25, 1.0);

glVertex3f (0.5, 0.25, 1.0);

glVertex3f (0.25, 0.5, 1.0);

glEnd();
glPopMatrix();

最佳答案

确保您 glEnable(GL_COLOR_MATERIAL) 并且正如 ananthanonline 所建议的那样,确保已设置照明。

编辑:

抱歉,您可能需要, glDisable(GL_COLOR_MATERIAL)

因为启用它指定了每个顶点的着色。虽然考虑它,但它可能没有任何效果,因为您没有指定顶点颜色。

您能展示一下灯光的设置方式吗?您为镜面反射/漫反射等指定了哪些颜色?

关于c++ - Open_GL 中的多边形 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com