Lecția 6 - cartografierea texturii - delfii

Lecția 6 - Suprapunerea texturilor

Textura în OpenGL este un fișier grafic simplu care este afișat pe poligon.
În această lecție vom examina două tipuri de texturi: simple și cu canal alfa (transparență).

Vom aplica textura pe cub.
Trebuie să fie desenat manual, pentru a nu dezordine codul, a crea o unitate nouă și procedura RenderBox: vom folosi această procedură de 2 ori.

Pozițiile pentru textură sunt specificate de funcția glTexCoord2f (s, t Single). Specifică poziția coordonatelor X. Y pe poligon. Apelați-l înainte de a seta poziția fiecărui punct al poligonului.

Pentru a afișa corect textura, trebuie să setați parametrii de afișare, utilizând funcția glTexParameter (tip textură, tip filtru, tip filtru) în FormCreate. Permiteți modul de cartografiere a textului în FormCreate. După cuvântul cheie de implementare, trebuie să scrieți procedura de acoperire în sine, deoarece nu există în biblioteca OpenGL.pas standard furnizată împreună cu Delphi 7. În OpenGL există un tip de date special "Uint". Stochează indexul texturii încărcate în memorie.

Acum trebuie să încărcați textura când începe programul. Pentru aceasta, creați o variabilă globală Tex de tip Uint și scrieți următorul cod în FormCreate. Fisierele de textura sunt deja gata si sunt localizate in directorul sursa.
Aici încărcăm textura în memorie și atribuim indexul acestei texturi la variabila Tex.

Desenați cubul nostru:

Lecția 6 - cartografierea texturii - delfii

Și impune o textură:

Lecția 6 - cartografierea texturii - delfii

Apelând glBindTexture odată. Textura va fi suprapusă pe toate poligoanele trase după apel. Pentru ca textura să nu se suprapună, puteți dezactiva modul de amestecare glDisable (GL_TEXTURE_2D). și apoi permite sau impune o textură nulă, care nu este nimic glBindTexture (GL_TEXTURE_2D, 0).
Efectuat.

Să trecem la textura cu transparență.
Pentru ca textura să aibă locuri transparente, trebuie să activați testul alfa și să setați parametrii în FormCreate. Încărcați textura în variabila Glass creată în FormCreate. Acum aplicați textura creată anterior cu canalul alfa:

Lecția 6 - cartografierea texturii - delfii

În cele din urmă, să afișăm două cuburi cu texturi diferite.

Lecția 6 - cartografierea texturii - delfii

În următoarea lecție vom învăța cum să facem ceață (fum) în OpenGL.

Lecția 5 - Materiale și iluminat

Articole similare