法线贴图Shader
法线贴图 (Normal Map) 是一种凹凸贴图 (Bump Map)。它们是一种特殊的纹理,可让您将表面细节(如凹凸、凹槽和划痕)添加到模型,从而捕捉光线,就像由真实几何体表示一样。
法线贴图原理
在模型制作中,我们可以真实的去制作出凹凸感,但是这样会增加模型的面数,增加性能。那么有什么办法,不改模型的面数,就能出现凹凸感呢,那便是使用法线贴图,使用一个2D纹理来储存法线数据。
光照到物体上再通过反射光到人眼,当有凹凸面时,那么反射光线与平面是不一样的,从而产生凹凸感。而反射光线跟物体的法线有关,如果我们修改法线方向,那么反射的光线也会随之改变,当照射到人眼时,便会产生凹凸的感觉,也就模拟了真实的凹凸物体。
现实中我们无法做到,但是在计算机中,我们就可以做到,通过计算,实现一种模拟的凹凸感,用一张2D纹理来存储我们的法线数据,来修复模型的法线,从而实现凹凸的感觉。
那么法线贴图该是什么样的呢?平常我们看到法线贴图通常是这样的。那么为什么会是蓝紫色的呢?
在切线空间中,法线的方向使用z轴来表示,法线方向为(0,0,1)。法线向量从z轴方向往其他方向偏移,即修改x,y的值
法线贴图Shader相关推荐
- 【游戏开发进阶】带你玩转模型法线,实验一下大胆的想法(法线贴图 | shader | Unity | python | 爬虫)
文章目录 一.前言 二.直观感受法线贴图 三.表面法线 1.表面法线的概念 2.空间与坐标系 2.1.世界空间--世界坐标系 2.2.局部空间--局部坐标系 2.3.切线空间--切线坐标系 2.4.小 ...
- 聚光灯+法线贴图 shader
前几天看了两个shader分别是聚光灯和法线贴图,于是想把这两个shader结合起来,产生手电照射潮湿的凹凸墙面效果: 本想很容易就能实现但是由于之前不理解光照模型的计算原理,所以我改起来相当费劲,经 ...
- Unity Shader法线贴图(Normal Map)及其原理
简介 以前经常听说"模型不好看啊,怎么办啊?"答曰"加法线","做了个高模,准备烘一下法线贴图","有的美术特别屌,直接画法线贴图 ...
- unity基础学习之法线贴图
原理和概念 法线是一个向量(x,y,z),每一个顶点都有一个法线,用一个纹理去存储的话,那就是(r,g,b),由于法线是垂直于一个面的,对于2d图片来说,那他的z值就是1 用一张纹理来存储法线的值,法 ...
- OpenGL shader normals法线贴图的实例
OpenGL shader normals法线贴图 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> #in ...
- shader 获取法线_Unity Shader 入门到改行5——法线贴图
the best of blur 1. 法线贴图理论 1.1 什么是法线贴图 一般的贴图中存储的是表面颜色值(RGBA),而法线贴图存放的则是法线信息(xyzw),假设某顶点处的 uv 坐标为 (u, ...
- UV滚动+自定义光线高光+LightMap阴影贴图+法线贴图效果shader
Shader "Custom/FireRingUVShader" {Properties {_Color ("Color Tint", Color) = (1, ...
- Unity Shader - 切线空间的法线贴图应用(T2W W2T)
法线贴图 法线贴图(或是法线纹理)其实就是一张图片中的RGB通道分别存储着法线方向的纹理(有些为了数据压缩将X,Y存储在RG通道,Z是通过1-dot(xy,xy)来近似计算). 它的由来是因为高模运行 ...
- shader graph_在Shader Graph中使用表面梯度框架进行法线贴图合成
shader graph A recent Unity Labs paper introduces a new framework for blending normal maps that is e ...
- OpenGL.Shader:9-学习光照-法线贴图(计算TBN矩阵)
OpenGL.Shader:9-学习光照-法线贴图(计算TBN矩阵) 这次文章学习法线贴图,法线贴图在游戏开发和GIS系统开发当中尤为广泛,其表现力特别的强,绘制的效果特别接近真实.更重要的一点就是, ...
最新文章
- SqlServer基础之(触发器)
- Xstudio+Bugzilla
- 东南大学周张泉:基于知识图谱的推理技术 | 实录·Guru Talk
- android多渠道 依赖,android 不同渠道 添加不同依赖jar 使用不同代码
- 巴科斯范式BNF: Backus-Naur Form介绍
- html怎么实现单个li效果,基于DIV+ul+li实现的表格(多示例)
- leedcode刷题——整数反转
- Android开发笔记(一百三十八)文本输入布局TextInputLayout
- FreeBSD6.1学习笔记[转]
- 计算机视觉 | 面试题:26、LBP算法原理
- div+css实现背景透明
- NAND Flash控制器功能
- c51单片机音乐门铃C语言程序,89c51六首歌曲的音乐门铃程序
- 屏下摄像头,实现这一全面屏终极方案有多难?
- 处理器访问内存时,CPU核、cache、MMU如何协同工作
- mysql 一周签到表_最实用的考勤签到表(上下班签到表);
- 区块链网络管理平台WeBASE双节点可视化部署
- 讲讲我是如何装一个性价比高的EYPC 9654双槽服务器的
- css 手型 没生效,css各种手型集合(css禁止手型)(示例代码)
- element ui 上传图片