GAMES101: Lecture 10: Geometry 1 (Introduction) ppt笔记

Applications of Textures

在现代GPU中,纹理texture = 内存 + 范围查询(滤波)

纹理的应用包括:环境光照、存储微几何、程序纹理、实体建模、体积渲染

Environment lighting

我们将环境光照储存为environment map

光照来自无限远处

从视角向周围看去,记录下周围物体发出或反射到视角的光照

environment map可用于物体表面的渲染

上面的球面环境地图spherical environment map 在展开后会带来扭曲 的问题,两极点的图像会向中间扭曲(参考世界地图)

我们使用正方体地图cube map 来改善这一情况

球体的每个像素,其法线与正方体相交于一个点,用该点代表球体对应像素的纹理

正方体的6个正方形texture map构成了正方体的texture

大大减少了扭曲的现象

Bump Mapping

texture同样可以影响着色,比如构造出表面凹凸不平的效果

凹凸贴图Bump Mapping 不添加三角形的个数而增加表面细节

逐像素生成表面法线扰动,高度变化由纹理定义

e.g. 2D法线扰动

设原法线方向为 n( p ) = (0, 1),垂直向上

应用纹理的高度变化后,在p点处 dp = c * h(p+1) - h( p ) ;c为常数

扰动后的法线与dp方向(1, dp)垂直,为

n( p ) = (-dp, 1).normalized

3D扰动同理

原法线方向为 n( p ) = (0, 0, 1)

u,v 方向上分别做差分

dp/du = c * h(u+1) - h( u )

dp/dv = c * h(v+1) - h( v )

扰动后的法线为两个切向量方向的叉积,为

n( p ) = (-dp/du, -dp/dv, 1).normalized

注意上面的计算是在贴图的本地坐标 上计算的,实际可能需要转换为世界坐标

Displacement mapping

与凹凸贴图运用相同的纹理

实际地移动了顶点

需要足够精细的几何体才能生效

或在渲染时将表面分解为更多三角形

3D Procedural Noise + Solid Modeling

用3D程序生成噪声,使用纹理时不在实际存在的图片上采样,而是获取程序生成的值

Others

纹理可以

提供预生成的阴影

在医学上,可以使用3D纹理和体积渲染

Introduction to geometry

图形学渲染诸多物体例如 曲面、布料、水、大城市、动物毛发、微生物等 并不容易

几何的表示方法分为隐式implicit显式explicit

不同选择适合不同几何任务

Implicit & Explicit

隐式表示为 满足特定条件的所有点的集合

e.g. 单位球 x2+y2+z2=1x^2+y^2+z^2=1x2+y2+z2=1

可表示为 f(x, y, z) = 0

难以看出物体的形状,但容易判断任意一点在物体的内/外(代入f(x, y, z))

显式表示为 所有点被直接给出或通过参数映射 f:R2−>R3;(u,v)−>(x,y,z)f: R^2 -> R^3 ; (u, v) -> (x, y, z)f:R2−>R3;(u,v)−>(x,y,z)

e.g. 单位球 f(u,v)=(cosusinv,sinusinv,cosv)f(u, v) = (cos u sin v,sin u sin v, cos v)f(u,v)=(cosusinv,sinusinv,cosv)

容易看出物体形状,但难以判断任意一点在物体的内/外

More Implicit Representations

Algebraic Surfaces

代数式表示

x2+y2+z2=1x^2+y^2+z^2=1x2+y2+z2=1

Constructive Solid Geometry

构造立体几何

用Boolean操作结合几何体

(Signed) Distance Functions

(有符号的)距离函数

给出任意位置到物体的最小距离

可以对两个物体进行平滑融合

下图中,第一行是普通融合

第二行是signed distance function SDF融合,一条红线上的点到物体的距离相同(可理解为等高线)

融合时,将每处的值进行处理,最后找到值为0对应的那条线,即为融合后物体的边界

可将AB融合为1/2的阴影

Level Set Methods

封闭式的方程难以描述复杂图形

我们用一个网格模拟函数

表面由函数值等于0的点构成,在离散网格中通过插值得到

在医学上,用该方法找到组织密度相同的地方

物理模拟上,用于找到空气-液体边界

Fractals

就是雪花那个分形,挺难表示的

Implicit pros & cons

好处:表述简单,部分查询简单(内/外),适用于射线与曲面相交,对于简单图形描述精准,易于处理拓扑结构的变化

坏处:难以建模复杂图形

相关推荐
不会代码的小猴4 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
摇滚侠6 小时前
《SpringBoot 3:入门与应用实战》第 2 章 IOC 思想与实现 阅读笔记 1
spring boot·笔记·后端
蒸蒸yyyyzwd6 小时前
秋招不熟悉力扣学习笔记1
笔记·学习·leetcode
LuminousCPP8 小时前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
302wanger9 小时前
【阅读笔记】当AI拿走一切之后
笔记
疯狂打码的少年11 小时前
【数据结构】串(字符串):基本概念与存储
数据结构·笔记
Hotchip_MEMS13 小时前
TWS耳机微米级较量:超薄LGA封装如何助力MEMS麦克风小型化?
人工智能·笔记·物联网·电脑
Ztt66666666613 小时前
金泉方壶四面端正,月白釉却把棱角放柔了
经验分享·笔记·其他·百度·微信公众平台
学习和思考13 小时前
非自动化专业如何自学PLC?我的6个月学习路线图
笔记·学习·自动化·学习方法
疯狂打码的少年15 小时前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法