撰写了文章 更新于 2020-06-23 17:32:59
一个技术美术的成长日记
学习预备
C
C++
DX12龙书
SD深入理解
UE4关于shader的深入理解
相关资料:
大框架:https://zhuanlan.zhihu.com/p/36675543
C学习:https://space.bilibili.com/128373173/channel/detail?cid=50648
C++ UE4:同上
DX12龙书:在读
https://pan.baidu.com/s/1QrhloVXVD031wkDfwvzV8w
2ut9
DANIEL THIGGER的SD进阶学习
C语言的学习笔记
一、进制
进制转换
C++学习笔记
DX12龙书学习笔记
一、DX12中所使用的坐标系
左手坐标系 vs 右手坐标系
2d 坐标系一般来说大家都有默认: x轴朝右,y轴朝向。

左手坐标系
而对于三维坐标系,一般有两种习俗,左手坐标系和右手坐标系,它们的重点不是在于 z 轴标注的是哪根,而是三个方向的组合,比如之前的[从零开始计算机图形学]系列一直用左手坐标系,为了作图方便,我把 z 轴指向屏幕里。

对应关系:
- right - x指向
- up - y指向
- front - z指向

但是如果我们把手转90°。这依旧是一个左手坐标系。

右手坐标系
右手坐标系是这样:


如果我们为了作图方便将 x轴 放到右边, y轴 放到上边,那么 z轴的朝向:

跟左手坐标系中 z轴朝向刚好相反。
叉乘
两个三维中的向量叉乘有:
这个值跟在哪个坐标系是无关的。
但是我们来想最简单的 ,所以我们可以知道这个朝向在不同的坐标系中是不同的,而朝向不同是因为我们两个坐标系中 z轴 方向的不同,这个时候好像之前学的左手定则和右手定则都可以使用起来。从 A 转到 B, 大拇指指向 C 的朝向,在右手坐标系中用右手,左手坐标系中使用左手。


Maya 和 OPenGL 使用右手坐标系, DirectX, pbrt, PRMan 使用左手坐标系。
二、向量的计算方式
u + v = (ux + vx,
uy + vy,
uz + vz )
u− v = u + (−1 · v) = u + (−v) = (ux− vx
, uy− vy
, uz− vz).