Thema: Delphi OpenGL Probleme

Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: OpenGL Probleme

  Alt 27. Mär 2005, 16:38
Ich kenne delphigl.com schon. Dass manchmal das Bild je nach Perspektive verzerrt ist ist mir auch klar, Zentralperspektive halt, aber diese Verzerrung ist alles andere als proportional (siehe Anhang vorheriger Beitrag.)

Achja, ich bräuchte noch ein paar Befehle für Filter/Antialiasing Einstellungen und Befehle zur Optimierung von Qualität/Geschwindigkeit.

Ich initialisiere OpenGL folgendermaßen:

Das ganze ist in der FormCreate-Prozedur.
p3d ist eine Komponente vom Typ TPanel.

Delphi-Quellcode:
canv := TCanvas.Create;
  canv.Handle := p3D.Handle;
  synh := TSynRoboterTronoSyn.Create(commands);
  status := 'nix';
  commands.Highlighter := synh;
  commands.Modified := False;
  form1.Left := screen.Width div 2 - form1.Width div 2;
  form1.Top := screen.Height div 2 - form1.Height div 2;
  readcmdsintoarray;
  firsterrorline := -1;
  xpos := 0;
  ypos := 0;
  dir := 'u';
  statusbar1.Panels[0].Text := 'Zeile: 1, Spalte: 1';
  statusbar1.Panels[1].Text := 'Kein Fehler gefunden.';
  statusbar1.Panels[2].Text := '[Unbenannt]';
  //drawrobot(0, 0, 'u');
  form1.myDC := GetDC(canv.Handle);
  SetupPixelFormat;
  myRC := wglCreateContext(mydc);
  wglMakeCurrent(myDC, myRC);
  glEnable(GL_DEPTH_TEST);
  glenable(GL_Line_Smooth);
  glenable(GL_texture_2d);
  
  gridtex := auxDIBImageLoadA('./textures/grid.bmp');
  glGenTextures(1, grid);
  glBindTexture(GL_TEXTURE_2D, grid);
  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, gridtex^.sizeX, gridtex^.sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, gridtex^.data);
  //Das ganze noch 3 mal mit anderen Texturen.

  glViewport(0, 0, p3d.Width, p3d.Height);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  gluPerspective(100, 1, 0.01, 100);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
Manuel Eberl
  Mit Zitat antworten Zitat