Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 19:41

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: OpenGL in Delphi .NET
BeitragVerfasst: Mi Dez 01, 2004 21:49 
Offline
DGL Member

Registriert: Mi Dez 01, 2004 21:44
Beiträge: 4
Hallo allerseits,

kann mir jemand sagen wie ich in Delphi .NET (8 bzw. 2005) OpenGL initialisieren kann. Ich habe Probleme mit dem Pixelformat, habe zwar schon alle möglichen Kombinationen ausprobiert bekomme aber bei wglCreateContext 0 zurück und GetLastError ist 2000. Hat jemand eine Idee?
(in Delphi Win32 funktioniert alles so)

Mein Code:

Code:
  1.  
  2. var
  3.   pfd : Windows.tagPIXELFORMATDESCRIPTOR;
  4.   PixelFormat : Integer;
  5. begin
  6.   hDC := GetDC( Handle );
  7.  
  8.   pfd.nSize := SizeOf( pixelFormat );
  9.   pfd.nVersion := 1;
  10.   pfd.dwFlags := PFD_SUPPORT_OPENGL or PFD_DRAW_TO_WINDOW or PFD_DOUBLEBUFFER;
  11.   pfd.iPixelType := PFD_TYPE_RGBA;
  12.   pfd.cColorBits := 32; //24 geht auch nicht
  13.   pfd.cDepthBits := 32;
  14.   pfd.iLayerType := PFD_MAIN_PLANE;
  15.  
  16.  
  17.   PixelFormat := ChoosePixelFormat( hDC, pfd );
  18.  
  19.   if ( PixelFormat = 0 ) then
  20.   begin
  21.     MessageBox( self.Handle, 'Error on getting pixel format.', 'Error', MB_OK or MB_ICONEXCLAMATION );
  22.   end;
  23.  
  24.   if ( PixelFormat <> GetPixelFormat( hDC ) ) then
  25.   if ( not SetPixelFormat( hDC, PixelFormat, pfd ) ) then
  26.   begin
  27.     MessageBox( self.Handle, 'Error on setting pixel format.', 'Error', MB_OK or MB_ICONEXCLAMATION );
  28.     ReleaseDC( Handle, hDC );
  29.    
  30.     exit;
  31.   end;
  32.  
  33.   hRC := wglCreateContext( hDC );
  34.  
  35.   if ( hRC = 0 ) then
  36.   begin
  37.       Caption := IntToStr( GetLastError );
  38.     MessageBox( self.Handle, 'Error on creating render context.', 'Error', MB_OK or MB_ICONEXCLAMATION );
  39.    
  40.     ReleaseDC( Handle, hDC );
  41.  
  42.     exit;
  43.   end;
  44.  


Danke,

UKW


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 08, 2004 14:18 
Offline
DGL Member

Registriert: Mi Dez 01, 2004 21:44
Beiträge: 4
Ich habe die Lösung selber gefunden! Und es war natürlich wie fast immer ein ganz einfacher Fehler!:

Es darf natürlich nicht:

Code:
  1.  
  2. pfd.nSize := SizeOf( pixelFormat );
  3.  


heißen,

sondern muss:

Code:
  1.  
  2. pfd.nSize := SizeOf( pfd );
  3.  


heißen!

Trotzdem Danke an alle, die sich den Kopf zerbrochen haben!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]