随笔分类 - OpenGL
摘要:写了个程序,运行很慢,帧率很低,不知道什么原因,以为程序代码太多,执行太慢,经过不断的调试和验证,才弄明白。现在记录一下:在glut函数中: 通过函数glutDisplayFunc(Draw);来设置需要显示的画面函数,虽然函数中有glutSwapBuffers();和glFlush();函数来刷新输出,但不会不断进行刷新。 如果需要不断刷新,则需要进行如下设置: glutDisplayFunc(Draw); glutIdleFunc(Draw); //增加idle时候的函数但是这样的话,如果函数内容不多,则会刷新过快。于是要通过glut的定时器函数来控制帧率,定时进行glutPostRedi
        阅读全文
                
摘要:http://blog.csdn.net/wuyong2k/article/details/7839973目录(?)[-]检测鼠标单击检测动作检测鼠标进入或离开窗口应用检测鼠标单击要想在OpenGL中处理鼠标事件非常的方便,GLUT已经为我们的注册好了函数,只要我们提供一个方法。使用函数glutMouseFunc,就可以帮我们注册我们的函数,这样当发生鼠标事件时就会自动调用我们的方法。函数的原型是:void glutMouseFunc(void(*func)(int button,int state,int x,int y));参数:func:处理鼠标click事件的函数的函数名。从上面可以看
        阅读全文
                
摘要:http://www.ilovematlab.cn/thread-30611-1-1.htmlhttp://www.labfans.com/bbs/t4889/http://zerfew.blog.163.com/blog/static/193810169201237101245187/
        阅读全文
                
摘要:通常三维图形应用程序使用两种笛卡尔坐标系:左手系和右手系。在这两种坐标系中,正x轴指向右面,正y轴指向上面。通过沿正x轴方向到正y轴方向握拳,大姆指的指向就是相应坐标系统的正z轴的指向。下图显示了这两种坐标系统。opengl使用的是右手系,direct3D使用的是左手系。
        阅读全文
                
摘要://------------------------------------------------------------------------------ // Copyright (c) 2009 eryar All rights reserved. // // File : Main.cpp // Author : eryar@163.com // Date : 2009-9-18 23:04 // Version : 1.0v // // Description : // //=====================================================
        阅读全文
                
摘要:http://blog.csdn.net/alexcrazy/article/details/7060755
        阅读全文
                
摘要:http://hi.baidu.com/ionnhelsbpcevze/item/76c5020453f18212cc34ea90
        阅读全文
                
摘要:http://www.c3dn.net/archiver/?tid-48.html想象一下,我们在原始森林里寻找宝藏,没有地图,没有GPS,那结果应该只有一种:不但找不到目标地点,而且很容易迷失方向。同样,在OpenGL绘制的场景中漫游,往往只能看到局部的场景,而无法确定自己现在处于大场景中哪个位置。所以,一个具有定位功能的GPS是十分必要的。 接下来,我们也基于OpenGL和MFC开发一个简约版的GPS,以便实时指示我们漫游时当前所在的位置。实现效果如下: 实现技术:VC++ 、MFC、GDI、OpenGL实现步骤:1.在MFC下实现漫游 (1).建立MFC单文档项目,配置OpenGL环境 
        阅读全文
                
摘要:void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar )near 和 far 决定了投影参考点与裁剪窗口的距离,fovy决定了裁剪窗口的高度,还有个参数 aspect 确定了裁剪窗口的长宽比例。所以fovy越大,裁剪窗口越大,相对的裁剪窗口中的物体就越小。这个函数原型为: void glFrustum(GLdouble left,GLdouble Right,GLdouble bottom,GLdouble top, GLdouble near,GLdouble fa...
        阅读全文
                
摘要:每个元素(像素)的颜色通道数量.可以是 1, 2, 3 或 4.通道是交叉存取的,例如通常的彩色图像数据排列是: b0 g0 r0 b1 g1 r1 ...
        阅读全文
                
摘要:最近在学习3D模型方面的知识,先是大致调研了一些流行的3D格式,调研结果见这里。无意间发现了本专门讲这个主题的书Focus on 3D Models,讲得挺不错,推荐下。3D模型是一个挺有意思的技术主题。在2D游戏中,我们全部靠类似于GameLoft的AuroraGT,这样的动画编辑器,搞定角色的样子和场景中大部分物体。其实用到的技术点很简单:纹理贴图而已,没啥复杂的东西。进入到3D模型里面,才真正领会到图形学的魅力,明白为啥图形学里结合了数学和物理的知识。有图有真相,先看下面一张图:可以看出,通过一些面(三角形,多边形,曲面,多为三角形)去构造一个人物的立体轮廓,但是,如何能让这个人物看着更
        阅读全文
                
摘要:http://bbs.csdn.net/topics/350262536
        阅读全文
                
摘要:前几天换了个64位的系统,之后安装了VS2008,准备在VS2008中玩OpenGL,在配置环境的时候,使用了之前在32位window xp系统中使用的glut lib和glut dll,最后写了一个简单的openGL程序测试了一下,提示了下面的错误信息:无法定位程序输入点_glutCreateWindowWithExit于动态链接库glut32.dll上对应的英文错误信息为:The procedure entry point __glutCreateWindowWithExit could not be located in the dynamic link library glut32.d
        阅读全文
                
摘要:摘自:http://zhidao.baidu.com/question/145477958.htmlOpenGL单缓冲与双缓冲的区别(追加10分)最佳答案单缓冲,实际上就是将所有的绘图指令在窗口上执行,就是直接在窗口上绘图,这样的绘图效率是比较慢的,如果使用单缓冲,而电脑比较慢,你回到屏幕的闪烁。双缓冲,实际上的绘图指令是在一个缓冲区完成,这里的绘图非常的快,在绘图指令完成之后,再通过交换指令把完成的图形立即显示在屏幕上,这就避免了出现绘图的不完整,同时效率很高。一般用OpenGL绘图都是用双缓冲,单缓冲一般只用于显示单独的一副非动态的图像http://thatax.blog.163.com/
        阅读全文
                
摘要:#include <windows.h> // Windows的头文件#include <gl\gl.h> // OpenGL32库的头文件#include <gl\glu.h> // GLu32库的头文件#include <gl\glaux.h> // GLaux库的头文件#include <gl\glut.h> // Glut库头文件#pragma comment( lib, "opengl32.lib") // OpenGL32连接库#pragma comment( lib, "glu32.lib&
        阅读全文
                
摘要:GLUT允许我们编写程序,在里面加入键盘输入控制,包括了普通键,和其他特殊键(如F1,UP)。在这一章里我们将学习如何去检测哪个键被按下,可以从GLUT里得到些什么信息,和如何处理键盘输入。到现在,你应该注意到了,只要你想控制一个事件的处理,你就必须提前告诉GLUT,哪个函数将完成这个任务。到现在为止,我们已经使用GLUT告诉窗口系统,当窗口重绘时我们想调用哪个渲染函数,但系统空闲时,哪个函数被调用。和当窗口大小改变时,哪个函数又将被调用。相似的,我们必须做同样的事来处理按键消息。我们必须使用GLUT通知窗口系统,当某个键被按下时,哪个函数将完成所要求的操作。我们同样是调用一个函数注册相关的回
        阅读全文
                
摘要:A <--------> 65 B <--------> 66 C <--------> 67 D <--------> 68E <--------> 69 F <--------> 70 G <--------> 71 H <--------> 72I <--------> 73 J <--------> 74 K <--------> 75 L <--------> 76M <--------> 77 N <-------->
        阅读全文
                
摘要:帧缓存操作,查询函数,窗口初始化和启动事件处理,窗口管理,菜单管理,注册回调函数,几何图形绘制1.7 帧缓存操作1. glClearColor:设置颜色缓存的清除值C语言描述 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);参数red,green,blue,alpha 指定清除颜色缓存时所使用的红、绿、蓝和alpha值。说明 指定由glClear清除颜色缓存时所使用的红、绿、蓝和alpha值,指定值的范围固定为[0.0f,1.0f]。2. glClear:将缓存清除为预先的设置值C语言描述vo
        阅读全文
                
摘要:使用快捷键在很多情况下,会提高我们的编程效率;在编程时我经常会同事运行vs2010编码、sql server2008编写和查看数据库、IE9查询资料;下面总结如下(红色代表经常用到的):----------------------------------------------vs2010快捷键----------------------------------------------首先进入【工具】->【选项】->【环境】->【键盘】;设置“应用以下其他键盘映射方案(M)”下面的选框为“Visual C# 2005”,也可以点击右边的"重置(E)"按钮,
        阅读全文
                
摘要:光照、材质、纹理的关系?它们的关系的确不好描述。1.材质与纹理:1) 纹理?纹理是这个物体具体的表现形状。通过贴图反映,你可以认为它是物体的本来颜色或图案(或外在属性)。所以,光照与纹理是没什么关系的,我们主要关注的应该是光照与材质的关系。2) 材质?是某种物质自身对光线的各种反应状况。材质反应了物体的物理属性(或内在属性),没有材质,计算机就不知道这个物体要反射什么光。3) 联系:很多时候材质和纹理被混为一谈,因为在真实的世界中,材质和纹理是一回事。A. 真实世界中,人眼看到的纹理实际上是喷涂在物体表面的不同性质的油墨(对印刷品而言)反应出来的,如比一块木头上面有花纹,虽然整块都是木头,但是
        阅读全文
                
                    
                
浙公网安备 33010602011771号