/** * 텍스처 오브젝트 쉐이더 (image, video, sprite, text) * uFlipY: 1.0이면 Y축 반전 (Canvas 텍스처 업로드 시 필요) * uUVOffset, uUVScale: 스프라이트 시트 크로핑용 */ export declare const textureVertex = "\n attribute vec2 position;\n attribute vec2 uv;\n uniform mat4 uModelMatrix;\n uniform mat4 uViewMatrix;\n uniform mat4 uProjectionMatrix;\n uniform float uFlipY;\n uniform vec2 uUVOffset;\n uniform vec2 uUVScale;\n varying vec2 vUV;\n\n void main() {\n float y = uFlipY > 0.5 ? 1.0 - uv.y : uv.y;\n vUV = uUVOffset + vec2(uv.x, y) * uUVScale;\n gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * vec4(position, 0.0, 1.0);\n }\n"; export declare const textureFragment = "\n precision highp float;\n uniform sampler2D uTexture;\n uniform float uOpacity;\n varying vec2 vUV;\n\n void main() {\n vec4 color = texture2D(uTexture, vUV);\n gl_FragColor = vec4(color.rgb * uOpacity, color.a * uOpacity);\n }\n";