Search Unity

GLES Shader not working

Discussion in 'Shaders' started by noobestlifeever, Sep 15, 2019.

  1. noobestlifeever

    noobestlifeever

    Joined:
    Jun 12, 2019
    Posts:
    11
    is there anyway to make this shader actually work?
    I'm having an error
    Shader error in '': Parse error: syntax error, unexpected TVAL_ID, expecting TOK_SETTEXTURE or '}' at line 14
    Code (CSharp):
    1. Shader "TurboChilli/Unlit/Color/Advanced/Fogless Alpha +10" {
    2. Properties {
    3. _Color ("Color", Color) = (1,1,1,1)
    4. _Alpha ("Alpha", Float) = 0.75
    5. }
    6. SubShader {
    7. LOD 200
    8. Tags { "LIGHTMODE"="Always" "QUEUE"="Transparent+10" "IGNOREPROJECTOR"="true" }
    9. Pass {
    10.   Name "FORWARD"
    11.   Tags { "LIGHTMODE"="Always" "QUEUE"="Transparent+10" "IGNOREPROJECTOR"="true" }
    12.   Fog { Mode Off }
    13.   Blend SrcAlpha OneMinusSrcAlpha
    14. Program "vp" {
    15. SubProgram "gles " {
    16. "!!GLES
    17.  
    18.  
    19. #ifdef VERTEX
    20.  
    21. attribute vec4 _glesVertex;
    22. attribute vec4 _glesMultiTexCoord0;
    23. uniform highp mat4 glstate_matrix_mvp;
    24. uniform highp mat4 glstate_matrix_texture0;
    25. varying mediump vec2 xlv_TEXCOORD0;
    26. void main ()
    27. {
    28.  mediump vec2 tmpvar_1;
    29.  tmpvar_1 = _glesMultiTexCoord0.xy;
    30.  mediump vec2 tmpvar_2;
    31.  highp vec2 tmpvar_3;
    32.  highp vec2 inUV_4;
    33.  inUV_4 = tmpvar_1;
    34.  highp vec4 tmpvar_5;
    35.  tmpvar_5.zw = vec2(0.0, 0.0);
    36.  tmpvar_5.xy = inUV_4;
    37.  tmpvar_3 = (glstate_matrix_texture0 * tmpvar_5).xy;
    38.  tmpvar_2 = tmpvar_3;
    39.  gl_Position = (glstate_matrix_mvp * _glesVertex);
    40.  xlv_TEXCOORD0 = tmpvar_2;
    41. }
    42.  
    43.  
    44.  
    45. #endif
    46. #ifdef FRAGMENT
    47.  
    48. uniform lowp vec4 _Color;
    49. uniform lowp float _Alpha;
    50. void main ()
    51. {
    52.  lowp vec4 colr_1;
    53.  colr_1.xyz = _Color.xyz;
    54.  colr_1.w = (_Color.w * _Alpha);
    55.  gl_FragData[0] = colr_1;
    56. }
    57.  
    58.  
    59.  
    60. #endif"
    61. }
    62. SubProgram "gles3 " {
    63. "!!GLES3#version 300 es
    64.  
    65.  
    66. #ifdef VERTEX
    67.  
    68.  
    69. in vec4 _glesVertex;
    70. in vec4 _glesMultiTexCoord0;
    71. uniform highp mat4 glstate_matrix_mvp;
    72. uniform highp mat4 glstate_matrix_texture0;
    73. out mediump vec2 xlv_TEXCOORD0;
    74. void main ()
    75. {
    76.  mediump vec2 tmpvar_1;
    77.  tmpvar_1 = _glesMultiTexCoord0.xy;
    78.  mediump vec2 tmpvar_2;
    79.  highp vec2 tmpvar_3;
    80.  highp vec2 inUV_4;
    81.  inUV_4 = tmpvar_1;
    82.  highp vec4 tmpvar_5;
    83.  tmpvar_5.zw = vec2(0.0, 0.0);
    84.  tmpvar_5.xy = inUV_4;
    85.  tmpvar_3 = (glstate_matrix_texture0 * tmpvar_5).xy;
    86.  tmpvar_2 = tmpvar_3;
    87.  gl_Position = (glstate_matrix_mvp * _glesVertex);
    88.  xlv_TEXCOORD0 = tmpvar_2;
    89. }
    90.  
    91.  
    92.  
    93. #endif
    94. #ifdef FRAGMENT
    95.  
    96.  
    97. layout(location=0) out mediump vec4 _glesFragData[4];
    98. uniform lowp vec4 _Color;
    99. uniform lowp float _Alpha;
    100. void main ()
    101. {
    102.  lowp vec4 colr_1;
    103.  colr_1.xyz = _Color.xyz;
    104.  colr_1.w = (_Color.w * _Alpha);
    105.  _glesFragData[0] = colr_1;
    106. }
    107.  
    108.  
    109.  
    110. #endif"
    111. }
    112. }
    113. Program "fp" {
    114. SubProgram "gles " {
    115. "!!GLES"
    116. }
    117. SubProgram "gles3 " {
    118. "!!GLES3"
    119. }
    120. }
    121. }
    122. }
    123. Fallback "Unlit/Transparent Cutout"
    124. }
     
  2. mouurusai

    mouurusai

    Joined:
    Dec 2, 2011
    Posts:
    350
    I'm not sure but it's looks like precompiled shader,
    current version of Unity don't support them.
     
  3. noobestlifeever

    noobestlifeever

    Joined:
    Jun 12, 2019
    Posts:
    11
    What I did tried was to bring the gles shader codes to GLSLPROGRAM
    but it didnt behave very well.