After added "#define of SHADER_API_VULKAN" can't compile unity shader../ someone know why? #define SHADER_API_VULKAN //#define SHADER_API_GLCORE //#define UNITY_COMPILER_HLSLCC /*#undef SHADER_API_MOBILE #undef SHADER_API_METAL #undef SHADER_API_VULKAN #undef SHADER_API_GLES3*/ #define SHADER_TARGET 50 #define UNITY_PBS_USE_BRDF1 //#pragma target 5.0 //#define UNITY_PBS_USE_BRDF3 //#define SHADER_API_GLCORE /*#define fixed float #define fixed2 float2 #define fixed3 float3 #define fixed4 float4 #define fixed4x4 float4x4 #define fixed3x3 float3x3 #define fixed2x2 float2x2 #define half float #define half2 float2 #define half3 float3 #define half4 float4 #define half2x2 float2x2 #define half3x3 float3x3 #define half4x4 float4x4 */ // michael's fix /*#define half min16float #define half2 min16float2 #define half3 min16float3 #define half4 min16float4 #define half2x2 min16float2x2 #define half3x3 min16float3x3 #define half4x4 min16float4x4 */ #include "Header.hlsli" /*half main() : SV_TARGET { half4 zhopa = half4(0.0f, 0.0f, 1.0f, 1.0f); half res = ShadeSH9(zhopa); return res; //return float4(1.0f, 1.0f, 1.0f, 1.0f); }*/ struct ps_in { half4 text0: TEXCOORD0; half4 text1: TEXCOORD1; half4 text2: TEXCOORD2; half4 text3: TEXCOORD3; }; /* min16float4 BRDF1_Unity_PBS(min16float3 diffColor, min16float3 specColor, min16float oneMinusReflectivity, min16float smoothness, float3 normal, float3 viewDir, UnityLight light, UnityIndirect gi) */ cbuffer zhopa { UnityLight light; UnityIndirect gi; }; half4 main(ps_in In) : SV_TARGET { //half4 zhopa = half4(0.0f, 0.0f, 1.0f, 1.0f); //half4 res = BRDF1_Unity_PBS(In.text0.rgb, In.text1.rgb, In.text0.a, In.text1.a, In.text2.rgb, In.text3.rgb, light, gi); half4 res = UNITY_BRDF_PBS(In.text0.rgb, In.text1.rgb, In.text0.a, In.text1.a, In.text2.rgb, In.text3.rgb, light, gi); return res; //return float4(1.0f, 1.0f, 1.0f, 1.0f); }
1>C:\Users\user\Downloads\unityShader\CGIncludes\UnityShaderVariables.cginc(119,11-28): error X3650: 'unity_4LightAtten0': global variables cannot use the 'half' type in ps_5_0. To treat this variable as a float, use the backwards compatibility flag.