NormalMapping

NormalMapping

  法线贴图内的数据是法线,高度贴图内的数据是高度,不是一个东西。在ShaderLab中,UnpackNormal()分析的是法线贴图(注意不是高度贴图)。

  

  可以看到,在GLES环境下及Mobile环境下,normal中存储的只是0-1的值。而UnpackNormal将值从0-1转换到-1-1。

  法线贴图类似如下这张:

  

  照例,使用Texture需要先定义:

  

  要定义NormalTex的UV:

  

  最后通过UnpackNormal解出Normal:

  

  下面是使用与未使用法线贴图的效果:

    

How it works

  可以通过增大x、y分量来增强高度差体验:

  

  

时间: 2024-10-20 01:30:44

NormalMapping的相关文章

一个小demo的开发日记(〇)

在大概两周(三周?)前,出于某些原因(w)我做了个小demo.(虽然因为各种各样的原因导致做它的时间只有一周多了…所以它还远没有完成OTL) 在目前看来,它主要的亮点啊啥的之类的东西大概可以用下面的(g)视(i)频(f)来代表w: 大概就是一个树木生长的过程,以及一个日夜交替(晚上的星星被gif几乎快压没了). (实际上才没这么点东西!但是没做完什么的TAT) 所用工具是Unity,不过为了性能全写的是Unlit Shader(按我的理解应该是不参与Unity5.x的GI(全局光照).这个Unl

第九章 Normal Mapping and Displacement Mapping

第九章 Normal Mapping and Displacement Mapping 本章主要讲述两种图形学技术,支持在不增加objects的poly primitive的情况下,在场景中增加更多的细节.第一种是normal mapping,通过创建一些"fake" geometry(虚设的多边形图元)模拟光照作用.第二种是displacement mapping,根据纹理数据moving vertices actually(与"fake"相对应,这里指真实的移动

Shader编程学习笔记(四)——Unity Shader的组织形式(ShaderLab)

Unity Shader的组织形式 Unity Shader的形态 Unity官方手册上讲Unity Shader有三种不同的编写方案,这三种编写方案分别是surface shaders.vertex and fragment shaders和fixed function shaders. 从前面几篇笔记中可以了解到,可编程图形管线中能够编写shader的主要是两个部分:vertex shader和fragment shader,但Unity还有surface shaders和fixed fun

LearnOpenGL

---------------------------------------------- LearnOpenGL ---------------------------------------------- OpenGL基础知识: https://www.opengl.org/:OpenGL官方网站. https://www.opengl.org/registry/:包含OpenGL各版本的规范和扩展. https://learnopengl-cn.github.io https://khr

Unity 手机屏幕适配

////如有侵权 请联系我进行删除 email:[email protected] 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点: 1-1.什么是像素? 单位面积中构成图像的点的个数. 特点:单位面积内的像素越多,分辨率越高,图像的效果就越好. 1-2.什么是分辨率? 分辨率可以从显示分辨率与图像分辨率两个方向来分类. 示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少.分辨率的单位有:(dp

Skyshop代码解析

MarmosetInput.cginc: Input结构定义: struct Input { #if defined(MARMO_PACKED_UV) || defined(MARMO_PACKED_VERTEX_OCCLUSION) || defined(MARMO_PACKED_VERTEX_COLOR) float4 texcoord; #else float2 texcoord; #endif float3 worldNormal; #if defined(MARMO_SPECULAR_