25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
680 B

  1. [vert.glsl]
  2. #version 130
  3. in vec3 in_position;
  4. in vec2 in_texcoord;
  5. uniform mat4 u_projection;
  6. uniform mat4 u_view;
  7. uniform mat4 u_model;
  8. out vec2 pass_texcoord;
  9. void main()
  10. {
  11. gl_Position = u_projection * u_view * u_model
  12. * vec4(in_position, 1.0);
  13. pass_texcoord = in_texcoord;
  14. }
  15. [frag.glsl]
  16. #version 130
  17. #if defined GL_ES
  18. precision mediump float;
  19. #endif
  20. in vec2 pass_texcoord;
  21. uniform sampler2D u_texture;
  22. uniform sampler2D u_palette;
  23. uniform vec2 u_texsize;
  24. void main()
  25. {
  26. vec4 pal = texture2D(u_texture, pass_texcoord);
  27. vec4 col = texture2D(u_palette, vec2(pal.x, 0.0));
  28. if (pal.x == 0.0)
  29. discard;
  30. gl_FragColor = col;
  31. }