Shader
文章平均质量分 77
yy763496668
这个作者很懒,什么都没留下…
展开
-
Shader_介绍001
Shader(着色器)是用来控制可编程图形渲染管线的程序,Shader是伴随可编程渲染管线出现的,它替代了传统的固定管线,可以在渲染管线中应用3D图形学的相关计算,极大地拓展了创作者的发挥空间,因此Shader的出现可以看作是渲染技术的一次革命。由于GPU采用的是不同于CPU的并行运算结构,因此需要一种适用于GPU的编程语言。目前这种面向GPU的编程有3种语言可供选择:微软提供的基于Direct3D原创 2017-08-19 13:52:51 · 507 阅读 · 0 评论 -
Shader_Shader中的属性008
材质和UnityShader之间紧密联系,材质提供给我们一个可以方便的调节UnityShader中参数的方式,通过这些参数,我们可以随时调整材质的效果。而这些参数就需要写在Properties语义块儿中。 常用的的属性如下: //漫反射// 逐顶点光照Shader "yy/SimpleShader" { Properties{ //声明一个Color类型的属性...原创 2018-09-11 10:37:42 · 271 阅读 · 0 评论 -
Shader_顶点着色器和片元着色器之间通信007
//漫反射// 逐顶点光照Shader "yy/SimpleShader" { SubShader{ Pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag //定义一个结构体来定义顶点着色...原创 2018-09-11 10:13:18 · 831 阅读 · 0 评论 -
Shader_模型数据从哪里来006
在《 Shader_vert和frag函数的学习004》中我们我们使用POSITION语义得到了模型的顶点位置,如果我们想得到更多的模型数据该怎么办呢?比如我们想得到每个顶点的纹理坐标和法线方向。纹理坐标访问纹理,法线可用于计算光照,因此我们要为顶点着色器定义一个新的输入参数,这个参数不再是一个简单的数据类型,而是一个结构体。修改代码如下:// Upgrade NOTE: replaced...原创 2018-09-11 09:35:18 · 297 阅读 · 0 评论 -
Shader_Shader中的内置函数010
转载自https://blog.csdn.net/swj524152416/article/details/52980011 天生爱赞美今天给大家列出来shader中常用的一些函数,函数后面有释义,大家可以打印出来,或者在写shader的时候来这篇文章查阅,看看你需要用到哪些。Cg提供了一系列内建的标准函数。这些函数用于执行数学上的通用计算或通用算法(纹理映射等), 有些函数...原创 2018-09-11 15:12:16 · 1322 阅读 · 0 评论 -
Shader_固定管线005
Shader "YY/03Shader" { Properties{ _Color("Color",Color) = (1,1,1,1) //环境光 _Ambient("Ambiend",Color) = (0.3,0.3,0.3,0.3) //高光 _Specular("Specular",color) = (1原创 2017-08-21 21:41:04 · 267 阅读 · 0 评论 -
Shader_vert和frag函数的学习004
由于代码注释比较全面,这里不在赘述//Shader的名字中是可以包含空格的Shader "YY/02YYShader"{ Properties{ _Color("Color",Color) = (1,1,1,1) } SubShader{ Pass{ CGPROGRAM //在CG代码块使用属性中原创 2017-08-20 12:26:43 · 2988 阅读 · 0 评论 -
Shader_Shader的其他属性及使用003
Shader的其他属性及其使用规则都在源码中注释了,在这里不在赘述 参考代码如下://定义Shader 的名字 不要求和文件的名字一样//YY是Shader的目录 MyShader是Shader 的名字Shader"YY/01 MyShader"{ //属性部分 只能有一块 //属性中的代码是没有分号的 Properties{ //属性原创 2017-08-19 23:47:32 · 426 阅读 · 1 评论 -
Shader_创建、编写Shader002
在Assets面板空白地方点击鼠标右键,选择Create然后选择Shader,在里面有四种Shader: 第一种:Standard SurfaceShader 第二种:UnlitShader 第三种:ImageEffectShader 第四种:ComputeShader 我们本博文介绍的就是第一种Standard SurfaceShader。如图所示 点击创建文件,我们可以将文件名命原创 2017-08-19 15:12:56 · 495 阅读 · 0 评论 -
Shader_Shader中的语义009
语义实际上就是一个赋给Shder输入和输出的字符串,这个字符串表达了这个参数的含义。通俗地讲,这些语义可以让Shader知道从哪里读取数据并把数据输出到哪里。1.从应用阶段传递模型数据给顶点着色器时Unity支持的常用语义POSITION:模型空间中的顶点位置,通常是float4类型 NORMAL:顶点法线,通常是float3类型 TANGENT:顶点的切线,通常是float4类型...原创 2018-09-11 11:10:27 · 279 阅读 · 0 评论