摘要:
纹理阴影实现的三种方法 ogre包含两种阴影实现技术,阴影体与阴影纹理. 阴影体需要主cpu计算出物体的轮廓,同时生成更多的多边形,会降低帧率 并且在骨骼蒙皮时,会存在问题(如果采用硬蒙皮,无法计算轮廓,软蒙皮则降低帧率) 纹理阴影只需要将几何体按不同的... 阅读全文
摘要:
水特效,但代码的名字却是 createHillPlaneMesh sin cos 波长 波动速度 每帧更新, 水面就是由许多点组成。分成若干块,每块贴上水纹理,以及水底的纹理(如水底的鹅卵石),双重纹理。(透明效果还得加入alph) 好像很简单? ... 阅读全文
摘要:
阴影体是一种动态阴影技术。 仔细一看,这玩意儿其实很简单。 利用的模拟缓冲的功能,把阴影体画进模板缓冲即可。 这要求计算出物体对着光线的轮廓。 本来觉得,怎么样高效地求出这个轮廓,发现irricht实现得非常简单,同时也意味着不够优化(笔者看的irri... 阅读全文
摘要:
irrlicht的代码关于法线贴图的范例即 PerPixelLighting。 程序准备资源部分, 先是一个砖墙普遍纹理,设到 text0 然后是一个法线纹理贴图,设到text1(中间经过处理,将对比度,转换成相应的法线数据) 然后是在COpe... 阅读全文
摘要:
光照涉及大量的浮点数运算。 ogre做了优化处理 对于场景中的每个光源,首先根据摄影机,做一遍过滤。即,无法影响视截体的光源去除 形成一个光源数组:mLightsAffectingFrustum 对于每一个渲染对象rendableObject(类名... 阅读全文
摘要:
不知道为什么,一调curl就飞, 于是在程序main加一个次调用(同时也调用了curl_init), 就不飞了。 猜想是因为多线程调用curl_init引起了。 总之,这么一弄,程序就不飞了。。。 linux下面很多开源库,是从单线程多进程时代流传... 阅读全文
摘要:
aas这块数据,从代码上来看,就是用于机器人寻路的。 quake根据bsp树来生成aas 这里简要说明一下bsp树,简单的说,就是利用场景中的每一个面,对空间进行分割(area)。 quake会计算每个空间的连勇性,这样就得到了cluster,每个相连... 阅读全文
摘要:
大概看了aas的reachability生成部分。 同样也是借助bsp树。 利用portal计算每个区域的可达性(分为是否需要爬梯,游戏,跳跃,或者直接走过去) area其实就是bsp树的叶子节点(经过合并,以及按重力方向进行分割,可以简单地认为就是bsp的叶... 阅读全文
摘要:
看了irrlicht 的一个碰撞检测demo, 里面导入了bsp, 但是看了相应的导入代码,发现没有导入bsp pvs数据。 /*! */ void CQ3LevelMesh::loadVisData(tBSPLump* l, io::IReadFile... 阅读全文
摘要:
看irrich代码,对里面的三角形碰撞检测代码一直搞不清楚,上网找到一篇文章,看样子,应该就是了相应的公式推导 原文链接: http://www.job168.com/info/read_88279.html 以下是原文(不知道作者是谁啊)... 阅读全文