如下一段代码:
// Initialize the names stack
glInitNames();
glPushName(0);
// Draw the Earth
glPushMatrix();
glRGB(0,0,255);
glTranslatef(-100.0f,0.0f,0.0f);
glLoadName(EARTH);
glutSolidSphere(30.0f, 15, 15);
// Draw the Moon
glTranslatef(45.0f, 0.0f, 0.0f);
glRGB(220,220,220);
glPushName(MOON1); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对
glPopMatrix(); // Draw Mars
glRGB(255,0,0);
glPushMatrix();
glTranslatef(100.0f, 0.0f, 0.0f);
glLoadName(MARS); //为什么不使用一个push---pop函数对
glutSolidSphere(20.0f, 15, 15); // Draw Moon1
glTranslatef(-40.0f, 40.0f, 0.0f);
glRGB(220,220,220);
glPushName(MOON1); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对 // Draw Moon2
glTranslatef(0.0f, -80.0f, 0.0f);
glPushName(MOON2); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对
glPopMatrix();
// Initialize the names stack
glInitNames();
glPushName(0);
// Draw the Earth
glPushMatrix();
glRGB(0,0,255);
glTranslatef(-100.0f,0.0f,0.0f);
glLoadName(EARTH);
glutSolidSphere(30.0f, 15, 15);
// Draw the Moon
glTranslatef(45.0f, 0.0f, 0.0f);
glRGB(220,220,220);
glPushName(MOON1); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对
glPopMatrix(); // Draw Mars
glRGB(255,0,0);
glPushMatrix();
glTranslatef(100.0f, 0.0f, 0.0f);
glLoadName(MARS); //为什么不使用一个push---pop函数对
glutSolidSphere(20.0f, 15, 15); // Draw Moon1
glTranslatef(-40.0f, 40.0f, 0.0f);
glRGB(220,220,220);
glPushName(MOON1); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对 // Draw Moon2
glTranslatef(0.0f, -80.0f, 0.0f);
glPushName(MOON2); //为什么使用一个push---pop函数对
glutSolidSphere(5.0f, 15, 15);
glPopName(); //为什么使用一个push---pop函数对
glPopMatrix();
整车/发动机/气缸总成/活塞你根据这个stack,即便名字重复,比如说,活塞可以用在其他地方,系统中有多个活塞,
你也可以根据 stack里面记录的名字路径,来判别这个活塞到底是哪一个活塞。所以,stack方法是很先进的。
============================================================================
提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
http://alphasun.betajin.com/ 遇到问题可以给我发消息,给我发信息时请附带原帖地址
DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析