在游戏开发中会经常使用到lua作为游戏逻辑层的脚本语言,各种优势就不说了,虽然平时用的比较多,但对lua语言本身和内部的一些实现并不是很了解,让我们先从lua的require...
在游戏开发中会经常使用到lua作为游戏逻辑层的脚本语言,各种优势就不说了,虽然平时用的比较多,但对lua语言本身和内部的一些实现并不是很了解,让我们先从lua的require...
本文参考自教程[https://catlikecoding.com/unity/tutorials/flow/waves/],并加上自己的一些心得体会。要想模拟现实中的波浪效...
本文参考自教程[https://catlikecoding.com/unity/tutorials/flow/directional-flow/],并加上自己的一些心得体会。...
之前一篇文章讲了DirectX12的初始化流程,现在来看看在此基础上如何绘制一个Cube。 首先,我们要为这个Cube准备一个shader,来告诉GPU绘制的具体流程,Dir...
本文参考教程,并加上自己的一些心得体会。所谓的扭曲效果,就是将给定的纹理贴图进行采样,并随着时间进行流动,使得每个点的采样路径不完全一样。为了做到这一点,首先我们需要一张fl...
之前一篇文章讲了如何初始化DirectX 11,现在在此基础上绘制一个Cube,总体可概括为以下几个步骤: 定义Cube顶点数据结构 创建Vertex Buffer和Inde...
本文参考自教程,加上自己的一点心得体会。教程里的做法是使用了Unity的Post Processing Stack,这里并没有使用,而是用的自己写的脚本,调用OnRender...
本文参考自教程,加上自己的一点心得体会。 首先,为物体加上漫反射光照。我们可以利用物体的法线与平行光照方向的夹角,即向量的点积,来衡量物体所受光照的强度。为了实现卡通的效果,...
本文参考自教程,加上自己的一点心得体会。 首先,根据水面和场景的深度差异划分为浅水和深水,浅水和深水各取两个极值,然后根据深度进行插值。所谓的浅水,就是水面下的物体与水面的距...
什么是投影矩阵的逆矩阵呢?从几何意义上来讲,就是把投影到NDC的坐标转化为观察空间下的坐标。 假设y方向的视域角,视域的宽高比为,投影平面距离摄像机的距离为,视域的宽为,高为...
在投影变换视口变换后,需要对投影到屏幕上的平面三角形顶点属性进行线性插值,例如颜色,纹理,深度等。但对于投影前在3D空间的三角形来说,这个插值并不是线性的。下面来推导一下这个...
其实问题就是给定y方向的视域角,和视域的宽高比,求投影矩阵。 我们首先假设投影平面距离摄像机的距离为,视域的宽为,高为,近剪裁面距离摄像机的距离为,远剪裁面距离摄像机的距离为...
顾名思义,观察矩阵的作用就是将一个点从世界坐标系转换到观察坐标系,这个点的实际位置并不发生变化。参考上一篇文章,问题就转化成了,假设任意点,它在世界坐标系下的坐标为,求在观察...
总体来说可以概括为以下几个步骤: 创建Device和Context 创建SwapChain 为BackBuffer创建View 创建Depth/Stencil Buffer,...
什么是仿射变换? 仿射变换定义为一个线性变换加上平移变换。即: 仿射变换的矩阵表示 这里,我们要对向量转换为齐次坐标,同样变换后的也是齐次坐标。从而有:对于向量而言,分量为0...
什么是线性变换? 假设有一数学函数,使得三维向量,有。那么,如果满足: 那么,称为线性变换。 线性变换的矩阵表示 缩放变换 易知,缩放变换。那么,我们尝试证明一下它是线性变换...
对于一组向量,有时候我们需要对其进行正交化处理,也就是说,该组向量中任意两个向量都是互相垂直的。那么,要怎么做呢? 假设只有两个向量,和,正交化的几何示意图如下所示。 假设正...