隐式曲面顾名思义就是不能直接看到曲面的形状,而是通过表达式的方式来表示曲面。所以,该曲面的优势就是查找某个点是否在曲面上比较快,而该类型曲面缺点就是曲面的表达不直观
除了几何表示之外,隐式曲面还可以通过其他隐式曲面的交并补得到对应的隐式曲面
除了上述两种方式外,还可以使用符号距离函数和水平集来表示隐式曲面
距离函数表示空间中任何一个点到物体表面的最小距离,如果SDF为正,则表示点在物体外部,反之,则在物体外部。因此,SDF为0的点就是物体的表面。
在图形学中,一般先通过数学的方法混合两个物体的符号距离函数,然后将混合后得到的SDF恢复成形状。
下图表示的就是两个圆球进行混合的不同状态,从而得到不同的形状
水平集和SDF类似,水平集也是得到水平集函数为零的一系列的点,类似于地理中的等高线
显示曲面与隐式曲面正好相反,显示曲面没什么固定的表达式,只是给出了映射关系,所以表面长啥样非常直观,缺点就是很不好判断点是否在显示曲面上
3-10行表示立方体8个顶点。 12-25行表示每个顶点在不同面上的纹理坐标。 27-34表示6个面的法线向量
36-47行了,f是face的缩写,表示一个网格面单元,其中x/x/x的第1位表示是顶点,第2位表示使用哪个顶点纹理,第3位表示使用哪个法线向量。
以36行为例:表示第5,1,4个顶点坐标构成一个三角形面,对应的纹理坐标分别是第1,2,3个,该三角形免得法线向量是第一个(27行)
参考
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili
现代计算机图形学入门(几何) - 知乎 (zhihu.com)
欢迎大家评论交流,作者水平有限,如有错误,欢迎指出