intersect.vert raw

   1  #version 310 es
   2    
   3  // SPDX-License-Identifier: Unlicense OR MIT
   4  
   5  #extension GL_GOOGLE_include_directive : enable
   6  
   7  precision highp float;
   8  
   9  #include "common.h"
  10  
  11  layout(location = 0) in vec2 pos;
  12  layout(location = 1) in vec2 uv;
  13  
  14  layout(binding = 0) uniform Block {
  15  	vec4 uvTransform;
  16  	vec4 subUVTransform;
  17  } _block;
  18  
  19  layout(location = 0) out vec2 vUV;
  20  
  21  void main() {
  22    vec3 p = transform3x2(fboTransform, vec3(pos, 1.0));
  23    gl_Position = vec4(p, 1);
  24    vec3 uv3 = transform3x2(fboTextureTransform, vec3(uv, 1.0));
  25    vUV = uv3.xy*_block.subUVTransform.xy + _block.subUVTransform.zw;
  26    vUV = transform3x2(fboTextureTransform, vec3(vUV, 1.0)).xy;
  27    vUV = vUV*_block.uvTransform.xy + _block.uvTransform.zw;
  28  }
  29