学习笔记28(凹凸贴图,法线贴图,位移贴图)
为突出物体表面细节的三个贴图:bump/Normal 和 displacement
对于前俩其实本质上是差不多的,一个是存储高度差信息,一个是存储法线信息,就算是高度差,也是经过计算得到高度变化后的法线。总的来说他俩都是营造假的凹凸细节。
针对第三个就不一样了,他是真的对物体表面的顶点进行偏移。注意是顶点,像素是没办法偏移的,fragment出现的时候都是投影后的结果了,便宜肯定要在3D空间进行的,只能偏移后再投影,而投影之前没有fragment这一说,我们能够操控的就只有顶点,让顶点在3D空间下进行一个偏移。
下文所说的置换贴图应该就是displacement。
法线与置换贴图原理讲解以及烘焙制作! - 知乎 (zhihu.com)
所以说想要实现真正的凹凸,就要使用displacement的贴图,而这个贴图的实现是对顶点进行一个位置的偏移,如果说顶点比较稀疏,那么这个顶点偏移也无法带来比较好的凹凸效果。
而我们直接提供高精度的模型消耗有很大,所以动态细分就出现了,提供低模,低模进行细分来得到更多的顶点,再对这个顶点进行相应的偏移来得到真实的凹凸感效果。
这里还提到了雪地中的脚印,是可以使用曲面细分着色器来优化。
这里并不直接使用高精度的模型,而使用曲面细分,是因为这家伙会动脑子,他会根据距离和一些规则等信息来调整哪里需要细分,哪里不需要,哪里需要细分的精致,哪里需要需要粗略的细分。
Hull主要定义细分的参数:比如边上怎么细分,三角形内部如何细分。
Domin shader,由于我们细分的点是在重心空间,而我们要在这里把他给还原会原来的空间。
会有一个输入参数,patch,多个顶点的几何,同时会传进来一组属性,这个属性是这些顶点共用的,也就是针对这个patch的。
这个是交代,对于一条线如何分的,可以等分,也可以下面俩分法,没整明白。但是下面俩好像是为了更加平滑的过渡而存在的。
这个是内部添加三角形的时候,他是怎么添加的。
比如第一个,他这里如果指定了3,那么这里会把边分成3份(这个和上边的一条边分几份没关系,这个分三份是为了找到内部的点做的辅助点)
然后过该点的垂直线延长,两两垂直线找交点即可。
几何着色器就是输入图元,然后自己基于输入的图元顶点,构建出新的顶点或者沿用原图元的顶点,最后组合出一个新的图元输出。
学习笔记28(凹凸贴图,法线贴图,位移贴图)相关推荐
- UE4 Material 101学习笔记——08-12 凹凸和视差贴图/纹理压缩/布料/体积冰/摇曳树叶
UE4 Material 101学习笔记--08-12 凹凸和视差贴图/纹理压缩/布料/体积冰/摇曳树叶 Lec08 凹凸和视差贴图 Bump Offset and Parallax Occlusio ...
- Python学习笔记28:从协议到抽象基类
Python学习笔记28:从协议到抽象基类 今后本系列笔记的示例代码都将存放在Github项目:https://github.com/icexmoon/python-learning-notes 在P ...
- 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储
Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...
- Li‘s 影像组学视频学习笔记(28)-ROI/病灶体积的计算、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学的系列教学视频 本节(28)主要讲解: 用SimpleITK包进行ROI/病灶体积的计算 1.加载包 import SimpleITK as sitk im ...
- Windows 8 DirectX 开发学习笔记(十五)使用Billboard实现树木贴图
要使用DirectX来获得三维效果,一般首先要生成一个三维模型,然后计算它在可视空间中的投影.这样得到的二维图像十分真实,但是计算量也很大.在大规模场景渲染中,随着模型精度的提高,这样的处理方式十分消 ...
- Tableau学习笔记(进阶)——(7)多边形地图和背景图地图:设置地理信息(自定义地图码导入、设置地图源)
上一小节链接. 目录 1.多边形地图 1.1 多边形地图的相关概念 1.2 英国国家公园多边形地图 2.设置地理信息 2.1 自定义地理码导入 (1)扩展现有角色: (2)新加角色 (3)添加新分层结 ...
- 31 天重构学习笔记28. 为布尔方法命名
摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年 10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链 ...
- Windows 8 DirectX 开发学习笔记(十六)使用Terragen生成自然环境贴图
DirectX 游戏编程入门中提到一个Terragen软件可以生成环境贴图,所以登陆它的官方网站看了下.没想到Terragen生成的图片和照片一样,效果非常好,很多电影里有用到,所以下载免费版尝试一下 ...
- 学习笔记(43):R语言入门基础-plot绘制箱体图
立即学习:https://edu.csdn.net/course/play/24913/285838?utm_source=blogtoedu #plot()中.当一个x为as.factor(a)时, ...
最新文章
- es6中export和export default的区别
- delphi xe http 收不到反馈消息_20款途乐4.0 xE 办公室开票
- mysql同步到另一台服务器_mysql两台服务器主从同步
- “约见”面试官系列之常见面试题之第九十五篇之vue-router的组件组成(建议收藏)
- 把数据输出到Word (非插件形式)
- mysql生活使用方法_MySQL Workbench使用教程
- 算法:求数组区间的和Range Sum Query - Immutable
- vmrc安装出现:未能安装 HCmon 驱动程序 (Failed to install the HCmon driver)
- PSS E v33.40 1CD(大型电力系统仿真计算软件)
- 迅雷连接转化为http链接
- linux中vim删除某个符号,在 Vim 中,删除 ^@ 符号的几种方法
- Qt 利用海康摄像头的ISAPI协议进行抓图等操作
- 机器学习 - 训练集、验证集、测试集
- 「笔耕不辍」MQ的原理以及持久化
- 初学Python,需要装什么软件?
- PHPstudy 数据库基本操作
- LintCode 644. 镜像数字 JavaScript算法
- 深度 | 智慧城市背景下的“多规合一”标准探究
- svm+特征提取做分类
- 一体的综合化云控平台
热门文章
- 三维空间 点线面解析
- 【问题记录】02 Linux服务器安装MySql数据库报错:Failing package is: mysql-community-server GPG Keys are configured as
- CTA入网认证业务办理
- Unity2021 Inventory(背包)系统学习记录
- the disk drive for uuid=XXXX ( /media/sda1) is not reday yet or not present
- [nltk_data] Error loading words: <urlopen error [Errno 11004]
- oracle subquery是什么,Oracle11gR2RSF(RecuriveSubqueryfactoring)-Oracle
- 软件工程面向对象分析
- 第四周项目1---建立单链表
- 小程序marker callout 遇到的坑