纹理
来源:互联网 发布:供应商品质数据库建立 编辑:程序博客网 时间:2024/04/29 03:00
Bump Mapping
Bump Mapping的目的是使用一张纹理来修改模型表面的法线,以便为模型提供更多的细节。
Bump Mapping不会真正的改变模型的顶点位置,只是让模型看起来”凹凸不平”
Bump Mapping 的方法:
- Height Mapping :使用一张高度图来实现凹凸映射,高度图中存储的是强度值(intensity)–灰度值,它用于表示模型表面局部的海拔高度。 优点:可以通过一张凹凸图中知道模型表面的凹凸情况。缺点:不能直接得到法线,二是需要由像素的灰度值计算得到。
- Normal Mapping : 使用一张纹理法线(Normal Map)来直接存储表面法线。法线纹理中存储的是模型表面的法线方向。
Normal Map:
* 用纹理中的像素值表示法线时,需要做一个映射。法线方向的分量范围[-1,1],而像素的分量范围为[0,1] 映射公司:
normal = pixel * 2 - 1;
坐标空间的纹理法线
模型空间的法线纹理
切线空间的法线纹理
- 使用切线空间的优点:
- 自由度高,模型空间下的法线纹理记录的是绝对法线信息,仅可用于创建它时的那个模型。切线空间下的法线纹理记录的是相对法线信息,这意味着,即使把该纹理应用到一个完全不同的网格上,也可以得到一个合理的结果。
- 可进行UV动画,eg: 移动一个纹理的UV坐标来实现一个凹凸移动的效果。
- 可以重用法线纹理。eg:比如一个砖块,我们仅适用一张法线纹理就可以用到所有的六个面上。
- 可压缩。切线空间下的法线纹理中的法线Z方向总是正方向,因此我们可以仅存储XY方向,通过叉乘推导出Z方向。
- 使用切线空间的优点:
0 0
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- 纹理
- Swift基础之CoreData的使用
- Linux进程调度内核实现分析
- debian8 安装jdk1.8
- java gui处理2D图形
- 自定义过滤器与struts2过滤器执行顺序(web.xml中的配置顺序)
- 纹理
- 微信小程序_厕所雷达
- 因子分析Factor analysis
- ps图层混合计算公式
- eclipse解决jdk版本不同导致报错
- Web组件的三种关系
- Java 基础概念 与 简单配置配置
- Fuhome推出FuIP3.0专为单片机联网的协议栈 51 stm32 avr 都可以,采用ENC28J60
- (三)剑指offer之从尾到头打印链表