PROGRAMIRLJIVO  GRAFIČKO  SKLOPOVLJE

Programski primjeri

Naslovna stranica

Uvod

Neprogramirljivo grafičko sklopovlje

Programirljivo grafičko sklopovlje

Asembler

Jezici više razine

Programski alati

Programski primjeri

Programski zadatak

Zaključak



Izrezivanje traka

Za ovaj primjer je napravljena jednostavna jednodimenzionalna tekstura sa naizmjeničnim crnim i bijelim regijama.
Kada se crna regija preslika na objekt, zahvaćeni pikseli se odbacuju.



Slika 8: Rezultati programa za izrezivanje traka.



Program za sjenčanje vrhova (GLSL):

varying vec2 texCoord0;
varying vec2 texCoord1;

uniform float vrijeme;
uniform float brzina0;
uniform float brzina1;

void main(void) {
    gl_Position = gl_ModelViewProjectionMatrix *
                  vec4(gl_Vertex.xyz, 1.0);
    texCoord0 = gl_MultiTexCoord0.xy;
    texCoord1 = texCoord0;
    texCoord0.y += vrijeme * brzina0;
    texCoord1.x += vrijeme * brzina1;
}



Program za sjenčanje fragmenata (GLSL):


uniform sampler2D tex0;
uniform sampler2D tex1;

varying vec2 texCoord0;
varying vec2 texCoord1;

void main(void) {
    vec4 uzorak = texture2D(tex0, texCoord0);

    if (uzorak.x == 0.0)
        discard;

    gl_FragColor = texture2D(tex1, texCoord1);
}




Ostale primjene programirljivog grafičkog slopovlja


Novi X poslužitelj prozora (UNIX/Linux) po imenu Xgl koristi OpenGL za iscrtavanje prozora.
Za sada menadžeri prozora (KDE, GNOME, ...) ne mogu direktno koristiti Xgl, već moraju koristiti kompozitni menadžer po imenu Compiz.



Slika 9: Programi RealPlayer i GIMP prelaze preko brida kocke (dvije susjedne radne površine).

FER / ZEMRIS / RG / PDF