摘要: 本文参考自教程,并加上自己的一些心得体会。所谓的水面流动,就是对给定的纹理贴图进行采样,使其随着时间流动,呈现有规则地沿着某一方向连续,但是又不完全有规律的效果。 首先,我们用到的贴图是一张高度图,ag通道分别代表高度在x和y方向上的导数,b通道保存真实的高度数据。先让我们直接对贴图进行采样,我们用 阅读全文
posted @ 2020-09-23 13:54 异次元的归来 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 之前一篇文章讲了DirectX12的初始化流程,现在来看看在此基础上如何绘制一个Cube。 首先,我们要为这个Cube准备一个shader,来告诉GPU绘制的具体流程,DirectX中的shader使用的是hlsl: cbuffer cbPerObject : register(b0) { floa 阅读全文
posted @ 2020-09-11 00:21 异次元的归来 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 如何做一个水面扭曲效果 本文参考教程,并加上自己的一些心得体会。所谓的扭曲效果,就是将给定的纹理贴图进行采样,并随着时间进行流动,使得每个点的采样路径不完全一样。为了做到这一点,首先我们需要一张flow map,用来保存每个点的采样方向,然后根据时间偏移: float2 flowVector = t 阅读全文
posted @ 2020-08-11 14:07 异次元的归来 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 本文参考自教程,并加上自己的一些心得体会。 0.生成三角形面片 一块草地由若干根草组成,每根草其实可以看作是一个三角形面片。为了生成三角形面片,我们借助geometry shader的力量,去修改输入的顶点信息: [maxvertexcount(3)] void geo(triangle v2g I 阅读全文
posted @ 2020-07-22 22:11 异次元的归来 阅读(339) 评论(0) 推荐(0) 编辑
摘要: DirectX12的初始化主要分为以下若干步骤: 创建device和gifactory 创建与GPU通信同步相关的objects,command和fence 创建swap chain 为render target view和depth stencil view创建descriptor heap 创建 阅读全文
posted @ 2020-07-15 20:55 异次元的归来 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 之前 "一篇文章" 讲了如何初始化DirectX 11,现在在此基础上绘制一个Cube,总体可概括为以下几个步骤: 1. 定义Cube顶点数据结构 2. 创建Vertex Buffer和Index Buffer 3. 编写应用于Cube的effect file 4. 读取effect,编译创建 5. 阅读全文
posted @ 2020-05-08 23:14 异次元的归来 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 本文参考自 "教程" ,加上自己的一点心得体会。教程里的做法是使用了Unity的Post Processing Stack,这里并没有使用,而是用的自己写的脚本,调用 实现后处理。 首先,为什么要用后处理的方式去实现轮廓效果呢?这里,效果的实现依赖于对屏幕空间中相邻的若干点进行采样,获得深度或者法线 阅读全文
posted @ 2020-05-07 21:29 异次元的归来 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 如何做一个卡通效果 本文参考自 "教程" ,加上自己的一点心得体会。 首先,为物体加上漫反射光照。我们可以利用物体的法线与平行光照方向的夹角,即向量的点积,来衡量物体所受光照的强度。为了实现卡通的效果,我们将光照强度分为两段,0和1,向量点积大于0时,光照强度为1,否则为0。两段之间可以用smoot 阅读全文
posted @ 2020-03-30 23:42 异次元的归来 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 如何做一个卡通水面效果 本文参考自 "教程" ,加上自己的一点心得体会。 首先,根据水面和场景的深度差异划分为浅水和深水,浅水和深水各取两个极值,然后根据深度进行插值。所谓的浅水,就是水面下的物体与水面的距离较小,颜色较浅;所谓的深水,就是水面下的物体与水面的距离较大,颜色较深。 那么,如何获得场景 阅读全文
posted @ 2020-03-13 00:19 异次元的归来 阅读(672) 评论(0) 推荐(0) 编辑
摘要: 什么是投影矩阵的逆矩阵呢?从几何意义上来讲,就是把投影到NDC的坐标转化为观察空间下的坐标。 假设y方向的视域角$\alpha$,视域的宽高比为$r$,投影平面距离摄像机的距离为$d$,视域的宽为$w$,高为$h$,近剪裁面距离摄像机的距离为$n$,远剪裁面距离摄像机的距离为$f$。首先有: $$ 阅读全文
posted @ 2020-02-10 23:54 异次元的归来 阅读(662) 评论(0) 推荐(0) 编辑