multitek










Multiteksturing
ROBAL na pl.comp.lang.c napisał:

Najbanalniej zrobic tak:
Wylanczas blending, scianka, nakladasz teksture...
Wlanczas blending, ustalasz wspolczynniki mieszania, ta sama scianka, inna
tekstura....

JUIJ na pl.comp.lang.c napisał:

GLuint tex_names[2]; //dwie tekstury
...
glEnable(GL_TEXTURE_2D); //włączenie teksturowania

//pierwsza jednostka teksturująca
glActiveTextureARB(GL_TEXTURE0_ARB);
glBindTexture(GL_TEXTURE_2D, tex_names[0]);

//druga j.t.
glActiveTextureARB(GL_TEXTURE1_ARB);
glBindTexture(GL_TEXTURE_2D, tex_names[1]);

glBegin(GL_POLYGON);
//pierwszy wierzchołek
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0, 0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 0, 0);
glVertex2f(...);

//drugi wierzchołek
glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 1, 0);
glMultiTexCoord2fARB(GL_TEXTURE1_ARB, 1, 0);
glVertex2f(...);

...
glEnd();
Ten kod powinien ruszyć już na Voodoo 2[2 jednostki teksturujące]


I coś ode mnie:
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texture[1]); // pierwsza tekstura
glBegin(GL_QUADS);
glTexCoord2f(1,1);
glVertex3f(rozmiar,rozmiar,-rozmiar);
glTexCoord2f(0,1);
glVertex3f(rozmiar,-rozmiar,-rozmiar);
glTexCoord2f(0,0);
glVertex3f(-rozmiar,-rozmiar,-rozmiar);
glTexCoord2f(0,1);
glVertex3f(-rozmiar,rozmiar,-rozmiar);
glEnd();

glDisable(GL_DEPTH_TEST);
glBindTexture(GL_TEXTURE_2D,texture[0]); // druga tekstura nakładana na wcześniejszą
// Jej czarne obszary zostaną usunięte i nie wyświetlone
glBlendFunc(GL_ONE,GL_ONE);
glEnable(GL_BLEND);
glBegin(GL_QUADS);
glTexCoord2f(1,1);
glVertex3f(rozmiar,rozmiar,-rozmiar);
glTexCoord2f(0,1);
glVertex3f(rozmiar,-rozmiar,-rozmiar);
glTexCoord2f(0,0);
glVertex3f(-rozmiar,-rozmiar,-rozmiar);
glTexCoord2f(0,1);
glVertex3f(-rozmiar,rozmiar,-rozmiar);
glEnd();
glDisable(GL_BLEND);
glEnable (GL_DEPTH_TEST);

a za rozmiar daj np. 150




Wyszukiwarka

Podobne podstrony:
Multithreading csproj FileListAbsolute
MultiToolTipUI
MultiTherm v23 indd
MultithreadingAmbientTx csproj FileListAbsolute
MultiTableHeaderUI
MultiTreeUI
MultiTabbedPaneUI
MultiTabbedPaneUI
MultiToolBarUI
Iron Kingdoms A Multitude of Monstres
089 multitest M4 07
Automatyczna skrzynia biegów Multitronic® 01J
Multitexturing w OpenGL
Multitexturing w OpenGL

więcej podobnych podstron