glDisable(GL_COLOR_MATERIAL)


今天调试一段OpenGL的代码花了很长时间,原因是设置了很多材质参数,但是无论如何调试,显示出来的结果都表示我的材质设置不起作用。

后来才发现在初始化的时候,输入完以下代码之后,需要再加一句很重要的命令 - glDisable(GL_COLOR_MATERIAL);

	glEnable(GL_DEPTH_TEST);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_NORMALIZE);
	glShadeModel(GL_SMOOTH);
	//[Important!!!]Disable color materials, so that glMaterial calls work
	glDisable(GL_COLOR_MATERIAL);


只有加了 glDisable(GL_COLOR_MATERIAL);这句命令之后,在其后输入的 glMaterialfv 和  glMaterialf等命令才会生效。

顺便推荐一个很不错的OpenGL Tutorial的网站:

http://www.videotutorialsrock.com/index.php


版权声明:本文为chenwk891原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。