Celestia

Форк
0
/
galaxy_vert.glsl 
36 строк · 924.0 Байт
1
attribute vec4 in_Position;
2
attribute vec2 in_TexCoord0;
3
attribute float in_Size;
4
attribute float in_ColorIndex;
5
attribute float in_Brightness;
6

7
uniform sampler2D colorTex;
8

9
uniform mat4 m;
10
uniform mat3 viewMat;
11

12
uniform float size;
13
uniform float brightness;
14

15
varying vec4 color;
16
varying vec2 texCoord;
17

18
void main(void)
19
{
20
    float s = size * in_Size;
21
    vec4 p = m * in_Position;
22
    float screenFrac = s / length(p);
23
    if (screenFrac >= 0.1)
24
    {
25
        // Output the same value for all discarded vertices so GPU will discard degenerate triangles
26
        gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
27
        return;
28
    }
29

30
    vec4 v = vec4(viewMat * vec3(in_TexCoord0.s * 2.0 - 1.0, in_TexCoord0.t * 2.0 - 1.0, 0.0) * s, 0.0);
31
    float alpha = (0.1 - screenFrac) * in_Brightness * brightness;
32

33
    color = vec4(texture2D(colorTex, vec2(in_ColorIndex, 0.0)).rgb, alpha);
34
    texCoord = in_TexCoord0;
35
    set_vp(p + v);
36
}
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.