nvdiffrast

  • nvidiffrast主页
  • https://arxiv.org/pdf/2011.03277.pdf
  • https://github.com/NVlabs/nvdiffrast

CSC2547 Differentiable Rendering A Survey
https://www.youtube.com/watch?v=7LU0KcnSTc4

DR https://blog.qarnot.com/an-overview-of-differentiable-rendering/

知乎 https://www.zhihu.com/question/364770565

Monte Carlo Ray Tracing

安装指引

有两种安装方法,使用pip安装服务器源、使用pip安装github仓库。

使用pip安装服务器源

pip install nvdiffrast

可能会安装0.2.7的版本

使用pip安装github仓库

git clone https://github.com/NVlabs/nvdiffrast
cd nvdiffrast
pip install .

而从下图可见,github仓库的版本是0.3.0。

pytorch可调用c++代码,用c++操作tensor/计算梯度。 https://www.cnblogs.com/jermmyhsu/p/10962987.html

齐次坐标

clip-space

https://gamedev.stackexchange.com/questions/65789/why-is-clip-space-always-referred-to-as-homogeneous-clip-space

clip space下运算的效率更高。

homogeneous space
https://www.youtube.com/watch?v=JSLG8n_IY9s

https://www.youtube.com/watch?v=PvEl63t-opM (视频15分钟以前讲解概念,15分钟以后示例演算)。

多出的一维度不是新维度,更像是一个新部分。这样的表达,能够优雅地实现平移的变换矩阵,也能够实现矩阵相乘来对点进行操作。

重心坐标系

http://blog.atelier39.org/cg/533.html

https://zh.wikipedia.org/zh-hans/UV%E6%98%A0%E5%B0%84 uv映射

https://en.wikipedia.org/wiki/UV_mapping
uv映射是指从3d映射到2d的操作。uv区别于xyzw,因为三维坐标系的齐次坐标已经用掉了(x,y,z,w)四个坐标,所以二维平面的坐标取uv。通过将三维空间的物体映射到二维平面,使用者能在其上绘制颜色。

https://www.youtube.com/watch?v=W4uqOhiQJBQ
能够保存 u, v, NDC

NDC是指相机的视野深度,取值通常为[-1, 1](或者[0, 1])。

https://zouchanglin.cn/194464854.html
纹理坐标uv

重心坐标在图形学中最重要的运用便是插值,他可以根据三个顶点 A、B、C 的属性插值出任意点的属性,无论是位置,颜色,深度,法线向量(还有纹理坐标uv)等等,而这些属性在之后的着色或是消除隐藏曲面都有很大的作用。

在纹理空间之内任意一个二维坐标都在 [0,1] 之内。

我怀疑,uv的含义是相对坐标。也就是说u, v, 1-u-v共同构成了重心坐标。

猜你喜欢

转载自blog.csdn.net/duoyasong5907/article/details/129049816