为突出物体表面细节的三个贴图:bump/Normal 和 displacement

对于前俩其实本质上是差不多的,一个是存储高度差信息,一个是存储法线信息,就算是高度差,也是经过计算得到高度变化后的法线。总的来说他俩都是营造假的凹凸细节。

针对第三个就不一样了,他是真的对物体表面的顶点进行偏移。注意是顶点,像素是没办法偏移的,fragment出现的时候都是投影后的结果了,便宜肯定要在3D空间进行的,只能偏移后再投影,而投影之前没有fragment这一说,我们能够操控的就只有顶点,让顶点在3D空间下进行一个偏移。

下文所说的置换贴图应该就是displacement。

法线与置换贴图原理讲解以及烘焙制作! - 知乎 (zhihu.com)

所以说想要实现真正的凹凸,就要使用displacement的贴图,而这个贴图的实现是对顶点进行一个位置的偏移,如果说顶点比较稀疏,那么这个顶点偏移也无法带来比较好的凹凸效果。

而我们直接提供高精度的模型消耗有很大,所以动态细分就出现了,提供低模,低模进行细分来得到更多的顶点,再对这个顶点进行相应的偏移来得到真实的凹凸感效果。

这里还提到了雪地中的脚印,是可以使用曲面细分着色器来优化。

这里并不直接使用高精度的模型,而使用曲面细分,是因为这家伙会动脑子,他会根据距离和一些规则等信息来调整哪里需要细分,哪里不需要,哪里需要细分的精致,哪里需要需要粗略的细分。

Hull主要定义细分的参数:比如边上怎么细分,三角形内部如何细分。

Domin shader,由于我们细分的点是在重心空间,而我们要在这里把他给还原会原来的空间。

会有一个输入参数,patch,多个顶点的几何,同时会传进来一组属性,这个属性是这些顶点共用的,也就是针对这个patch的。

这个是交代,对于一条线如何分的,可以等分,也可以下面俩分法,没整明白。但是下面俩好像是为了更加平滑的过渡而存在的。

这个是内部添加三角形的时候,他是怎么添加的。

比如第一个,他这里如果指定了3,那么这里会把边分成3份(这个和上边的一条边分几份没关系,这个分三份是为了找到内部的点做的辅助点)

然后过该点的垂直线延长,两两垂直线找交点即可。

几何着色器就是输入图元,然后自己基于输入的图元顶点,构建出新的顶点或者沿用原图元的顶点,最后组合出一个新的图元输出。

学习笔记28(凹凸贴图,法线贴图,位移贴图)相关推荐

  1. UE4 Material 101学习笔记——08-12 凹凸和视差贴图/纹理压缩/布料/体积冰/摇曳树叶

    UE4 Material 101学习笔记--08-12 凹凸和视差贴图/纹理压缩/布料/体积冰/摇曳树叶 Lec08 凹凸和视差贴图 Bump Offset and Parallax Occlusio ...

  2. Python学习笔记28:从协议到抽象基类

    Python学习笔记28:从协议到抽象基类 今后本系列笔记的示例代码都将存放在Github项目:https://github.com/icexmoon/python-learning-notes 在P ...

  3. 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储

    Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...

  4. Li‘s 影像组学视频学习笔记(28)-ROI/病灶体积的计算、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学的系列教学视频 本节(28)主要讲解: 用SimpleITK包进行ROI/病灶体积的计算 1.加载包 import SimpleITK as sitk im ...

  5. Windows 8 DirectX 开发学习笔记(十五)使用Billboard实现树木贴图

    要使用DirectX来获得三维效果,一般首先要生成一个三维模型,然后计算它在可视空间中的投影.这样得到的二维图像十分真实,但是计算量也很大.在大规模场景渲染中,随着模型精度的提高,这样的处理方式十分消 ...

  6. Tableau学习笔记(进阶)——(7)多边形地图和背景图地图:设置地理信息(自定义地图码导入、设置地图源)

    上一小节链接. 目录 1.多边形地图 1.1 多边形地图的相关概念 1.2 英国国家公园多边形地图 2.设置地理信息 2.1 自定义地理码导入 (1)扩展现有角色: (2)新加角色 (3)添加新分层结 ...

  7. 31 天重构学习笔记28. 为布尔方法命名

    摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链 ...

  8. Windows 8 DirectX 开发学习笔记(十六)使用Terragen生成自然环境贴图

    DirectX 游戏编程入门中提到一个Terragen软件可以生成环境贴图,所以登陆它的官方网站看了下.没想到Terragen生成的图片和照片一样,效果非常好,很多电影里有用到,所以下载免费版尝试一下 ...

  9. 学习笔记(43):R语言入门基础-plot绘制箱体图

    立即学习:https://edu.csdn.net/course/play/24913/285838?utm_source=blogtoedu #plot()中.当一个x为as.factor(a)时, ...

最新文章

  1. es6中export和export default的区别
  2. delphi xe http 收不到反馈消息_20款途乐4.0 xE 办公室开票
  3. mysql同步到另一台服务器_mysql两台服务器主从同步
  4. “约见”面试官系列之常见面试题之第九十五篇之vue-router的组件组成(建议收藏)
  5. 把数据输出到Word (非插件形式)
  6. mysql生活使用方法_MySQL Workbench使用教程
  7. 算法:求数组区间的和Range Sum Query - Immutable
  8. vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
  9. PSS E v33.40 1CD(大型电力系统仿真计算软件)
  10. 迅雷连接转化为http链接
  11. linux中vim删除某个符号,在 Vim 中,删除 ^@ 符号的几种方法
  12. Qt 利用海康摄像头的ISAPI协议进行抓图等操作
  13. 机器学习 - 训练集、验证集、测试集
  14. 「笔耕不辍」MQ的原理以及持久化
  15. 初学Python,需要装什么软件?
  16. PHPstudy 数据库基本操作
  17. LintCode 644. 镜像数字 JavaScript算法
  18. 深度 | 智慧城市背景下的“多规合一”标准探究
  19. svm+特征提取做分类
  20. 一体的综合化云控平台

热门文章

  1. 三维空间 点线面解析
  2. 【问题记录】02 Linux服务器安装MySql数据库报错:Failing package is: mysql-community-server GPG Keys are configured as
  3. CTA入网认证业务办理
  4. Unity2021 Inventory(背包)系统学习记录
  5. the disk drive for uuid=XXXX ( /media/sda1) is not reday yet or not present
  6. [nltk_data] Error loading words: <urlopen error [Errno 11004]
  7. oracle subquery是什么,Oracle11gR2RSF(RecuriveSubqueryfactoring)-Oracle
  8. 软件工程面向对象分析
  9. 第四周项目1---建立单链表
  10. 小程序marker callout 遇到的坑