Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

68 řádky
1.3 KiB

  1. -- GLSL.Vert --
  2. #version 120
  3. attribute vec2 in_Position;
  4. varying vec2 pass_Position;
  5. void main()
  6. {
  7. pass_Position = in_Position;
  8. gl_Position = vec4(in_Position, 0.0, 1.0);
  9. }
  10. -- GLSL.Frag --
  11. #version 120
  12. #if defined GL_ES
  13. precision highp float;
  14. #endif
  15. uniform sampler2D in_Texture;
  16. uniform float in_Flag;
  17. uniform vec3 in_Point;
  18. uniform vec3 in_Color;
  19. varying vec2 pass_Position;
  20. void main(void)
  21. {
  22. if (in_Flag == 0.0)
  23. {
  24. float tc = 0.0, ta = 0.0;
  25. {
  26. float s = 6.0 + 3.0 * in_Point.z;
  27. vec2 p = pass_Position - in_Point.xy * 0.8;
  28. float t = clamp(1.2 - dot(s * p, s * p), 0.0, 1.0);
  29. float u = t * t * t * t;
  30. tc += 3.0 * t * t - 2.0 * t * t * t;
  31. ta += 3.0 * u * u - 2.0 * u * u * u;
  32. }
  33. gl_FragColor = vec4(tc * in_Color, ta + 0.1);
  34. }
  35. else
  36. {
  37. vec2 texcoords = pass_Position * 0.5 + vec2(0.5, 0.5);
  38. gl_FragColor = vec4(texture2D(in_Texture, texcoords).xyz, 1.0);
  39. }
  40. }
  41. -- HLSL.Vert --
  42. void main(float2 in_Position : POSITION,
  43. out float4 out_Position : POSITION)
  44. {
  45. out_Position = float4(in_Position, 0.0, 1.0);
  46. }
  47. -- HLSL.Frag --
  48. void main(out float4 out_FragColor : COLOR)
  49. {
  50. out_FragColor = float4(0.7, 0.2, 0.5, 1.0);
  51. }