![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
computer graphics
文章平均质量分 84
yaotouge
这个作者很懒,什么都没留下…
展开
-
【体绘制】raymarching算法
最近研究云的渲染接触到了体绘制,在shadertoy上看了一些例子,不过它们都是全场景体绘制的,场景中的所有物体,地形均由数学方法生成。然后用一个quad覆盖整个屏幕,对每个片段进行raymarching,甚至是raytracing。好像有一个64kb的比赛,就是用最小的程序大小,看谁能够渲染出最漂亮的图像,令人不得不感叹数学的神奇。原创 2016-06-17 12:15:00 · 10353 阅读 · 8 评论 -
【笔记】世界坐标系和相机坐标系的转换
固定管线中的前两个步骤: 将物体从本地坐标系转换到世界坐标系。 从世界坐标系转换到像极坐标系。这两个步骤中旋转和平移的顺序是不同的:先看2维情况,如果要讲一个物体从原点(即本地坐标系中)平移到某处并且旋转(世界坐标系),假设物体在本地坐标系(实线部分)和目的地(虚线部分)的位置如下图左。第一种方法如下图右,先将物体延自身的x轴平移,然后进行旋转变换(注意,旋转变换都是以原点为中心的原创 2016-06-13 11:13:12 · 17459 阅读 · 0 评论 -
normal mapping中TBN矩阵的思考
学习法线贴图(normal mapping)的过程中,最关键的一个矩阵就是TBN矩阵,该矩阵用于将存储在纹理空间中的法向量转换到模型空间中(实际使用相反,为了减少计算量,是将光线从模型空间转换到了纹理空间,然后计算反射光线,因为光线条数远远少于法向量数目)。下图展示法线贴图的含义,图中的蓝色部分为一块法线纹理,上面的黑色小木棒(纯手工绘图)是每个像素的rgb代表的法线向量。就像一块海绵上插了无数歪歪原创 2016-06-12 23:15:49 · 5177 阅读 · 3 评论 -
伽马校正(gamma correction)学习笔记
学习HDR和Bloom特效的过程中,接触到了伽马矫正的问题。查阅了不少资料,这一篇讲的最清楚,下面的图片也是来自该文章。这应该说是一个历史遗留问题,以前的CRT显示器是使用电子显像管,通过控制电流大小来控制显示屏幕上的亮度。然而亮度和电流之间的关系并非是线性的,也就是说电流强度变为2倍,显示的亮度并非是两倍,而是由公式1决定:Vout=(Vin)gammaV_{out} = {(V_{in})}^{原创 2016-06-12 23:03:06 · 21728 阅读 · 6 评论 -
视差贴图(parallax mapping)学习笔记
视差贴图是一种很神奇的技术,它的效果有点类似法线贴图,都是通过尽可能少的面片加上特殊的技术来模拟复杂几何体的视觉效果。通常视差贴图都会和法线贴图结合起来使用。视差贴图的核心思想,就是通过贴图时uv坐标的偏移,来形成视觉上的几何体高低视差,给人以立体的感觉。这篇教程很详细,下面的图片也是来自于该教程(捂脸):如图所示,高度为0.0的平面是渲染时的实际面片,棕色的线则代表了原始几何体的实际高度。这里我们原创 2016-06-12 22:32:49 · 8572 阅读 · 2 评论 -
【笔记】投影坐标到屏幕坐标
最近阅读《3D游戏编程大师技巧》,想要手动实现一遍固定渲染管线,作者在投影变换的部分费了颇多笔墨,但感觉该部分组织结构不是很清晰,花了不少功夫才搞懂,因此总结一下。完成投影变换之后,视景体从一个平截头体(frustum)变换为一个边长为2的立方体:经过透视除法之后,将平截头体区域投影到一个立方体中,其中的几何体会产生相应的形变,造成近大远小的透视效果:接下来原创 2016-06-12 21:29:30 · 2659 阅读 · 0 评论