Mapowanie Textur w OpenGL

Odpowiedz Nowy wątek
2003-09-01 14:46
0

Witam,

Mam problem z nalozeniem tekstury na kulę. Nie wiem jak to zrobic automatycznie. Wiem ze nalezy uzyc glTexGen(); ale gubie się w tym wszystkim. Moze ktos mi pomoc?

Oto jak laduje teksture do pamieci:

procedure LoadGLTextures;

var
texture1: PTAUX_RGBImageRec;

begin
texture1 := auxDIBImageLoadA('C:\earth.bmp');
if (not Assigned(texture1)) then
Halt(1);
glGenTextures(1, texture[0]);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1.sizeX, texture1.sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1^.data);
end;

A tak, tworze kulę;

function InitGL:bool; // All Setup For OpenGL Goes Here
var
Kula: GLUquadricObj;
begin
LoadGLTextures();
glShadeModel(GL_SMOOTH);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearDepth(1.0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
ListaCial:= glGenLists(1);
Kula:=gluNewQuadric();
gluQuadricDrawStyle(Kula, GLU_FILL);
gluQuadricNormals(Kula, GLU_SMOOTH);
glNewList(ListaCial, GL_COMPILE);
gluSphere(Kula,1,75,20);
glEndList();
initGL:=true;
end;

No i w koncu tak wyswietlam kulę:

function DrawGLScene():bool;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0,0.0,-8.0);
glColor3f(0.7,0.0,0.0);
glCallList(ListaCial);
DrawGLScene:=true;
end;

prosilbym o dodanie do poszczegolnych sekcji odpowiednich procedur w raz z krotkim komentarzem co i jak...
Albo prosze o jakąkolwiek pomoc :-/

Pozdrawiam,
Wodzu


"as above, so below..all things come from the one. Now You are the victim, carried by the wind, then rooted to the ground. If You want, to learn the secrets..close Your eyes..."

Pozostało 580 znaków

2003-09-03 07:51
0

Dobra juz rozwiazalem ten problem, nalezy uzyc glTexGen(); dzieki wszystkim za pomoc;)

Pozdrawiam,
Wodzu


"as above, so below..all things come from the one. Now You are the victim, carried by the wind, then rooted to the ground. If You want, to learn the secrets..close Your eyes..."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0