繁体   English   中英

OpenGL Lightning

[英]OpenGL Lightning

在OpenGL中启用照明后,线条和多边形中的颜色不再呈现。 (从glColor3f()创建颜色)

这是代码:

        glLightModelf(GL_LIGHT_MODEL_AMBIENT, GL_TRUE);
        GLfloat light1_position[] = { 5000, 2000, 1000,1 };
        glEnable(GL_LIGHT0);
        glLightfv(GL_LIGHT0, GL_POSITION, light1_position);
        GLfloat light_ambient[] = { 1,1,1,1 };
        glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
        glEnable(GL_LIGHTING);

我究竟做错了什么?

您必须在使用之前启用这些内容:

glEnable ( GL_LIGHTING);
glEnable( GL_COLOR_MATERIAL); 
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
glShadeModel( GL_SMOOTH);

您不必使用GL_SMOOTH ,也可以使用GL_FLAT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM