1、ShaderLab和CG变量的匹配关系 ShaderLab属性类型 CG变量类型 Color, Vector float4, half4, fixed4 Range, Float float, half, fixed 2D sampler2D Cube samplerCube 3D sample ...
分类:
其他好文 时间:
2020-07-04 01:01:17
阅读次数:
115
对于 CG/HLSL 顶点程序,模型网格顶点数据被作为输入传递给顶点着色器函数。每个输入都需要一个语义来详细指定。比如,POSITION输入是 顶点的位置,NORMAL是顶点的法线。 通常,顶点数据输入被声明成一个结构体,而不是一个个的罗列他们。几个常用的顶点结构体都被丁艳在UnityCG.cgin ...
分类:
其他好文 时间:
2018-02-21 17:07:28
阅读次数:
264
着色器在Properties代码块中声明 材质球的各种特性。如果你想要在着色器程序中使用这些特性,你需要在CG/HLSL中声明一个变量,这个变量需要与你要使用的特性拥有同样的名字和对的上号的类型。比如以下这些类型: 在CG/HLSL代码中,要使用他们,就需要声明如下变量: 属性的值如何提供给着色器 ...
分类:
其他好文 时间:
2018-02-21 15:48:35
阅读次数:
126
ShaderLab 是Unity3d自己封装的一个调用CG/HLSL/GLSL的接口。 Shader相关文件(扩展名): shader - 着色器的主要文件 cg/cginc - 着色器的公用文件,可以在cg/shader/cginc文件中被"include"(包含),一般用来写全局方法和全局变量, ...
分类:
编程语言 时间:
2017-10-28 18:54:41
阅读次数:
209
一、顶点与片段着色器简介 Vertex and FragmentShader:最强大的Shader类型,也是本系列的重点,下文中简称V&FShader,属于可编程渲染管线.使用的是CG/HLSL语法。分为2个部分vertex顶点部分和Fragment像素部分。下面依然通过写几个简单的Shader来学 ...
分类:
其他好文 时间:
2017-06-08 20:35:47
阅读次数:
219
顶点片段着色器 V&F Shader:英文全称Vertex and Fragment Shader,最强大的Shader类型,也是我们在使用ShaderLab中的重点部分,属于可编程管线,使用的是CG/HLSL语法。分为vertex顶点部分和Fragment像素部分。 本篇的末尾讲述顶点函数传入的结 ...
分类:
编程语言 时间:
2016-10-25 07:43:54
阅读次数:
241
一、概念篇1.基准:unity里的shader并不是一门独特的语言,而是一种代码生成方式,且可将低层次且复杂的shader编程进行简化。但同时你也还是得使用Cg/HLSL来写的。2.原理:写一个函数,以UVs或者一些数据为入口,然后以SurfaceOutput为输出。同时在SurfaceOutpu....
分类:
其他好文 时间:
2016-01-15 20:18:50
阅读次数:
211
为顶点程序传递顶点信息Cg / HLSL顶点程序,顶点信息必须通过结构体传递。几个常用的顶点结构被定义在了UnityCG.cginc 文件中。而且在大多数情况下使用它们就足够了。appdata_base:顶点的位置,法线和一个纹理坐标。appdata_tan:顶点的位置,切线,法线和一个纹理坐标。a...
分类:
其他好文 时间:
2015-12-04 14:44:42
阅读次数:
266
在CG/HLSL中访问着色器属性Shader在Properties块中访问材质属性。如果你想在一个着色程序中访问一些属性,你需要声明一个Cg/HLSL具有相同的名称和一个匹配的类型的变量。Properties例如这些材质属性:_MyColor ("Some Color", Color) = (1,1...
分类:
其他好文 时间:
2015-12-03 18:41:29
阅读次数:
273
Unity CG 写一个超酷的 ray-marching(shader纯代码写3D)1.其实自从看了http://www.shadertoy.com(inigo quilez为其主创始人)上的shader后,让我感到很高兴
2.更重要的是自从我接触了一个叫 inigo quilez 的shader技术后,让我觉得shader情感更深的浓厚了
3.http://www.iquilezles.org...
分类:
编程语言 时间:
2015-06-16 09:21:08
阅读次数:
671