Cg入门9:Vertex Shader - Uniform 与 properties属性

_AppSetColor 声明处:可以在float4 _AppSetColor前面加Uniform ,或者不加都可以(注意:加的话好像,需要unity 5以上的版本)

C# 代码

时间: 2024-10-10 23:50:06

Cg入门9:Vertex Shader - Uniform 与 properties属性的相关文章

Cg入门23: Fragment shader – UV动画(序列帧)

让动画从1-9循环播放此纹理 源代码: Shader "Sbin/FragmentAnim" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" sampler2D _MainTe

Cg入门25: Fragment shader – UV动画(模糊)

疑问:偏导函数是什么? 物理意义和几何意义? ddx():为x轴的偏导函数 ddy():为y轴的偏导函数 源代码: Shader "Sbin/FragmentAnimShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma

Cg入门21:Fragment shader - 2D纹理采样

体纹理:是啥? tex2D 以前只能在Fragment程序中纹理采样 UV坐标系:其实点为左下角,范围为[0,1],U为x轴,V为y轴 Texture.wrapMode 循环模式: TextureWrapMode.Clamp:设置纹理充满拉伸使用 TextureWrapMode.Repeat:纹理重复平铺使用 如果采用Repeat,那么等于U>=1的情况就会用纹理图在右边在平铺一张图 Texture.filterMode 过滤模式: Point:像素过滤(不进行过滤 ) Bilinear:双线性

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

Unity 一个面片的最大顶点数为65524,所以大于这个数,请拆分成多个面片 1.获取汽车x轴的最大值和最小值[-2.5,2.5]+R surfaceShader 语法 surf :surface shader的方法名 vert :使用顶点程序方法名 surface shader 方法不能有返回值 源代码: Shader "Sbin/SurfaceShader" { Properties { _Glossiness ("Smoothness", Range(0,1

Cg入门24: Fragment shader – UV动画(波纹)

效果: 源代码: Shader "Sbin/FragmentAnimShader" { Properties { _MainTex ("Texture", 2D) = "white" {} _F("F",Range(1,30))=10 _A("A",Range(0,0.1))=0.01 _R("R",Range(0,1))=0 } SubShader { Pass { CGPROGRAM

Cg入门16:Fragment shader - 片段级光照

将顶点程序实现漫反射放至片段程序后处理效果如下: 看到和左边内建实现的漫反射一样了 片段程序特点: 1.采用三角面的形式渲染,而顶点程序是按顶点形式渲染 注意事项:直接将计算好的顶点法线向量和光向量 直接传给片段程序使用 效果如下:为啥不一样呢? 顶点程序: 1.按顶点计算,一个顶点一个顶点处理程序 片段程序: 1.先进行光栅化,把面片分割成三角形, 2.一个片段程序,可以看成一个一个像素处理 原因: 1.由于面片程序,分割成很多个小三角形处理,但是一下三角形上的法线和光向量相同,就导致了这种现

Cg入门19:Fragment shader - 片段级模型动态变色

y值要表示范围为[-0.5,0.5],所以语义要注意不要用Color(注意:Color 语义值范围为[0,1] ) (特别注意:内建的cube范围才是[-0.5,0.5],其它模型就不一定是这个值了噢) 发现顶部没有融合掉.为了所有融合掉.我们将_Center范围+R的大小,就所有融合了 效果例如以下: 优化:去掉if else,由于if else 可能在其它硬件上不能运行. 代码: Shader "Sbin/vf55" { Properties { _UpColor("Up

vertex shader(2)

一次只有一个vertex shader是活跃的.你可以有多个vertex shader,如果一个物体特殊的变换或者灯光,你可以选择合适的vertex shader来完成这个任务. 你可能想使用vertex shaders在每个物体或每个网格上,例如,十个网格,你可以使用十个不同的vertex shader,但那样可能会harm你的游戏的运行. 每个vertex shader-driven程序必须通过下面的步骤运行: 1.检查你的设备是否支持vertex shader. (在direct X9以后

Code片段 : .properties属性文件操作工具类 & JSON工具类

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “贵专” — 泥瓦匠 一.java.util.Properties API & 案例 java.util.Properties 是一个属性集合.常见的api有如下: load(InputStream inStream)  从输入流中读取属性 getProperty(String key)  根据key,获取属性值 getOrDefault(Object key, V defaultValue)