Loading

摘要: 游戏中应用裁剪技术是为了剔除不需要绘制的部分,以达到提升性能的目的。 裁剪技术里有软件的也有硬件的。很显然,在游戏引擎的架构中,越靠近应用层即远离硬件层的裁剪效果越好。所以在这篇文章中就从游戏中裁剪效果从大到小的顺序总结一下常见的裁剪方法。 可视范围裁剪、细节裁剪 可视范围是制定一个人眼能看到的距离 阅读全文
posted @ 2022-03-27 23:17 silence394 阅读(0) 评论(0) 推荐(0)
摘要: Stencil 我们通常见到深度图的格式是D24S8,S8的意思就是占用8个bit的模板缓存。它起的作用有点像深度缓存,决定像素是否可见,但比深度更加丰富,能让开发者做出更加丰富的选择效果。 在渲染管线中,stencil test是在depth test之前的。根据stencil test和dept 阅读全文
posted @ 2022-03-20 22:35 silence394 阅读(0) 评论(0) 推荐(0)
摘要: BSP Tree(Binary space partitioning Tree) BSP(二叉空间分割)树,在游戏工业界非常著名,最早应用的游戏是《Doom》。由于当时的硬件没有Z-Buffer,用BSP树可以实现从后往前渲染保证正确性。当然它也可以用于加速碰撞检测和相交测试。 在计算机图形学中,B 阅读全文
posted @ 2022-03-08 01:02 silence394 阅读(0) 评论(0) 推荐(0)
摘要: BV(Bounding Volume)是包含一组物体的空间体,它比其所包含的几何物体形状要简单的多,所以对它进行碰撞检测速度比直接与物体本身求相交更快。常见的包围体有轴对齐包围盒、球体包围盒、OBB。 BVH是一种以物体BV为基础进行划分的结构。它由根节点、内部节点和叶子节点组成。其中叶子节点存放物 阅读全文
posted @ 2022-03-03 23:45 silence394 阅读(0) 评论(0) 推荐(0)
摘要: 四叉树是一种对空间进行划分的数据结构。它将空间分为四个相等的部分,然后递归下去,达到一定深度或某种限定条件后停止分割。 如果一个元素与父节点不相交,那么它与子节点必然不会相交,那就不必与子节点进行相交运算了,从而达到加速的目的。四叉树可以用来加速视锥裁剪、相交检测。 那么给定一个场景,尝试来建立它的 阅读全文
posted @ 2022-03-01 00:06 silence394 阅读(0) 评论(0) 推荐(0)
摘要: 背景 贝塞尔曲线在计算机图形学中的应用十分广泛,photoshop的钢笔工具,字体的轮廓,以及各种需要描述轨迹的地方如摄像机轨迹,粒子的速度曲线都用到了贝塞尔曲线。 贝塞尔曲线的数学基础——伯恩斯坦多项式(可以理解为:一个连续函数,可以将它表示成n个伯恩思坦多项式相加的形式,并且随着n 趋向于无穷大 阅读全文
posted @ 2022-01-23 12:52 silence394 阅读(0) 评论(0) 推荐(0)
摘要: 法线能用来做什么? 考虑这样一面墙,砖块的表面非常粗糙,显然不是完全平坦的:它包含着接缝处水泥凹痕,以及非常多细小的空洞。下图中我们可以看到砖块纹理应用到了平坦的表面,并被一个点光源照亮。 可以看到渲染效果非常不真实,因为光照没有呈现出任何裂痕和孔洞,完全忽略了砖块之前的线条。 从物理上分析,想呈现 阅读全文
posted @ 2022-01-22 22:07 silence394 阅读(0) 评论(0) 推荐(0)
摘要: 构建出绕轴旋转的情景。 向量v绕轴n 逆时针旋转θ角度后得到向量v',注:n为单位向量。 想要解v', 可以通过向量加法得到。易得v' 在向量n方向的投影 。 还需要构造一个经过v' 端点 , 垂直于法线n的平面,在这个平面内,v的端点绕向量n旋转了θ度后 , 就是v' 的端点 。n与平面的交点为O 阅读全文
posted @ 2022-01-16 14:58 silence394 阅读(0) 评论(0) 推荐(0)
摘要: 网上很多人讲了Gamma校正的东西,好多都是说由于CRT显示器的电压与亮度不是线性关系的特性导致的,但总感觉怪怪的。 韩世麟同学写出了我的困惑。 凡是说Gamma 2.2来自于老式CRT显示器物理特性的解释,都是误解。 这个误解一般会这么讲解Gamma的来龙去脉:当年老式的CRT显示器内置Gamma 阅读全文
posted @ 2022-01-08 15:15 silence394 阅读(0) 评论(0) 推荐(0)