選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

64 行
1.2 KiB

  1. #ifdef OPENGL_ES
  2. #ifdef GL_FRAGMENT_PRECISION_HIGH
  3. precision highp float;
  4. #else
  5. precision mediump float;
  6. #endif
  7. #endif
  8. uniform vec4 u_outlineColor;
  9. // Varyings
  10. varying vec2 v_texCoord;
  11. uniform sampler2D u_diffuseTexture;
  12. // alphareject
  13. #if defined(TEXTURE_DISCARD_ALPHA)
  14. uniform float u_alphaReject;
  15. #endif
  16. #if defined(MODULATE_COLOR)
  17. uniform vec4 u_modulateColor;
  18. #endif
  19. #if defined(ADDITIVE_COLOR)
  20. uniform vec4 u_additiveColor;
  21. #endif
  22. #if defined(BLEND_COLOR)
  23. uniform vec4 u_blendColor;
  24. #endif
  25. // 描边不需要半透明
  26. //#if defined(MODULATE_ALPHA)
  27. //uniform float u_modulateAlpha;
  28. //#endif
  29. void main(void)
  30. {
  31. vec4 texColor = texture2D(u_diffuseTexture, v_texCoord);
  32. #if defined(TEXTURE_DISCARD_ALPHA)
  33. if (texColor.a < u_alphaReject)
  34. discard;
  35. #endif
  36. gl_FragColor = u_outlineColor;
  37. #if defined(MODULATE_COLOR)
  38. gl_FragColor *= u_modulateColor;
  39. #endif
  40. #if defined(ADDITIVE_COLOR)
  41. gl_FragColor += u_additiveColor;
  42. #endif
  43. #if defined(BLEND_COLOR)
  44. gl_FragColor.rgb = mix(gl_FragColor.rgb , u_blendColor.rgb , u_blendColor.a);
  45. #endif
  46. //#if defined(MODULATE_ALPHA)
  47. //gl_FragColor.a *= u_modulateAlpha;
  48. //#endif
  49. }