Mapowanie Textur w OpenGL

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

0

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

Pozdrawiam,
Wodzu

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