opengl中 glutIdleFunc(myidle)的用法?这个程序为什么实现不了旋转???

作者&投稿:潜歪 (若有异议请与网页底部的电邮联系)
glutIdleFunc()的用法:~

void glutIdleFunc(void (*func)(void));

你可以试试调用Windows的多媒体时钟,可以获得Windows时间。也就是说如果你把系统的1s“延长”,旋转就可以变慢。可能不太好,我只是猜想

..画面应该会动吧???
点的位置应该这样吧
glBegin(GL_POLYGON);
glVertex2f(sin(DEG_TO_RAD*theta),cos(DEG_TO_RAD*theta));
glVertex2f(-sin(DEG_TO_RAD*(theta-90)),cos(DEG_TO_RAD*(theta-90)));
glVertex2f(-sin(DEG_TO_RAD*theta),-cos(DEG_TO_RAD*theta));
glVertex2f(sin(DEG_TO_RAD*(theta+90)),-cos(DEG_TO_RAD*(theta+90)));
glEnd();


宣恩县19637842960: OpenGL 单缓冲GLUT - SINGLE的使用(追加10分) -
从庆十五: 查一下你的绘图语句顺序,清屏幕/缓冲,绘图,(单缓冲的图要让它停留一段时间,不要马上又清屏幕/缓冲).双缓冲,绘图在背景buffer,显示在前景buffer,通过glutSwapBuffers();把背景内容传给前景显示,它有了一个停留时间,所以能看见.单缓冲,屏幕显示会有图形跳动(闪烁)问题,用双缓冲能消除闪烁,一般动画要用双缓冲.

宣恩县19637842960: 在OpenGL中,要使光照效果正常,需要指定模型的法向量.如果试验中利用glut函数显 -
从庆十五: 不会得到正常的效果只会有环境光有显示散射光是不起作用的.希望可以帮助你,一半球体的法向量就是其定点数组就可以,因为球中心为center 球面上任意点为P 那么该点的法向量就是P-center

宣恩县19637842960: 请问,OpenGl中的glutinit作为初始化函数,参数为main函数的参数,是传递什么参数进去都可以吗??? -
从庆十五: main函数的参数是操作系统传的,你不用管,参数直接原样丢给glutinit就可以了.至于这个参数的用途,就得看你程序怎么写了.比如说一个播放器,你直接双击运行它就只是运行EXE文件,不执行其它操作,如果你拖一个视频到播放器的图标上,那么在运行EXE后它还会自动打开这个视频文件进行播放.至于glutinit会干些什么,这个我也不清楚.

宣恩县19637842960: GLUT/freeglut 是什么?OpenGL 和它们有什么关系 -
从庆十五: glut 是为了让你方便在pc上做实验.做简单的小demo 而存在的 小型图像函数库. 可以帮你搭建一个opengl绘制框架.换句话说,他就是个小型代步工具

宣恩县19637842960: OpenGL编程,运行程序时出现下图中的提示.说是glut.dll文件丢失,但我system32文件下是有的 -
从庆十五: 你的系统是64位的吗?据说不同位数的系统的DLL文件是不一样的…………据说而已.最好的方法就是直接把DLL文件放到编译完的执行文件下.

宣恩县19637842960: OpenGL中glRectf的问题,矩形画不出来,但是改为glRectf( - 0.5f, - 0.5f, 0.5f, 0.5f);又可以画出来 -
从庆十五: 你的窗口默认的坐标系是-1~1的,大于这个值都会被裁剪掉 你填100*50,其实它画了,但是超出1的部分被剪掉了,呈现在你窗口上的就是整个屏幕都是那个矩形的颜色了

宣恩县19637842960: openGL中glutReshapeFunc与glutDisplayFunc的区别 -
从庆十五: glutReshapeFunc是窗口改变的时候调用的函数,在这个里面可以根据缩放后的窗口重新设置 camera的内部参数,比如横纵比啥的,而glutDisplayFunc是显示的时候调用,可见改变窗口后 调用glutReshapeFunc后还是会调用glutDisplayFunc进行...

宣恩县19637842960: opengl中 glutIdleFunc(myidle)的用法?这个程序为什么实现不了旋转??? -
从庆十五: ..画面应该会动吧???点的位置应该这样吧 glBegin(GL_POLYGON); glVertex2f(sin(DEG_TO_RAD*theta),cos(DEG_TO_RAD*theta)); glVertex2f(-sin(DEG_TO_RAD*(theta-90)),cos(DEG_TO_RAD*(theta-90))); glVertex2f(-sin(DEG_TO_RAD*theta),-cos(DEG_TO_RAD*theta)); glVertex2f(sin(DEG_TO_RAD*(theta+90)),-cos(DEG_TO_RAD*(theta+90))); glEnd();

宣恩县19637842960: opengl里面的gluttimerfunc函数为什么会越来越快 -
从庆十五: 我感觉是这样的:你在SpecialKeys方法的末尾调用glutTimerFunc,感觉每按一次箭头就会触发一个新的计时器,最后可能是n个计时器同时刷新就会越来越快.如果是我的话,我会在main里触发一个计时器,然后键盘函数里只是去初始化下运动状态.

宣恩县19637842960: 为什么OpenGL中要用GLfloat而不用float,两者有什么区别呢? -
从庆十五: int,float 和 GLint,GLfloat 它们是一样的. 但是用 float ,编译器不同,内存大小可能设为32 or 64 位的,用GLfloat 就不会出现这种问题..typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网