|
书上说glLoadName函数的作用是替换堆栈顶部的那个值,glPushName函数是往名字堆栈中压入一个新的名字,那么比如下面的代码,调用了,glLoadName(0)后,再调用glLoadName(1),那么原先的在堆栈顶部的那个0不是就被1给替换掉了吗???这样怎么去识别用0命名的那个物体呢???求解。。。希望高手彻底讲些下着两个函数的区别
glLoadName( 0 );
glutWireSphere( 1.0, 15, 15 );
glLoadName( 1 );
glutWireCube( 1.5 );
glLoadName( 2 );
glutWireCone( 1.0, 1.5, 20, 20 );
glLoadName( 3 );
glutWireTorus( 0.5, 0.75, 20, 20 );
还有就是宝典上的交互式图形那章,关于绘制卫星的那个程序,
glPushName(MOON1);
DrawSphere(5.0);
glPopName();
这个地方为什么要glPopName啊?????各种不理解望大虾指教 |
|