Texturen in Open GL

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
LazarusPleb
Beiträge: 10
Registriert: Do 5. Okt 2017, 18:05

Texturen in Open GL

Beitrag von LazarusPleb »

Hallo,
ich beschäftige mich mit OPenGl. Ich möchte auf mein 'Raumschiff' eine Textur laden. (Das +links dient zur Bewegung, ist aber unwichtig für mein Anliegen) Bis jetzt ist es ja nur grün.

Code: Alles auswählen

glbegin(gl_QUADS)//Raumschiff
  glcolor3f(0,1,0);
  glvertex3f(-0.1+links,-0.9,0);
  glvertex3f(0.1+links,-0.9,0);
  glvertex3f(0.1+links,-0.95,0);
  glvertex3f(-0.1+links,-0.95,0);
glend;   


Ich habe zur Textur von einer Erde folgendes gefunden.

Code: Alles auswählen

//Texturen
  Tex:=IMG_Load('512x256_Erde.jpg');
  IF assigned(Tex) THEN
  BEGIN
    glGenTextures(1,@TexID);
    glBindTexture(GL_TEXTURE_2D,TexID);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexImage2D(GL_TEXTURE_2D,0,3,Tex^.W,Tex^.H,0,GL_RGB,GL_UNSIGNED_BYTE,Tex^.Pixels);
    SDL_FreeSurface(Tex);
 
  END


Ich habe es versucht auf mein Raumschiff zu übertragen, doch ich komme da nicht weiter.
Bitte um Hilfe

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Texturen in Open GL

Beitrag von Mathias »

Du hast vergessen zu sagen, welcher Ausschnitt, es für die Textur braucht.

Das sieht in etwa so aus:

Code: Alles auswählen

    glBegin(GL_QUADS);
      glTexCoord2f(0.0, 0.0);
      glVertex3f(-size, -size, 0);
      glTexCoord2f(4.0, 0.0);
      glVertex3f(-size, size, 0);
      glTexCoord2f(4.0, 4.0);
      glVertex3f(size, size, 0);
      glTexCoord2f(0.0, 4.0);
      glVertex3f(size, -size, 0);
    glEnd();
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten