GPU Gems2 - 7 带位移映射的细分表面自适应镶嵌

文章参照该文 https://zhuanlan.zhihu.com/p/38411575

【章节概览】

 

这章介绍了如何使用可选的位移贴图(Displacement Mapping)执行Catmull-Clark细分曲面(Catmull-Clark Subdivision Surfaces)的视图相关的自适应镶嵌(Adaptive Tessellation)。使用GPU进行镶嵌计算,这可以节省图形总线带宽,并且比使用CPU快许多倍。

 

【核心要点】

 

文中通过重复细分(repeated subdivision)的方法来实现镶嵌,通过渲染到2D纹理来实现。细分,平坦度测试(Flatness Test)和最终顶点属性计算使用片元着色器(也称像素着色器)完成。该方法假设细分曲面控制网格的顶点数据存储在纹理贴图中。中间结果也渲染到纹理贴图并从纹理贴图读取,并且最终的镶嵌结果(位置,法线等)被渲染到一个顶点数组中,以被渲染图元(render-primitives)如glDrawElements()函数使用。

 

对立方体的Catmull-Clark细分
自适应镶嵌(Adaptive Tessellation) vs. 均匀镶嵌(Uniform Tessellation)

 

总之,这章介绍了一个结合使用广度优先递归(breadth-first recursion algorithm)细分算法在GPU上镶嵌细分表面的方法。文中描述了执行平坦度测试、实现细分和计算极限表面属性所需的着色器。而且解释了如何修改着色器来添加位移映射的支持,以增加细分表面模型的几何细节。

 

【关键词】

 

Catmull-Clark细分 (Catmull-Clark subdivision)

位移贴图(Displacement Mapping)

平坦度测试(Flatness Test)

GPU镶嵌(GPU Tessellation )

自适应镶嵌(Adaptive Tessellation)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPU Gems2 - 8 使用距离函数的逐像素位移贴图

【章节概览】 距离贴图(distance map)是一种在像素着色器中给对象添加小范围位移映射的技术。这章中详细介绍了使用距离函数的逐像素位移贴图(Per-Pixel Displacement Mapping with Distance Functions)技术。 【核心要点】 这章中…

GPU Gems2 - 9 S.T.A.L.K.E.R.中的延迟着色(Deferred Shading in S.T.A.L.K.E.R.)

关于延迟着色的详细技术及最新渲染管线技术可以参考我的这篇文章: https://blog.csdn.net/yinfourever/article/details/90263638 【章节概览】 本章是对《S.T.A.L.K.E.R.》中所用渲染器的几乎两年的研究和开发的事后剖析。该渲染器完全基于延迟着色(De…

GPU Gems2 - 10 动态辐照度环境映射实时计算

【章节概览】 环境映射(Environment Maps)是常用的基于图像的渲染技术,用来表现以空间上不变的球面函数。本章描述了一种完全GPU加速的方法,来生成一个环境映射在图形上特别有趣的类型——辐照度环境映射(Irradiance …

GPU Gems2 - 11 近似的双向纹理函数(Approximate Bidirectional Texture Functions)

【章节概览】 本章介绍的内容关于如何较容易地采集和渲染的真实材质,如布料、羊毛和皮革等的技术。这些材质难以用早先的技术渲染,它们基本来与兼得的纹理映射。本章的目标是在采集上花费少量的努力,在渲染上花费少量的技术,但是仍…

GPU Gems2 - 12 基于贴面的纹理映射(Tile-Based Texture Mapping)

本文内容摘自https://zhuanlan.zhihu.com/p/38411575 【章节概览】 这章介绍了一个基于贴面的纹理映射(Tile-Based Texture Mapping)系统,用来从一组贴面生成一个大的虚拟纹理。 【核心要点】 使用纹理贴面(Texture Tiling&#…

一些图形学中的数学应用

包围体是一个简单的几何空间,里面包含着复杂形状的物体。为物体添加包围体的目的是快速的进行碰撞检测或者进行精确的碰撞检测之前进行过滤(即当包围体碰撞,才进行精确碰撞检测和处理)。包围体类型包括球体、轴对齐包围盒&#xf…

GPU Gems2 - 13 动态环境光遮蔽与间接光照(Dynamic Ambient Occlusion and Indirect Lighting)

本文摘自https://zhuanlan.zhihu.com/p/38411575 【章节概览】 这章在讲大家很熟知的环境光遮蔽(Ambient Occlusion , AO)。 文中的描述是,介绍了一种用于计算散射光传递的新技术,并演示如何用它来计算运动场景中的全局光照。主要…

解析Monte-Carlo算法(基本原理,理论基础,应用实践)

转载自https://www.cnblogs.com/leoo2sk/archive/2009/05/29/1491526.html 引言 最近在和同学讨论研究Six Sigma(六西格玛)软件开发方法及CMMI相关问题时,遇到了需要使用Monte-Carlo算法模拟分布未知的多元一次概率密度分布问题。于是花了几天…

Unity SRP自定义渲染管线 -- 3.Lights

Lights Single-Pass Forward Rendering 实现 diffuse shading.支持 directional(方向光), point(点光源), and spotlights(聚光灯).每帧可允许最多16个可见光参与渲染每个物体可以最多由4个像素光和4个顶…

Faceware 面部捕捉在Unity中的应用

官网软件下载:https://www.facewaretech.com/ 官网教程:http://support.facewaretech.com/ 官网素材下载:https://www.facewaretech.com/learn/free-assets Faceware Analyzer Faceware Retargeter(Maya) Unity 真…

Tone mapping进化论

转载自 https://zhuanlan.zhihu.com/p/21983679 这几年,随着拍摄设备、渲染方法和显示设备的发展,HDR慢慢会成为标配。照相机和摄像机可以捕捉到HDR的影响,渲染过程中可以产生HDR的画面。这些内容如果需要显示到LDR的设备上,就需…

坐标变换过程(vertex transformation)

原文:https://blog.csdn.net/wangdingqiaoit/article/details/51594408 在上面的图中,注意,OpenGL只定义了裁剪坐标系、规范化设备坐标系和屏幕坐标系,而局部坐标系(模型坐标系)、世界坐标系和照相机坐标系都是为了方便用户设计而…

三灯布光法

原文:https://zhuanlan.zhihu.com/p/62307736?utm_sourcewechat_session&utm_mediumsocial&utm_oi919394520523739136 如果将视频影像比喻成一幅画,光线就是画笔,光影造就了影像画面的立体感。本期圈圈就给大家简单介绍一下视频影像…

齐次坐标

本文是一些关于齐次坐标知识的整合。 https://www.sohu.com/a/258317807_100007727 http://www.songho.ca/math/homogeneous/homogeneous.html https://blog.csdn.net/VenoBling/article/details/87794400 https://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.ht…

Unity SRP自定义渲染管线 -- 4.Spotlight Shadows

英文原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/spotlight-shadows/ 渲染并且读取纹理从光空间(光源角度)渲染为阴影投射(shadow casters)添加一个着色器pass采样阴影贴图支持软阴影…

Unity SRP自定义渲染管线 -- 5.Directional Shadows

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/directional-shadows/ 支持多个方向光阴影控制阴影距离定义独立的主光源渲染和采样级联阴影(cascaded shadow map)使用球形剔除1. Shadows for Directional Lig…

浅析Unity中的Enlighten与混合光照

原文https://www.cnblogs.com/murongxiaopifu/p/8553367.html 0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten【1】来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper——Progressive来提供烘焙全…

聊聊LightProbe原理实现以及对LightProbe数据的修改

原文链接https://www.cnblogs.com/murongxiaopifu/p/8997720.html 0x00 前言 最近工作比较忙,所以文章已经很久没有更新了。这篇小文的主题也是在出差的高铁上想到,因为最近和一些朋友聊天,发现他们中很多人的项目中都使用了多个实时光源。…

3D游戏的照明设计理论,第3部分:三点照明法的异端与误区

https://zhuanlan.zhihu.com/p/87997570 这是有关如何处理游戏照明的系列文章的一部分。第一部分是关于灯具,第二部分是关于光的形式材料。 在第一部分中,我们首先从文化角度考虑了灯光-灯光在整个历史上对不同的人意味着不同的事物,并且在照…

3D游戏的照明设计理论,第4部分:如何在游戏引擎中照亮游戏世界

从更一般和更概念的角度来看,这是有关我如何处理游戏照明的系列文章的一部分。我在Unity中构建了大部分示例,但这通常适用于任何3D游戏引擎,其中大多数具有类似的照明工具。 我们开始思考了有关光照的文化和概念,在第一部分。在第…