GAMES101-现代计算机图形学入门-闫令琪——Lecture 10 Geometry 1 (Introduction))

Applications of textures

  • 可以把纹理理解成一块数据:进行点查询和范围查询
    在这里插入图片描述

环境贴图(Environment Map)

  • 可以用纹理去模拟环境光
  • 这个茶壶叫犹他茶壶
  • 用纹理去描述环境光时,假设光来自于无穷远处,没有实际的深度意义。
    在这里插入图片描述
环境光(Evironmntal Lighting)
  • 可以把环境光储存在球面上
    在这里插入图片描述
  • 球性Map
    在这里插入图片描述
  • 展开以后的问题:(扭曲)
    在这里插入图片描述
  • 解决方案:存在立方体上,圆心与原来存在球上的位置的延长线与正方体的交点存。
  • Cube Map:也有缺点,就是不好判断光的方向,要先判断一下是哪个面的。
    在这里插入图片描述

凹凸贴图/法线贴图(Bump Mapping)

  • 贴图可以定义任何一个点的相对高度
  • 在不把几何形体变复杂的前提下,可以使用复杂的纹理来定义任何一个点的高度变化。
  • 可以做假的法线,产生假的反射,欺骗人的眼睛
    在这里插入图片描述
    在这里插入图片描述
如何计算法线
2D
  • 先求切线(微分)
  • 然后求法线(xy互换,x加负号)
  • 归一化
    在这里插入图片描述
3D
  • 定义局部法线 (0, 0, 1)
  • 然后也有局部坐标系 (s, t, n),在这个坐标系中,我们认为发现永远是 (0, 0, 1)
  • 然后在这里我们把法线方向通过纹理映射稍微改一点,然后再把法线方向重新计算回世界坐标中
    在这里插入图片描述

Displacement mapping(位移贴图)

  • 位移贴图可以真正改变顶点位置,凹凸贴图没有实际上改变几何
  • 但是位移贴图需要三角形足够细,细到三角形顶点之间的间隔要比纹理定义的还要高
    在这里插入图片描述
  • 曲面细分可以根据需要进行曲面细分

三维纹理

  • 定义了一个三维的噪声函数,并不是一个图

在这里插入图片描述

纹理也可以记录一些之前已经算好的信息

在这里插入图片描述
在这里插入图片描述

Introduction to geometry (2nd part of this course!)

Examples of geometry

在这里插入图片描述

  • 什么时候用简单的几何,什么时候用复杂的几何

Various representation of geometry

在这里插入图片描述

“Implicit” Representations of Geometry(隐式)
  • 隐式实际上就是满足函数
    在这里插入图片描述
  • 优点:判断一个点在不在曲面上很方便
  • 缺点:哪些点在曲面上就不是很简单
    在这里插入图片描述
    在这里插入图片描述
“Explicit” Representations of Geometry(显式)
  • 所有的点都给出来,或者通过映射的方式给出。
  • 马鞍面简单又有问题
    在这里插入图片描述
    优点:想要知道长什么样很简答
    缺点:想要知道在不在曲面上很难
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
没有最好的表示方法

在这里插入图片描述

More Implicit Representations in Computer Graphics
  • 隐式表示不够直观
  • 隐式表示复杂的情况怎么办?
    在这里插入图片描述
CSG
  • 几何的隐式表示可以不只通过代数方法去描述
  • 通过一系列几何的布尔运算来定义新的几何
  • CSG
    在这里插入图片描述
Distance Functions (Implicit)距离函数把他blend起来(SDF)
  • 空间函数是指空间中的任意一个点到你想要表示的几何形体他们之间的最小距离(可正可负)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 得到一个密度函数,找到所有密度等于5.0的就可以得到一个图像。
    在这里插入图片描述
  • 把水滴和水滴融合在一起,然后提取出融合后的表面长什么样。
    在这里插入图片描述
Fractals (Implicit) 分形
  • 套娃
    在这里插入图片描述
隐式总结:
  • 隐式函数通常表示起来容易
  • 支持查询在里面在外面
  • 很容易做光线求交
  • 拓扑结构适合用来描述
  • 复杂模型不好表述
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐