OpenGL
文章平均质量分 64
lcy930822
这个作者很懒,什么都没留下…
展开
-
OpenGL中三位物体的透明实现
想要画出透明物体就要先将后面的不透明物体按正常z-buffer算法画好,然后再将透明的物体叠合(而不是替换)到现有z-buffer上,要实现这个要求,就需要调用glDepthMask(GL_FALSE);函数,将深度缓冲区设置为只读形式。 具体在我的程序中的用法如下:vector TransparentFaces;for (vector::size_type nIndex = 0;原创 2012-11-24 02:05:03 · 1352 阅读 · 0 评论 -
OpenGL中的鼠标移动和锁定
在OpenGL的图形化界面中不可避免会使用到鼠标的操作,而想让视角跟着鼠标一起移动并不是一件方便的事。为了达到这个目的需要根据鼠标的移动不断地改变gluLookAt函数中传入的参数,以改变视角。而要使视角的变化与鼠标移动的方向大小均一致,需要进行一定的矩阵计算。为此我们自己写了个(三维)Vector类,实现了基本的向量运算,包括点乘(运算符重载*)和叉乘(OuterProduct函数),以及一个友原创 2012-11-24 02:36:12 · 3418 阅读 · 3 评论 -
OpenGL相关资源
最近在学习OpenGL相关编程,也到网上查了些资料,现将部分找到的认为好的资源放着备查 这是一个关于OpenGL光照的博客http://www.cppblog.com/zmj/archive/2006/01/17/2814.html 这是基本上涵盖了各个方面,说的也很详细http://www.cppblog.com/doing5552/archive/2009/01/08/转载 2012-11-24 01:50:26 · 377 阅读 · 0 评论 -
OpenGL中鼠标拾取
OpenGL中鼠标拾取的实现方式有很多种:1、用glPushName,glLoadName,glSelectBuffer和glRenderMode等系列函数通过OpenGL的绘制管线实现;2、在鼠标点击后迅速将不同的物体用不同的颜色绘制,根据鼠标点下的点颜色判断选中的物体,此方法在绘制速度慢或者物体过多时不适用; 3、通过几何关系计算是否选中,主要介绍这种方式:鼠标的点选给出了原创 2012-11-24 10:35:57 · 1204 阅读 · 0 评论