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

你可能感兴趣的:(C++,OpenGL,debug)