我最近和团结着色器一起玩,我花了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
}
}
}
感谢任何能够启发我的人。 谢谢。