为什么这个简单的Unity 3D Shader无法在Android中运行?

时间:2018-02-18 09:14:14

标签: unity3d shader

我最近和团结着色器一起玩,我花了3天时间试着理解为什么这个着色器在PC / Mac上工作但是不适用于Android平台而且我仍然没有线索......

以下是着色器:

Shader "Unlit/SimpleColor"
{
    Properties
    {
        [HDR] _Color("", Color) = (1, 1, 1, 1)
    }

    CGINCLUDE

    #include "UnityCG.cginc"

    StructuredBuffer<float4> _Positions;
    float4x4 _Transform;
    half4 _Color;
    float _Radius;
    float _Scale;

    float4 Vertex(float4 position : POSITION, uint id : SV_InstanceID) : POSITION
    {
        position.xyz = position.xyz * _Scale + _Positions[id].xyz * _Radius;
        return UnityObjectToClipPos(mul(_Transform, position));
    }

    half4 Fragment(float4 position : SV_POSITION) : SV_Target
    {
        return _Color;
    }

    ENDCG

    SubShader
    {
        Pass
        {
            Tags { "LightMode" = "ForwardBase" }
            CGPROGRAM
            #pragma vertex Vertex
            #pragma fragment Fragment
            ENDCG
        }
    }
}

感谢任何能够启发我的人。 谢谢。

0 个答案:

没有答案