celestia/shaders/galaxy_vert.glsl

25 lines
705 B
Plaintext
Raw Normal View History

attribute vec4 in_Position;
attribute vec4 in_TexCoord0;
//attribute float in_ColorIndex;
//attribute float in_Alpha;
2019-11-22 06:49:48 -07:00
uniform sampler2D colorTex;
varying vec4 color;
varying vec2 texCoord;
void main(void)
{
// we pass color index as short int
// reusing gl_MultiTexCoord0.z
// we use 255 only because we have 256 color indices
2020-05-12 09:51:25 -06:00
float t = in_TexCoord0.z / 255.0; // [0, 255] -> [0, 1]
2019-11-22 06:49:48 -07:00
// we pass alpha values as as short int
// reusing gl_MultiTexCoord0.w
// we use 65535 for better precision
2020-05-12 09:51:25 -06:00
float a = in_TexCoord0.w / 65535.0; // [0, 65535] -> [0, 1]
color = vec4(texture2D(colorTex, vec2(t, 0.0)).rgb, a);
texCoord = in_TexCoord0.st;
set_vp(in_Position);
2019-11-22 06:49:48 -07:00
}