Applications of Textures在现代GPU中纹理texture 内存 范围查询滤波纹理的应用包括环境光照、存储微几何、程序纹理、实体建模、体积渲染Environment lighting我们将环境光照储存为environment map光照来自无限远处从视角向周围看去记录下周围物体发出或反射到视角的光照environment map可用于物体表面的渲染上面的球面环境地图spherical environment map在展开后会带来扭曲的问题两极点的图像会向中间扭曲参考世界地图我们使用正方体地图cube map来改善这一情况球体的每个像素其法线与正方体相交于一个点用该点代表球体对应像素的纹理正方体的6个正方形texture map构成了正方体的texture大大减少了扭曲的现象Bump Mappingtexture同样可以影响着色比如构造出表面凹凸不平的效果凹凸贴图Bump Mapping不添加三角形的个数而增加表面细节逐像素生成表面法线扰动高度变化由纹理定义e.g. 2D法线扰动设原法线方向为 n( p ) (0, 1)垂直向上应用纹理的高度变化后在p点处 dp c * [ h(p1) - h( p ) ] c为常数扰动后的法线与dp方向(1, dp)垂直为n( p ) (-dp, 1).normalized3D扰动同理原法线方向为 n( p ) (0, 0, 1)u,v 方向上分别做差分dp/du c * [ h(u1) - h( u ) ]dp/dv c * [ h(v1) - 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. 单位球x2y2z21x^2y^2z^21x2y2z21可表示为 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 RepresentationsAlgebraic Surfaces代数式表示x2y2z21x^2y^2z^21x2y2z21Constructive Solid Geometry构造立体几何用Boolean操作结合几何体(Signed) Distance Functions有符号的距离函数给出任意位置到物体的最小距离可以对两个物体进行平滑融合下图中第一行是普通融合第二行是signed distance function SDF融合一条红线上的点到物体的距离相同可理解为等高线融合时将每处的值进行处理最后找到值为0对应的那条线即为融合后物体的边界可将AB融合为1/2的阴影Level Set Methods封闭式的方程难以描述复杂图形我们用一个网格模拟函数表面由函数值等于0的点构成在离散网格中通过插值得到在医学上用该方法找到组织密度相同的地方物理模拟上用于找到空气-液体边界Fractals就是雪花那个分形挺难表示的Implicit pros cons好处表述简单部分查询简单内/外适用于射线与曲面相交对于简单图形描述精准易于处理拓扑结构的变化坏处难以建模复杂图形
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 Mappingtexture同样可以影响着色比如构造出表面凹凸不平的效果凹凸贴图Bump Mapping不添加三角形的个数而增加表面细节逐像素生成表面法线扰动高度变化由纹理定义e.g. 2D法线扰动设原法线方向为 n( p ) (0, 1)垂直向上应用纹理的高度变化后在p点处 dp c * [ h(p1) - h( p ) ] c为常数扰动后的法线与dp方向(1, dp)垂直为n( p ) (-dp, 1).normalized3D扰动同理原法线方向为 n( p ) (0, 0, 1)u,v 方向上分别做差分dp/du c * [ h(u1) - h( u ) ]dp/dv c * [ h(v1) - 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. 单位球x2y2z21x^2y^2z^21x2y2z21可表示为 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 RepresentationsAlgebraic Surfaces代数式表示x2y2z21x^2y^2z^21x2y2z21Constructive Solid Geometry构造立体几何用Boolean操作结合几何体(Signed) Distance Functions有符号的距离函数给出任意位置到物体的最小距离可以对两个物体进行平滑融合下图中第一行是普通融合第二行是signed distance function SDF融合一条红线上的点到物体的距离相同可理解为等高线融合时将每处的值进行处理最后找到值为0对应的那条线即为融合后物体的边界可将AB融合为1/2的阴影Level Set Methods封闭式的方程难以描述复杂图形我们用一个网格模拟函数表面由函数值等于0的点构成在离散网格中通过插值得到在医学上用该方法找到组织密度相同的地方物理模拟上用于找到空气-液体边界Fractals就是雪花那个分形挺难表示的Implicit pros cons好处表述简单部分查询简单内/外适用于射线与曲面相交对于简单图形描述精准易于处理拓扑结构的变化坏处难以建模复杂图形