shader
文章平均质量分 71
palawind
这个作者很懒,什么都没留下…
展开
-
法线和切线
什么是切线空间?切线空间就是,基于模型上的一个顶点建立的坐标空间,它的X轴是这个顶点在模型中的切线分量,Z轴是改点在模型上的法线,Y轴就是这个顶点的副切线,因为坐标空间XYZ三个面都是互相垂直的嘛,所以这个副切线我们是可以求出来的(以为同样是与一个平面垂直的单位向量是有两方向的,在Unity中模型会提供一个副切线的方向的数据)。来上一个图,让我们更好的理解这个所谓的切线空间。所以,法线贴图就是记录...原创 2018-05-09 11:15:41 · 9464 阅读 · 0 评论 -
Shader第十三讲 Alpha混合
原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 Shader第十三讲 Alpha混合Alpha Blending,中文译作Alpha混合Blending就是控制透明的。处于光栅化的最后阶段。这里例如我们给一个模型贴一个材质,那么在某个点计算出来颜色值称为源,而该点之前累积的颜色值,叫目标。语法Blend Off 不混合Ble...原创 2018-06-03 23:19:34 · 242 阅读 · 0 评论 -
Unity Shader-渲染队列,ZTest,ZWrite,Early-Z
简介在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效果并不好。所以目前更加常用的方式是z-buffer算法,类似颜色缓冲区缓冲颜色,z-buffer中存储的是当前的深度信息,对于每个像素...原创 2018-06-03 23:38:49 · 196 阅读 · 0 评论 -
Cull 指令
unity在区分物体的正反面是根据三角形的顶点顺序(正面顺时针)(反面逆时针)正方体: 对于正方体这种前后看有2个正方形的,可以理解为外表面和内表面上色平面:对于平面这种只有1个正方形的,可以理解为正面和反面上色unity默认选择cull back,对于 平面来说 就是只有正面看到,反面看过去是穿透什么都没有对于 正方体 来说 就是只有 从正方体外面能看到东西, 从正方体内部往外看是什么都看不...原创 2018-06-06 13:28:41 · 3511 阅读 · 1 评论 -
shader入门精要数据表
可以同时用在pass里和pass外只能用在pass外只能用在pass内常用的矩阵原创 2018-06-22 13:19:07 · 223 阅读 · 0 评论 -
缓存区
颜色缓冲区:就是帧缓冲区(图形设备的内存),需要渲染的场景的每一个像素都最终写入该缓冲区,然后由他渲染到屏幕上显示。 深度缓冲区:与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确。(注意区分深度测试和背面剔除) 模板缓冲区:与深度缓冲区类似,通过设置模板缓冲每个像素的值,我们可以在渲染的时候只渲染后写像素,从而可以达到一些特殊...原创 2018-06-08 14:22:39 · 246 阅读 · 0 评论 -
shader入门精要 读后总结
1cpu把网格从硬盘加载到显存2cpu设置网格的渲染状态,哪个网格用哪个shader3cpu告诉gpu渲染这个drawcalldrawcall理解为cpu对gpu发起一个命令。此命令指向需要被渲染的图元列表,不包含任何材质信息顶点数据->顶点着色器(模型坐标到投影坐标)->裁剪(摄像机外的扔掉,一半一半的构建新顶点)->屏幕映射 ->三角形设置(计...原创 2018-06-18 18:01:34 · 744 阅读 · 0 评论 -
模板测试
模板测试(Stencil testing)当片段着色器处理完片段之后,模板测试(stencil test) 就开始执行了,和深度测试一样,它能丢弃一些片段。仍然保留下来的片段进入深度测试阶段,深度测试可能丢弃更多。模板测试基于另一个缓冲,这个缓冲叫做模板缓冲(stencil buffer),我们被允许在渲染时更新它来获取有意思的效果。模板缓冲中的模板值(stencil value)通常是8位的,因...原创 2018-06-18 20:06:46 · 1191 阅读 · 0 评论 -
Unity中的混合因子
SrcFactor 为源颜色 DstFactor 为目标颜色Orgb=SrcFactor×Srgb+DstFactor×DrgbOa=SrcFactorA×Sa+DstFactorA×DaShaderLab中设置混合因子的命令:命令描述Blend SrcFactor DstFactor开启混合,并设置混合因子,具体公式如上,降最终颜色混合Blend SrcFactor DstFactor,ScrF...原创 2018-06-19 15:58:58 · 441 阅读 · 0 评论 -
cg语言
//todo原创 2018-06-03 21:45:15 · 366 阅读 · 1 评论 -
Unity Shader入门精要笔记 UNITY_MATRIX_MVP 和 _worldspacecamerapos
https://blog.csdn.net/lzhq1982/article/details/73747162本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢。http://blog.csdn.net/lzhq1982/article/details/73747162前两篇介绍了Unity Shader的主要数学部分,书上还有些相关的数学介绍,将在这篇做最后的总结。1、法线...原创 2018-06-03 18:25:39 · 22276 阅读 · 1 评论 -
mul函数--- 物体-世界-视图-投影
基本信息mul函数mul函数,是表示矩阵M和向量V进行点乘,得到一个向量Z,这个向量Z就是对向量V进行矩阵变换后得到的值。 HLSL的mul函数接受mul(V, M)或mul(M, V),要注意通常HLSL要依DirectX计算(V * M)使用mul(V, M)的形式. 特别需要小心的是,V如果是float3,前后行列不等,违反HLSL规范,但shader编译也不报错,直接当成float4(V,...原创 2018-06-03 18:24:59 · 5817 阅读 · 0 评论 -
Unity3D Shader 入门
什么是ShaderShader(着色器)是一段能够针对3D对象进行操作、并被GPU所执行的程序。Shader并不是一个统一的标准,不同的图形接口的Shader并不相同。OpenGL的着色语言是GLSL, NVidia开发了Cg,而微软的Direct3D使用高级着色器语言(HLSL)。而Unity的Shader 是将传统的图形接口的Shader(由 Cg / HLSL编写)嵌入到独有的描述性结构中而...原创 2018-06-03 00:38:42 · 4063 阅读 · 1 评论 -
shaderforge
原文链接:https://blog.uwa4d.com/archives/USparkle_ShaderForge.html这是侑虎科技第192篇原创文章,作者文雅。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群465082844)同时,作者也是U Sparkle活动参与者哦,UWA欢迎更多开发朋友加入 U Sparkle开发者计划,这个舞台有...原创 2018-05-26 16:23:09 · 755 阅读 · 0 评论 -
shader 总结
shaderforge==熟练掌握shader编写各种游戏效果Compute Shader到底是什么?简单来说,Compute Shader 就是一段运行在 GPU上的程序,这段程序并不需要用来处理网格数据或者是纹理数据的,它是工作在OpenGL或者DirectX的内存空间中的(不像OpenCL那样拥有自己的内存空间),它们可以输出缓冲数据或者纹理并且在多个执行的线程间共享内存。把在cpu运行的矩...原创 2018-05-08 10:55:19 · 225 阅读 · 0 评论 -
shader
Shader "Simple colored lighting"{ Properties { _Color ("Main Color",Color) =(1,.5,.5,1) } SubShader { Pass { ...原创 2018-04-28 17:44:12 · 133 阅读 · 0 评论 -
Unity Shader-法线贴图(Normal)及其原理
简介以前经常听说“模型不好看啊,怎么办啊?”答曰“加法线”,”做了个高模,准备烘一下法线贴图”,“有的美术特别屌,直接画法线贴图”.....法线贴图到底是个什么鬼,当年天真的我真的被这个图形学的奇淫杂技忽悠了,然而毕竟本人还算有点刨根问底的精神,决定研究一下法线贴图的原理以及Unity下的实现。本人才疏学浅,如有错误,欢迎指正。法线贴图是目前游戏开发中最常见的贴图之一。我们知道,一般情况下,模型面...原创 2018-06-03 02:08:34 · 592 阅读 · 0 评论 -
切线空间tangent space(转载)
转载 : http://blog.csdn.net/bonchoix/article/details/8619624切换空间,同局部空间、世界空间等一样,是3D图形学中众多的坐标系之一。切换空间最重要的用途之一,即法线映射(Normal Mapping)。关于法线映射的细节,将在下一篇文章中详细介绍。但在学习法线映射之前,深刻地理解切换空间非常重要。因此借这一篇文章来学习下它,以为后面学习法线映射...原创 2018-06-03 02:09:11 · 1091 阅读 · 1 评论 -
法线贴图原理
转自http://www.cnblogs.com/tekkaman/p/3992352.html法线贴图原理【法线贴图原理】 如果法线处于世界坐标中的(world space),那称为world space normal。如果是处于物体本身局部坐标中的,那称为object space normal。 很容易想象,world space normal一旦从贴图里解压出来后,就可以直接用了,效率很...原创 2018-06-03 14:59:42 · 465 阅读 · 0 评论 -
shader 变量类型fixed half float
CG类型CG支持7种数据类型:float 32位浮点数half 16位浮点数int 32位整形数fixed 12位定点数bool 布尔数据sampler 纹理对象的句柄 共有:sampler、sampler1D、sampler2D、sampler3D、samplerCUBE、和samplerRECT六种。string 字符串,其实没有必要在CG中用到字符串12345678此外,...原创 2018-06-03 17:33:07 · 10512 阅读 · 0 评论 -
光照模型
自发光===========环境光fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz;漫反射兰伯特定律Lambert's lawdiffuse = c light * m diffuse * max(0, dot (n * l) )l为光源方向,c为光源颜色,m为漫反射颜色高光反射phong模型specular = c light * m specula...原创 2018-06-19 17:31:50 · 208 阅读 · 0 评论