其他分享
首页 > 其他分享> > 4.shader基本语法变量

4.shader基本语法变量

作者:互联网

属性部分

https://zhuanlan.zhihu.com/p/47506575

ps : 下面这个标签博主说了曲率 其实就是 一个幂函数的概念 y = x^3  maxY = 1

Properties
{
        [PowerSlider(3)]_Float("我是Float", Range( 0 , 1)) = 0.5
}
  1. subshaders主体部分

在一个Shader中,可以有多个SubShader以及一个SubShader中也可以有多个Pass,但是一个Shader中必须要至少有一个SubShader,并且这个SubShader中也必须至少有一个Pass。

SubShader我们已经知道是什么了,那么Pass是什么呢?

Pass的意思就是渲染一次模型!

而具体要怎么渲染就需要我们在Pass中添加Cg/HLSL代码片断来实现了,这段代码片断是由CGPROGRAM开始,由ENDCG结束。也就是说我们必须要添加CGPROGRAM和ENDCG,然后在它们中间去写实现效果的代码。

好,我们先按Unity规定的要求摆好姿势。

Shader "Unlit/MyFirstShader"
{
        Properties
        {
                _Color("Color", Color) = (1,1,1,1)
        }
        
        SubShader
        {
                Pass
                {
                        CGPROGRAM
                        #pragma vertex vert
                        #pragma fragment frag

                        ENDCG
                }
        }        
}

既然是顶点片断着色器,那么就要先定义好顶点着色器与片断着色器(也可以叫做像素着色器),告诉Unity分别在哪里去执行它们。

定义顶点着色器为name,通常情况下会起名为vert。

定义片断着色器为name,通常情况下会起名为frag。

 

按博主的文章写一个基本shader

https://zhuanlan.zhihu.com/p/47880664

实现一个基本代码

Shader "Unlit/MyFirstShader"
{
        Properties
        {
                _Color("Color", Color) = (1,1,1,1)
        }
        
        SubShader
        {
                Pass
                {
                        CGPROGRAM
                        #pragma vertex vert
                        #pragma fragment frag

                        fixed4 _Color;
                        
                        float4 vert ( float4 vertex : POSITION ) : SV_POSITION
                        {
                                return UnityObjectToClipPos(vertex);
                        }
                        
                        fixed4 frag () : SV_Target
                        {
                                return _Color;
                        }
                        ENDCG
                }
        }        
}

 

标签:SubShader,变量,Color,shader,语法,pragma,Pass,片断,着色器
来源: https://blog.csdn.net/qq_35179648/article/details/113826543