随笔分类 - 计算机图形学
摘要:OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。1、与C语言紧密结合。OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。2、强大的可移植性。微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并
阅读全文
摘要:第三节室内场景中光照运算关于Radiosity的算法最早是由Goral、CindyM、Torrance、KennethE、Greenberg、DonaldP、Battaile和Bennett在论文《Modellingtheinteractionoflightbetweendiffusesurfaces》提出的。他们使用Radiosity来模拟能量在漫反射表面之间进行传送,漫反射表面对照到表面上的光线在所有的方向上都进行相同的反射,和它相反的是镜面反射表面,它只在反射方向上传播反射光。由于漫反射表面的这个特性,这就意味着对于所有的观察角度而言看起来表面都是相同的,这样对于场景中的每一个表面只需要
阅读全文
摘要:我这个人非常懒,到现在也没有发表几篇文章,今天有一点时间贴上一些我翻译的文章.BSP技术作为室内引擎渲染的主流技术虽然已经存在多年,但是生命力仍然非常顽强,最新的DOOM3,HL2仍然将它作为渲染的主流技术,但是在网上对它介绍文章虽然多却非常浅显,大多是使用Q3的BSP文件进行渲染,而BSP文件如何产生则介绍非常少,盖因为这一部分是场景编辑器的工作,而完成一个这样的BSP编辑器是非常困难的,需要掌握的知识非常多.下面我将对BSP编辑器这一部分需要用到的BSP知识进行一下介绍,这只是一些很初步的知识,如希望了解更多的内容,Q2开源代码中有一个BSP编辑器的代码是你研究的重点,还有就是HL2泄露代
阅读全文
摘要:第二节隐藏面剔除 对不可见物体进行剔除是游戏行业为了满足提高画面渲染速度的要求而产生的一项技术,就是在硬件加速技术飞跃发展的今天,虽然现在已经可以完成许多在过去被认为是不可能实现的工作,但是对于隐藏面进行剔除仍是加速图形渲染的一项重要技术。通常当一个游戏运行的时候,它最少需要以每秒30帧的速度运行。在几年前这意味着如果每一帧你渲染的带纹理的多边形数量超过5000个就被认为是不可接受的,而现在几乎所有的商业显卡每一秒都可以渲染几千万个多边形。可是现在仍然需要使用隐藏面剔除这项技术,这是为什么呢?显而易见,对不可见物体渲染以后将会被可见物体遮挡住,这样做无谓的浪费了显卡的带宽,但是同时它也增加了.
阅读全文