
openGL
文章平均质量分 56
我来自江南
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
屏幕坐标到opengl世界坐标转换
很多人用OpenGL绘图会遇到一个问题即屏幕坐标向OpenGL坐标转换,在网上流传着如下类似的代码: GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLfloat转载 2011-08-24 23:11:41 · 11633 阅读 · 2 评论 -
屏幕坐标到opengl世界坐标转换
很多人用OpenGL绘图会遇到一个问题即屏幕坐标向OpenGL坐标转换,在网上流传着如下类似的代码: GLint viewport[4]; GLdouble modelview[16]; GLdouble projection[16]; GLfloat winX, winY, winZ; GLdouble posX, posY, posZ; glGetIn转载 2012-02-11 21:20:19 · 886 阅读 · 0 评论 -
gluLookAt()后面应该紧跟所要描绘的物体
gluLookAt()后面应该紧跟所要描绘的物体,才能实现预期的视角效果原创 2012-02-23 11:41:14 · 677 阅读 · 0 评论 -
glCullFace的等价的裁剪面设置
glCullFace(GL_FRONT); glFrontFace(GL_CW);与 glCullFace(GL_BACK); glFrontFace(GL_CCW);等价。原创 2012-02-23 13:36:03 · 649 阅读 · 0 评论 -
转载一个人对gluPerspective和gluLookAt的初学,想想当初自己……
http://hi.baidu.com/kkun/blog/item/d6c4fbed3f82ce4d79f0554c.html (个人先补充一点:gluLookAt影响的是Gl_modelView矩阵,也就是模型视图矩阵,与glTranslatef的变换影响是相当的,就是世界坐标系下的变换;而gluPerspective将模型视图矩阵与透视矩阵相乘,是将世界坐标系中的变换矩阵与透视矩阵相乘,转载 2012-02-23 11:05:51 · 606 阅读 · 0 评论 -
安装好cuda相关工具后发现原来基于mfc平台的opengl程序出现闪烁,最终解决
修改前,会闪烁,一开始以为是窗体view的OnEraseBkgnd函数无法禁止造成的,其实是像素格式的参数设置问题修改前,会闪烁的设置:// static PIXELFORMATDESCRIPTOR pfd={// sizeof(PIXELFORMATDESCRIPTOR),// 1,// PFD_DRAW_TO_WINDOW|PFD_SUPPORT_OPENGL原创 2012-02-17 18:46:31 · 1388 阅读 · 1 评论 -
OpenGL版本与OpenGL扩展机制
OpenGL版本比较1 opengl的版本区别(在opengl官方文档中有详细说明)针对Opengl不同版本的升级是主要是扩展指令集。1.1 opengl1.11995年,SGI推出了更为完善的OpenGL 1.1版本。OpenGL 1.1的性能比1.0版提高甚多。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、转载 2012-02-18 08:35:09 · 907 阅读 · 0 评论 -
解决如何使用opengl超级宝典中实例代码及shared文件夹里的库
一、首先我们看看遇到的问题,我系统配置就是win7+vs2008。如果直接运行实例代码中的project,比如“\examples\projects\microsoft\chapt11\SphereWorld )”,会出现如下编译错误>..\..\..\..\src\shared\gltools.cpp(125) : error C2065: 'glCreateProgramObjectARB原创 2012-04-26 10:06:42 · 4022 阅读 · 3 评论 -
关于使用VBO技术注意问题1
// 使用缓冲区 glEnableClientState(GL_NORMAL_ARRAY); glEnableClientState( GL_VERTEX_ARRAY ); glEnableClientState( GL_TEXTURE_COORD_ARRAY ); glBindBufferARB(GL_ARRAY_BUFFER_ARB,ve原创 2012-05-24 10:47:18 · 1092 阅读 · 0 评论 -
关于使用cvSobel 和 cvCanny 内存问题
(1)关于cvSobel IplImage *dstimg=cvCreateImage(isize,IPL_DEPTH_8U,1); cvSobel(srcgray,dstimg,0,1,7);cvSobel出错,精细看看未曾问题啊。其实,这里是问题的,因为以Sobel措施求完导数后会有负值,还有会大于255的值而你建的Sobel的图像是 IPL_DEPTH_8U,也即便8位无符号数,因而原创 2012-01-17 16:17:07 · 2103 阅读 · 0 评论 -
对opengl模板缓冲原理小感
这篇文章是针对在你看了书本或者其他资料对opengl模板原理的一般性介绍后但又不理解模板到底是怎么工作的情况而写的,所有相关函数的原型及参数不再做详细介绍。 opengl的模板就像是挡在屏幕前的一块挡板,如果挡板是透明的,则可以看到整个屏幕的图像,如果是部分透明部分不透明,则只可以看到透明部分的屏幕图像。为了抛弃书本或其他叙述性文字的笼统介绍,这里从代码解析角度分析,相信更能让人明白模板的原创 2011-11-19 21:23:03 · 3981 阅读 · 3 评论 -
关于网格化tessellation的理解和问题
首先网格化的步骤为(代码示意)GLUtesselator *pTessLator;pTessLator=gluNewTess(); //创建网格化对象gluTessCallback(pTessLator,GLU_TESS_BEGIN,(void (__stdcall *)())glBegin);//设置回调函数gluTessCallback(pTessLator,GLU_TESS_原创 2011-10-15 14:03:15 · 1655 阅读 · 0 评论 -
在显示opengl三维场景的屏幕上也就是windows窗体上画线
问题是这样的:一般在MFC项目里的窗体视图上将想要显示的对象显示出来后,还可以在上面画一些图形比如直线三角形而不改变之前已经绘制好的东西。但是mfc项目结合opengl后,也就是将opengl的三位场景通过投影变换显示在窗体视图上之后,在窗体上用鼠标绘制图形就会将已绘制好的ope原创 2011-08-27 21:46:34 · 4261 阅读 · 2 评论 -
通过屏幕鼠标绘制opengl三维场景图形
举个例子,要在三维场景中画三角形。想通过获取三个opengl坐标点在三维场景中画三角形。先看下面glPushMatrix(); gluLookAt(4.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0,0.0); glScale原创 2011-08-27 12:41:11 · 4395 阅读 · 1 评论 -
OpenGL中查询模型视图(Model View)矩阵中的数据
可以定义一个数组 GLfloat mat[16],然后使用 glGetFloatv(GL_MODELVIEW_MATRIX,mat);它可以将模型视图矩阵中的16个数值复制到mat[]中。M[i][j]复制到元素mat[4j+i]中,其中i,j=0=0,1,2,3。转载 2011-08-30 17:23:09 · 1603 阅读 · 1 评论 -
裁减平面坐标的设定
通过函数gluUnProject()得到三个坐标点P1,P2,P3确定裁剪平面的问题,如果你是要基于物体坐标系(世界坐标)做裁剪,那么请不用看后文了; 如果你是在视觉坐标系下做裁剪那么请看后文,因为这三个点很有可能是在已经发生视图变换之后的坐标系下获取的反投影坐标原创 2011-08-30 23:38:45 · 760 阅读 · 0 评论 -
OpenGL网格化回调函数问题解决方案
使用平台MFC部分代码: GLUtesselator* m_pTess; //1.2版本以上的OPENGL库的GLUtesselator m_pTess = gluNewTess(); gluTessCallback(m_pTess, GLU_T转载 2011-10-13 23:32:54 · 1583 阅读 · 0 评论 -
opengl 背景色设置
结合以下两个函数void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 和void glClear(原创 2011-10-14 11:31:45 · 8795 阅读 · 0 评论 -
glShadeModel,glClearDepth,glHint
http://blog.chinaunix.net/space.php?uid=11353969&do=blog&id=1741407glShadeModel,glClearDepth (2011-07-18 12:59) 标签: target blank转载 2011-10-15 11:42:33 · 1354 阅读 · 0 评论 -
gluPerspective和gluLookAt的关系
出自 http://www.cppblog.com/percyph/archive/2009/04/01/78537.html 函数原型gluLookAt(GLdoble eyex,GLdouble eyey,GLdouble eyez,GLdouble center转载 2011-10-11 14:06:36 · 615 阅读 · 0 评论 -
创建opengl纹理的函数调用顺序
要使用opengl纹理需要按一下顺序步骤:1.初始化opengl环境,比如glutinit等函数的调用;(这点很重要,否则后面的glGeneratTexs函数会失败)2.使用glgenerattex函数获得设备提供纹理名称3.加载纹理图片。并绑定生成纹理4.激活纹理glEnable(GL_TEXTURE_2D)原创 2012-06-12 14:53:52 · 866 阅读 · 0 评论