随笔分类 -  计算机图形学

Sponsored Feature: Common Performance Issues in Game Programming
摘要:转自http://www.gamasutra.com/view/feature/132084/sponsored_feature_common_.php?print=1By Becky Heineman[In this technical article, part of Microsoft'sXNA-related Gamasutra microsite, XNA Developer Connection staffer and Interplay co-founder Becky Heineman gives tips on avoiding the 'Load-Hit-S 阅读全文

posted @ 2014-04-12 14:48 水煮鱼丸 阅读(214) 评论(0) 推荐(0) 编辑

时隔一年,又看延迟渲染
摘要:今天在看“Game Engine Architecture”的时候看到了延迟渲染,不禁感慨感觉时间过的好快。去年的这个时候,我在看unity3d文档的时候,看到了延迟渲染,顺着它作了一些了解,这算是我正儿八经了解的第一个图形学算法吧(本科学的光栅图形学除外)。当时看的挺吃力的,专业术语一个一个去网上查,另外,由于对于可编程管线的了解不够,很多东西都处于似懂非懂的状态;半年后,在看"Real-Time Rendering(3rd Edition)"的时候又看到了延迟渲染,由于基础上来了,感觉理解顺畅多了;这一次再看,基本上就是复习下。回头看去,感觉这一年学到了不少东东,过的还 阅读全文

posted @ 2014-04-05 15:03 水煮鱼丸 阅读(379) 评论(0) 推荐(1) 编辑

DirectX考试判卷心得
摘要:今天帮老师判《三维图形程序设计》的试卷,这门课开卷考,用的教材是段菲翻译的DX9的龙书。判卷过程中发现有两道题虽然不难,但是错的比较多: 1、Direct3D中深度缓冲区中值的范围? A.0-1 B.可以任意设置 C.取近平面远平面的值 2、Direct3D支持三类光源为点光源、方向光和聚光灯。第一题 我仔细看了龙书,也没找到直接答案(感谢@xiaofeii的提醒,其实有答案),但是如果对投影变换内部原理理解比较深入的话,也是可以很容易得到这个答案的。龙书的绘制流水线如图1所示,这个比较利于初学者理解,比较专业绘制流水线如图2所示,可以发现图1其实是对图2的... 阅读全文

posted @ 2014-01-16 21:39 水煮鱼丸 阅读(1734) 评论(10) 推荐(2) 编辑

3D游戏引擎中常见的三维场景管理方法
摘要:对于一个有很多物体的3D场景来说,渲染这个场景最简单的方式就是用一个List将这些物体进行存储,并送入GPU进行渲染。当然,这种做法在效率上来说是相当低下的,因为真正需要渲染的物体应该是视椎体内的物体。除此之外,从裁剪算法和碰撞检测等算法的效率来说,使用这种数据结构也是相当低效的。比较好的方式是使用具有层次结构的空间数据结构存储待渲染的物体,如BVH(包围体层次结构)、BSP(二叉空间分割)树、四叉树、八叉树和模糊K-D树等,在进行空间查找的时候将时间复杂度从O(n)降低到O(logn)。当然,对应的代价是每帧更新的时候,需要更新对应的空间数据结构。本文主要对BVH、BSP和八叉树进行介绍.. 阅读全文

posted @ 2014-01-05 21:24 水煮鱼丸 阅读(7973) 评论(2) 推荐(2) 编辑

3D游戏常用技巧Normal Mapping (法线贴图)原理解析——高级篇
摘要:1、概述 上一篇博客,3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇,讲了法线贴图的基本概念和使用方法。而法线贴图和一般的纹理贴图一样,都需要进行压缩,也需要生成mipmap。但是由于法线贴图存储的是法线信息,压缩和生成mipmap的方法自然会有所变化。 现在已经许多用于法线贴图压缩和生成mipmap的工具,大部分商业游戏引擎也集成了相关方法,只需要点几下鼠标就可以完成。本文仅针对法线贴图的纹理压缩和mipmap的方法进行原理性的说明,至于在具体的工具中如何操作,可以参看相关工具的说明文档。 法线贴图压缩的中文资料还是比较多的,也不太复杂;但是生成mipma... 阅读全文

posted @ 2013-12-15 23:21 水煮鱼丸 阅读(7487) 评论(2) 推荐(2) 编辑

3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
摘要:1、法线贴图基本概念 在制作3D游戏时,常常遇到这样一个问题:一个平面,这个平面在现实中并不是一 个“平”面,例如砖墙的表面带有石质浮雕等等。这种情况下如果只是简单的做一个平面,则让人感觉严重失真,如图1所示;而如果用很密集的三角形去表示这类略有凹凸的表面,则性能上大大下降。研究人员发现,人眼对物体的凹凸感觉,很大程度上取决于表面的光照明暗变化,如果能通过一张贴图在一个平面上表现出由凹凸造成的明暗变化,则可以让人眼感觉这个平面是凹凸不平的(虽然这个平面还是平的)。法线贴图正是为了这个目的而产生的。图1 不同细节程度的蜡烛 准确的说,法线贴图是Bump Mapping(凹凸贴图)的其中一种。.. 阅读全文

posted @ 2013-12-12 22:14 水煮鱼丸 阅读(28999) 评论(3) 推荐(7) 编辑

Deferred Shading(延迟渲染)
摘要:1、简介 在计算机图形学的词典里,Shading表示“对受光物体的渲染”,这个渲染过程包括下面几步[1]: 1) 计算几何多边形(也就是Mesh)。2) 决定表面材质特性,例如法线、双向反射分布函数(bidirectional reflectance distribution function, BRDF)等等。3) 计算入射光照。4) 计算光照对表面的影响,并最终显示。一般渲染引擎,渲染场景中的物体的时候,是将这四步一次执行完的。延迟渲染则将前两步和后两步分开到渲染管道相互独立的两个部分来执行。2、背景知识 对比前向渲染(聚光灯的最简单的前向渲染见DirectX 9.0c的sample... 阅读全文

posted @ 2013-12-03 14:23 水煮鱼丸 阅读(12479) 评论(0) 推荐(4) 编辑

三角形内部线性插值方法
摘要:问题: 在三角形的三个顶点具有3个不同颜色,如何通过插值计算出三角形中每个点的颜色? 应用实例:高洛德着色使用3个顶点的颜色进行线性插值,结果如下图:解决方案: 显然,无论是线性插值还是双线性插值的都无法解决这个问题。而使用重心坐标则可以很好的解决这个问题。简单的来说,重心坐标就是子三角形与大三角形的面积比,具体的解释参看维基百科,计算过程如下: 已知三角形的三个顶点坐标P1, P2, P3,在三角形内的任意点P, 都存在u和v(由于三角形是一个2D图形,只有两个自由度,所以只要u和v即可),使得 P = (1 - u - v) * P1 + u * P2 + v * P3 P... 阅读全文

posted @ 2013-12-01 23:30 水煮鱼丸 阅读(15719) 评论(0) 推荐(3) 编辑

高动态范围光照(High Dynamic Range Imaging,简称HDRI或HDR)
摘要:1 HDR基本概念 高动态范围光照(High Dynamic Range Imaging,简称HDRI或HDR),是一种表达超过了显示器所能表现的亮度范围的图像映射技术,已成为目前游戏应用不可或缺的一部分。通常,显示器能够显示R、G、B分量在[0, 255]之间的像素值。而256个不同的亮度级别显然不能表示自然界中光线的亮度情况。比如,太阳的亮度可能是一个白炽灯亮度的几千倍,是一个被白炽灯照亮的桌面的亮度的几十万倍,这远远超出了显示器的亮度表示能力。 想象在一个房间中,刺眼的阳光从窗外照进来,若使用常规方法渲染这个房间,房间中白色的墙壁的颜色是(255, 255, 255),阳光的颜色也... 阅读全文

posted @ 2013-12-01 00:57 水煮鱼丸 阅读(8690) 评论(2) 推荐(5) 编辑

关于游戏中的运动模糊的一点思考
摘要:今天在玩“天天酷跑”的时候,吃到吸铁石,突然注意到,它的金币虽然移动的很快,却不会出现“卡”的现象;而我之前用Unity3D做的一个小游戏在iPhone上显示的帧率是30,但是缺感觉卡,而在电脑上,帧率是100多,却不卡。当时没太想明白,觉得莫名其妙啊,30fps的游戏是不会卡的才对。这几天看了《Real-Time Rendering 3rd》中运动模糊的相关内容,再结合“天天酷跑”和“Doodle Jump”,大概理解这类游戏是如何提升视觉效果的。 播放电影的帧率一般是每秒24帧,我们觉得很流畅,即使电影中出现了很快移动的物体,比如一辆车飞驰而过,我们没有觉得怪异,因为每帧的图像是模糊... 阅读全文

posted @ 2013-11-27 14:23 水煮鱼丸 阅读(4421) 评论(11) 推荐(5) 编辑

(转)【翻译】火影忍者鸣人 疾风传 终级风暴2 制作介绍
摘要:本文转自http://blog.sina.com.cn/s/blog_508e43a70101d2sl.html沙缚牢的侵蚀表现我爱罗的沙缚牢那样的慢慢消失被侵蚀的表现,使用参考Alpha,在一定值以下的部分不进行绘制的原创shader。具体的对于沙球,分配Fractal类型的alpha贴图,再进一步做渐变。还有,最初是设定可以全部表示,所以可以让alpha值进行变化来实现。忍术[沙缚牢]中捕捉到敌人的沙珠,和不规则图案的Alpha 贴图须佐能乎的表现鼬的最终奥义须佐能乎中也加入了原创的构思。半透明物体的表现,直到现在还是使用调整模型上被分配的shader透明度的方法,但是aplah交点处的外 阅读全文

posted @ 2013-11-27 12:31 水煮鱼丸 阅读(1148) 评论(3) 推荐(0) 编辑

Real-Time Rendering 3 彩图
摘要:电子版只有黑白图,彩图见官网链接:http://www.realtimerendering.com/book.html。虽然只有部分彩图,不过够用了,下面是其中几幅图,如果只能看黑白的,那得多蛋疼: 阅读全文

posted @ 2013-11-24 22:20 水煮鱼丸 阅读(522) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示