|
@@ -11,7 +11,7 @@
|
|
|
<div id="container"></div>
|
|
|
<div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> WebGL 2 - buffergeometry - integer attributes</div>
|
|
|
|
|
|
- <script id="vertexShader" type="x-shader/x-vertex">#version 300 es
|
|
|
+ <script id="vertexShader" type="x-shader/x-vertex">
|
|
|
in int textureIndex;
|
|
|
|
|
|
flat out int vIndex; // "flat" indicates that the value will not be interpolated (required for integer attributes)
|
|
@@ -27,19 +27,17 @@
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
- <script id="fragmentShader" type="x-shader/x-fragment">#version 300 es
|
|
|
+ <script id="fragmentShader" type="x-shader/x-fragment">
|
|
|
flat in int vIndex;
|
|
|
in vec2 vUv;
|
|
|
|
|
|
uniform sampler2D uTextures[ 3 ];
|
|
|
|
|
|
- out vec4 outColor;
|
|
|
-
|
|
|
void main() {
|
|
|
|
|
|
- if ( vIndex == 0 ) outColor = texture( uTextures[ 0 ], vUv );
|
|
|
- else if ( vIndex == 1 ) outColor = texture( uTextures[ 1 ], vUv );
|
|
|
- else if ( vIndex == 2 ) outColor = texture( uTextures[ 2 ], vUv );
|
|
|
+ if ( vIndex == 0 ) gl_FragColor = texture( uTextures[ 0 ], vUv );
|
|
|
+ else if ( vIndex == 1 ) gl_FragColor = texture( uTextures[ 1 ], vUv );
|
|
|
+ else if ( vIndex == 2 ) gl_FragColor = texture( uTextures[ 2 ], vUv );
|
|
|
|
|
|
}
|
|
|
</script>
|