搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
繁依Fanyi0
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
vue+element-ui前端使用print-js实现打印,可自定义样式(横纵向,缩放比,字体大小,背景色)_vue element 打印设置颜色
2
Unity3D UDP传输大文件怎么提高速度详解_unity 网络传输大文件
3
句子嵌入: 交叉编码和重排序
4
win10的一些常用快捷键总结【提高你的工作效率!】_win10编辑快捷键
5
Ubuntu20.04+Quadro RTX 5000,3D gaussian环境配置_3d gaussian splatting ubuntu
6
Java-正则表达式校验日期格式(yyyy-MM)_java 日期 pattern正则
7
Python实践——利用pygame构建一个游戏初始界面(一)_如何用pycharm弄游戏开始界面
8
unity的ui怎么显示在鼠标点击位置_unity显示鼠标点击的位置
9
java正则表达式截取时间戳_正则表达式来验证时间戳
10
进程的退出--exit()与_exit()的区别_在父子进程退出时对 exit 和_exit 系统调用的区别进行测试。
当前位置:
article
> 正文
U3D shader基础
作者:繁依Fanyi0 | 2024-02-18 11:37:57
赞
踩
U3D shader基础
1.底层的VertexShader和Pixel Shader
Shader中的
顶点着色器只是代替了模型到投影之间的顶点变换和动画移动缩放旋转,和uv,法向量,切线,颜色,光照的设置, 但不能生成新的顶点
。而最新的geometry shaders和tessellation shaders却可以在顶点着色后进行顶点生成和减少的强大功能。
图形api将顶点从4D裁剪空间变换到ndc坐标系和屏幕坐标系,并将三角形顶点数据数据进行光栅化为像素数据
。
简单来说像素着色器是在图形API光栅化顶点插值(uv,法向量,光照材质,颜色)之后
在每个像素上进行uv采样着色融合,设置光照和阴影着色,修改深度缓存值,获取前一帧的纹理后期处理等
,接着Pixel Shader将像素输出给
图形API进行雾计算,depth/alpha/stencil测试,Blend融合设置,写入后台缓存和反转交换链,提交结果给monitor
。
Shader的效果文件中还可以 进行渲染状态的设置。
2.U3D Shader
unity shader存在三种类型,surface, vertex&frament,fixed funtion前面都是经典的用cg/hlsl,后面是给不支持可编程渲染管道用的用unity特有的shaderlab来实现,其中unity中cg/hlsl需要放在shaderlab中实现。
shaderlab中的属性其实是关联的gameobject中的mesh或vertexlist中的顶点,uv,法向量,颜色或者纹理对象,光照材质,光源 ,雾等,unity中的材质其实是包含了纹理对象和光照属性,很多是material中才有shader,因为顶点着色器需要更多的顶点,转换,光照,渲染状态等计算和集成。
属性有shader名称,显示名称,键值对。subshader是使用第一个,fallback是默认最后一个也不支持那么不使用不会报错。pass是每次都渲染一次对象,提供多次渲染获得效果。pass名称可以在其它着色器中重用它usepass,grappass供后续使用,渲染设置参考文档,纹理设置只在fixed funtion shader中使用。
category是让多个子着色器继承的命令提高重用。子着色器不用声明继承也可以继承。
1)固定
着色器
用shaderlab
在不支持高级着色器特性的老旧硬件上。一般设置渲染状态,材质和纹理渲染参数,在pass中。
2)表面用cg/hlsl只要最关键表面函数
表面函数有固定输出结构,输入输出基本都关注纹理uv,法向量,光照各种颜色,像素颜色。表面函数会编译到pass中,编译为 Vertex&Fragment Shader。
3)顶点和片段cg/hlsl会替换掉顶点变换光照和像素着色
在pass中,最类似hlsl中的effect shader文件的。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/107641?site
推荐阅读
article
Unity
中
Shader
旋转
矩阵
(四维
旋转
矩阵
)_ue
shader
旋转
变换...
在上篇文章中,我们推算出了
Shader
物体
旋转
所使用的二维
旋转
矩阵
。在这篇文章中,我们来推算得到四维
旋转
矩阵
。_ue s...
赞
踩
article
「
UnityShader
笔记」04.
齐次
坐标
与
仿射变换
_
unity
shader
其次
坐标
...
介绍为何引入
仿射变换
,以及常见变换矩阵
_
unity
shader
其次
坐标
unity
shader
其次
坐标
...
赞
踩
article
Unity3d
插件
着色器
(Shader)报错T
o
o
many
texture
interp
o
lat...
如图的问题出现在别人分享的一些插件在不同版本的情况下会出现
着色器
的报错问题。而且使用该
着色器
材质的模型都没法正常显示。问...
赞
踩
article
【
Unity
Shader
】
自定义
材质
面板
的小技巧...
写在前面之前遇到过一些朋友问怎么在
材质
面板
里定义类似于bool这种变量,控制一些代码的执行。我们当然可以写一个C#文件来...
赞
踩
article
【
Material
PropertyDrawer】
unity
Shader
Material
面板美...
https://docs.
unity
3d.com/ScriptReference/
Material
PropertyDra...
赞
踩
article
Unity
工具
“常用
插件
九大分类汇总”(
UI
/VR/AR/建模/
Shader
/动画/网络/AI/资...
unity_
ar
/vr
ui
资源
ar
/vr
ui
资源
一、
UI
/ 2D 相关: 1、Dooz...
赞
踩
article
Unity
Shader - 根据片段
深度
重建片段的
世界
坐标
_
unity
从
深度
缓冲重建
世界
空间位置...
获取当前绘制片段的
世界
坐标
在
Unity
中,获取当前绘制对象中的片段的
世界
坐标
,可以按下列方式:struct a2v { ...
赞
踩
article
URP
编写
自定义
Shader
(
5
) 从深度纹理
重建
像素的世界空间位置...
https://docs.unity3d.com/Packages/com.unity.render-pipelines...
赞
踩
article
graphic
方法重写
unity
_
Unity
Shader
深度值
重建
世界坐标
...
根据深度
重建
世界坐标
证明
世界坐标
重建
正确的方法首先,得先找到一种证明反推回世界空间位置正确的方法。这里,我在相机前摆放几...
赞
踩
article
【
Unity
Shader
】
Unity
中阴影映射标准制作流程_
unity
_
vertex
_
output
...
Unity
中实现实时阴影。_
unity
_
vertex
_
output
_stereo
unity
_
vertex
_
output
_...
赞
踩
article
【
unity
shader
/
风格化
水
表面
渲染
/基础笔记】
urp
代码版
01
-
水
面与
水
底的
深度
判断_ur...
urp
shader
水
面与
水
底的
深度
判断_
urp
水
渲染
urp
水
渲染
...
赞
踩
article
Unity
Shader
基础(
4
) 由
深度
纹理
重建
坐标
...
在PostImage中经常会用到物体本身的位置信息,但是Image Effect自身是不包含这些信息的,因为屏幕后处其实...
赞
踩
article
0基础
UnityURP
渲染
管线人物
渲染
_皮肤_头发_眼睛_各向异性_
SSS
之实践_
human
sha...
关于次表面散射一般脸部的Shader,都是脸部最重要,- 这和同人的需求不同- 而且国内手游对这样的脸部实现需求就还好-...
赞
踩
article
Unity
Shader
关于“
表面
着色器
”切换
URP
渲染管线
Shader
不可用的问题_
unity
表...
Unity
Shader
关于“
表面
着色器
”切换
URP
渲染管线
Shader
不可用的问题_
unity
表面
着色器
升级urpu...
赞
踩
article
Unity
Built
-
in
(内置渲染管线的
shader
)升级到
URP
(渲染管线的
shader
...
Unity
开发过程中,由于前期积累了很多Shader 但是很多都是 内置渲染管线,现在新立项一般都采用
URP
渲染管线,那...
赞
踩
article
Unity
Shader
学习笔记(3)
URP
渲染管线带阴影
PBR
-
Shader
模板(
ASE
优化版本...
Unity
-
URP
渲染管线使用
PBR
-
Shader
模板,支持
URP
内投射和接受阴影;_
aseshader
pbr
ases...
赞
踩
article
初识
Unity
SRP
_
unity
shader
srp是什么...
Unity
SRP
即
Unity
Scriptable Rendering Pipeline(可编程渲染管线),是Un...
赞
踩
article
Unity
之
ASE
+
ShaderGraph
+VFX入门到精通 目录_vfx
graph
与 shad...
这里是
ASE
+
ShaderGraph
+VFX从入门到精通专栏的目录,不停更新中,有问题随时留言或者私信。_vfx gra...
赞
踩
article
Unity
Shader
Graph
Ase三者分别有什么不一样的地方?_
shader
graph
和
s...
着色器 (
Shader
) 应用于计算机图形学领域,指一组供计算机图形资源在执行渲染任务的时使用的指令,用于计算机图形的...
赞
踩
article
unity
+
shader
实现
高性能
多
图片叠加输出
_
shader
多
图集
...
效果如下话不
多
说,直接上代码
shader
Shader "Paint3D/AddTexture"{ Properties ...
赞
踩
相关标签
unity
矩阵
java
算法
图形渲染
技术美术
Unity着色器报错
Unity着色器
Unity Too many
Unity3d vert
游戏
c#
ui
vr
unity重构世界坐标
深度重构世界坐标
ReconstructWP
RebuildWorldPos
从深度缓冲转换世界坐标
shader
unity3d
游戏开发
opengl
graphic方法重写 unity