windous xp里边的cull off怎样下载

1594人阅读
OpenGL(281)
GLUT(The openGL Utility Toolkit),openGL实用工具箱,是一个与窗口系统无关的openGL编程工具箱.&最早由Mark Robins编写.它实现了一个简单的窗口应用程序接口,使用它可以更加轻松的学习openGL,让我们集中注意力在openGL上,而不必关心所在的窗口系统.GLUT提供了可移植的API,所以你可以编写出在所有PC和工作站平台上都可以运行的openGL程序.GLUT是设计用来构建小型的openGL程序.GLUT非常适合用来学习openGL和开发简单的openGL程序.GLUT不是一个功能完备的工具箱.所以需要复杂用户接口的大型应用最好是用与窗口系统有关的工具箱.The current version of the GLUT API is 3.The current source code distribution is GLUT 3.7.The toolkit supports: Multiple windows for OpenGL rendering Callback driven event processing Sophisticated input devices An 'idle' routine and timers A simple, cascading pop-up menu facility Utility routines to generate various solid and wire frame objects Support for bitmap and stroke fonts Miscellaneous window management functions GLUT的WIN32(Windows 95,98,Me,NT,2000,XP)版本由by Nate Robins编写,现在的版本是3.7.6.简单的GLUT程序构造:(利用SOURCE INSIGHT 3.5 生成)&程序的大致过程如下:GLUT初始化和设置显示模式初始化窗口信息注册回调函数进入事件处理循环定义回调函数GLUT初始化:GLUTAPI&void&GLUTAPIENTRY&glutInit(int&*argcp,&char&**argv);&设置显示模式:GLUTAPI&void&GLUTAPIENTRY&glutInitDisplayMode(unsigned&int&mode);初始化窗口信息:GLUTAPI&void&GLUTAPIENTRY&glutInitWindowSize(int&width,&int&height);GLUTAPI&void&GLUTAPIENTRY&glutInitWindowPosition(int&x,&int&y);GLUTAPI&int&GLUTAPIENTRY&glutCreateWindow(const&char&*title);&&& /* and so on */注册回调函数:GLUTAPI&void&GLUTAPIENTRY&glutDisplayFunc(void&(GLUTCALLBACK&*func)(void));GLUTAPI&void&GLUTAPIENTRY&glutReshapeFunc(void&(GLUTCALLBACK&*func)(int&width,&int&height));GLUTAPI&void&GLUTAPIENTRY&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&glutKeyboardFunc(void&(GLUTCALLBACK&*func)(unsigned&char&key,&int&x,&int&y));GLUTAPI&void&GLUTAPIENTRY&glutIdleFunc(void&(GLUTCALLBACK&*func)(void));&&& /* and so on */&进入事件处理循环GLUTAPI&void&GLUTAPIENTRY&glutMainLoop(void);定义回调函数&/*&你的回调函数&*/实例,来自于DEV C++ 的默认的GLUT工程./**//*&*&FreeGLUT&Shapes&Demo&*&*&Written&by&Nigel&Stewart&November&2003&*&*&This&program&is&test&harness&for&the&sphere,&cone&&*&and&torus&shapes&in&FreeGLUT.&*&*&Spinning&wireframe&and&smooth&shaded&shapes&are&*&displayed&until&the&ESC&or&q&key&is&pressed.&&The&*&number&of&geometry&stacks&and&slices&can&be&adjusted&*&using&the&+&and&-&keys.&*/#include&&GL/glut.h&#include&&stdlib.h&static&int&slices&=&16;static&int&stacks&=&16;/**//*&GLUT&callback&Handlers&*/static&void&resize(int&width,&int&height)...{&&&&const&float&ar&=&(float)&width&/&(float)&&&&&&&&&glViewport(0,&0,&width,&height);&&&&glMatrixMode(GL_PROJECTION);&&&&glLoadIdentity();&&&&glFrustum(-ar,&ar,&-1.0,&1.0,&2.0,&100.0);&&&&&&&&glMatrixMode(GL_MODELVIEW);&&&&glLoadIdentity()&;}static&void&display(void)...{&&&&const&double&t&=&glutGet(GLUT_ELAPSED_TIME)&/&1000.0;&&&&const&double&a&=&t*90.0;&&&&glClear(GL_COLOR_BUFFER_BIT&|&GL_DEPTH_BUFFER_BIT);&&&&glColor3d(1,0,0);&&&&glPushMatrix();&&&&&&&&glTranslated(-2.4,1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutSolidSphere(1,slices,stacks);&&&&glPopMatrix();&&&&glPushMatrix();&&&&&&&&glTranslated(0,1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutSolidCone(1,1,slices,stacks);&&&&glPopMatrix();&&&&glPushMatrix();&&&&&&&&glTranslated(2.4,1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutSolidTorus(0.2,0.8,slices,stacks);&&&&glPopMatrix();&&&&glPushMatrix();&&&&&&&&glTranslated(-2.4,-1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutWireSphere(1,slices,stacks);&&&&glPopMatrix();&&&&glPushMatrix();&&&&&&&&glTranslated(0,-1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutWireCone(1,1,slices,stacks);&&&&glPopMatrix();&&&&glPushMatrix();&&&&&&&&glTranslated(2.4,-1.2,-6);&&&&&&&&glRotated(60,1,0,0);&&&&&&&&glRotated(a,0,0,1);&&&&&&&&glutWireTorus(0.2,0.8,slices,stacks);&&&&glPopMatrix();&&&&glutSwapBuffers();}static&void&key(unsigned&char&key,&int&x,&int&y)...{&&&&switch&(key)&&&&&...{&&&&&&&&case&27&:&&&&&&&&&case&'q':&&&&&&&&&&&&exit(0);&&&&&&&&&&&&break;&&&&&&&&case&'+':&&&&&&&&&&&&slices++;&&&&&&&&&&&&stacks++;&&&&&&&&&&&&break;&&&&&&&&case&'-':&&&&&&&&&&&&if&(slices&3&&&&stacks&3)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&slices--;&&&&&&&&&&&&&&&&stacks--;&&&&&&&&&&&&}&&&&&&&&&&&&break;&&&&}&&&&glutPostRedisplay();}static&void&idle(void)...{&&&&glutPostRedisplay();}const&GLfloat&light_ambient[]&&=&...{&0.0f,&0.0f,&0.0f,&1.0f&};const&GLfloat&light_diffuse[]&&=&...{&1.0f,&1.0f,&1.0f,&1.0f&};const&GLfloat&light_specular[]&=&...{&1.0f,&1.0f,&1.0f,&1.0f&};const&GLfloat&light_position[]&=&...{&2.0f,&5.0f,&5.0f,&0.0f&};const&GLfloat&mat_ambient[]&&&&=&...{&0.7f,&0.7f,&0.7f,&1.0f&};const&GLfloat&mat_diffuse[]&&&&=&...{&0.8f,&0.8f,&0.8f,&1.0f&};const&GLfloat&mat_specular[]&&&=&...{&1.0f,&1.0f,&1.0f,&1.0f&};const&GLfloat&high_shininess[]&=&...{&100.0f&};/**//*&Program&entry&point&*/int&main(int&argc,&char&*argv[])...{&&&&glutInit(&argc,&argv);&&&&glutInitWindowSize(640,480);&&&&glutInitWindowPosition(10,10);&&&&glutInitDisplayMode(GLUT_RGB&|&GLUT_DOUBLE&|&GLUT_DEPTH);&&&&glutCreateWindow(&FreeGLUT&Shapes&);&&&&glutReshapeFunc(resize);&&&&glutDisplayFunc(display);&&&&glutKeyboardFunc(key);&&&&glutIdleFunc(idle);&&&&glClearColor(1,1,1,1);&&&&glEnable(GL_CULL_FACE);&&&&glCullFace(GL_BACK);&&&&glEnable(GL_DEPTH_TEST);&&&&glDepthFunc(GL_LESS);&&&&glEnable(GL_LIGHT0);&&&&glEnable(GL_NORMALIZE);&&&&glEnable(GL_COLOR_MATERIAL);&&&&glEnable(GL_LIGHTING);&&&&glLightfv(GL_LIGHT0,&GL_AMBIENT,&&light_ambient);&&&&glLightfv(GL_LIGHT0,&GL_DIFFUSE,&&light_diffuse);&&&&glLightfv(GL_LIGHT0,&GL_SPECULAR,&light_specular);&&&&glLightfv(GL_LIGHT0,&GL_POSITION,&light_position);&&&&glMaterialfv(GL_FRONT,&GL_AMBIENT,&&&mat_ambient);&&&&glMaterialfv(GL_FRONT,&GL_DIFFUSE,&&&mat_diffuse);&&&&glMaterialfv(GL_FRONT,&GL_SPECULAR,&&mat_specular);&&&&glMaterialfv(GL_FRONT,&GL_SHININESS,&high_shininess);&&&&glutMainLoop();&&&&return&EXIT_SUCCESS;}
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9010538次
积分:100295
积分:100295
排名:第7名
原创:1131篇
转载:2971篇
评论:1382条
(2)(6)(2)(4)(10)(2)(3)(13)(13)(4)(9)(62)(16)(8)(23)(9)(37)(73)(34)(31)(120)(128)(183)(23)(69)(75)(1)(171)(33)(148)(168)(145)(27)(144)(139)(207)(61)(59)(10)(10)(32)(2)(7)(34)(24)(9)(39)(25)(32)(46)(20)(44)(8)(21)(43)(49)(100)(113)(136)(35)(55)(15)(29)(41)(15)(50)(17)(20)(182)(206)(43)(27)(19)(17)(13)(1)(40)(5)(3)(4)(21)(71)(73)(19)(2)(2)(1)(1)(1)(6)(3)}

我要回帖

更多关于 cull 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信