Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: OpenGL oder GLScene setzt FPU-CW um

  Alt 12. Jul 2007, 21:30
Zitat von user0:
... Mit hilfe von Set8087CW können wir das zurücksetzten, aber warum macht das GLScene oder OpenGL überhaupt...
Weil in OpenGL sehr viel mit Gleitkommazahlen gearbeited wird die eine hohe Genuigkeit in den Nachkommastellen benötigt.

... und wo?
Na in der OpenGlxx.pas von GLScene.
Delphi-Quellcode:
// IsMesaGL
//
function IsMesaGL : Boolean;
begin
   Result:=(GetProcAddress(Cardinal(GLHandle), 'glResizeBuffersMESA')<>nil);
end;

initialization

  ContextList := TThreadList.Create;
  Set8087CW($133F); // <--<<

finalization

  CloseOpenGL;
  ContextList.Free;
  // We don't need to reset the FPU control word as the previous set call is process specific.
  
end.
Zitat von user0:
Jetzt wird´s noch merkwürdiger: Auf mehreren PCs wird das CW nur einmal umgeschaltet. Auf einem mehrfach.
Liegt das ggf. an deinem Programm ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat