Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. uniform mat4 modelMatrix;
  2. uniform mat4 projMatrix;
  3. uniform sampler2D tex;
  4. uniform ivec2 res;
  5. out vec4 oColor;
  6. struct Tri{
  7. vec4 v0;
  8. vec4 v1;
  9. vec4 v2;
  10. vec2 uv0;
  11. vec2 uv1;
  12. vec2 uv2;
  13. };
  14.  
  15.  
  16. vec4 vertices[4];
  17.  
  18. void main(){
  19. vec2 uv = gl_FragCoord.xy / vec2(res);
  20. uv -= vec2(0.5);
  21. //build default vertices:
  22. vertices[0] = vec4(-1.0,-1.0, 0.0,1.0);
  23. vertices[1] = vec4( 1.0,-1.0, 0.0,1.0);
  24. vertices[2] = vec4( 1.0,1.0, 0.0,1.0);
  25. vertices[3] = vec4(-1.0,1.0, 0.0,1.0);
  26.  
  27. //transform vertices:
  28. for(int c = 0; c < 4; ++c){
  29. vertices[c] = projMatrix * modelMatrix * vertices[c];
  30. vertices[c].xyz /= vertices[c].w; //to NDC
  31. }
  32. //define triangle geometry:
  33. Tri tri1 = Tri(vertices[0],vertices[1],vertices[2]
  34. ,vec2(0.0,0.0),vec2(1.0,0.0),vec2(1.0,1.0));
  35.  
  36. bool rasterize = false;
  37. vec4 colorRes = vec4(0.0);
  38. rasterize = drawTriangleBary(tri1, uv, colorRes);
  39. if(rasterize){
  40. oColor = colorRes;
  41. }else{discard;}
  42. }
  43. }
  44.  
  45. for(int c = 0; c < 4; ++c){
  46. vertices[c] = projMatrix * modelMatrix * vertices[c];
  47. vertices[c].xyz /= vertices[c].w * 2.0; //to NDC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement