在Windows下第一次使用glPointSize(),发现竟然没有效果orz……
在网上搜了一下,相关文章不多,也没找到答案。
我的代码是参考《计算机图形学》(Computer Graphics with OpenGL, 3e, by Donald Hearn, M. Pauline Baker)中的例子写的。glPointSize在glBegin()和glEnd()之间。书中特别说明,glPointSize()可以在其中使用,改变点的属性。
glBegin (GL_POINTS);
glVertex2i (50,100);
glPointSize (2.0);
glVertex2i (75, 150);
glPointSize (3.0);
glVertex2i (100, 200);
glEnd ();
可惜,根本用不了。
我尝试了一下,发觉把glPointSize()放在glBegin()和glEnd()之外,就可以了。不知道这是不是Windows下的特殊问题,总之有些不方便。
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
不但glPointSize(),像glLineWidth()这样的函数也不能用在glBegin()和glEnd()之间。
《OpenGL超级宝典》中明确说明“初学者必须注意,必须在glBegin()/glEnd()语句之外调用glPointSize()函数”。可见《计算机图形中》这段代码这错误的。