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

Aktuelle Zeit: Fr Jul 18, 2025 20:12

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Nov 12, 2006 22:51 
Offline
DGL Member

Registriert: So Nov 12, 2006 21:49
Beiträge: 1
Hi,

also ich versuche die OpenGL Ausgabe direkt in ein BitMap zu rendern anstatt auf ein Fenster. Für Fenster klappt ja folgendes ohne Probleme:

Code:
  1. dc := canvas.handle;
  2. rc := createrenderingcontext(dc,[],32,24,0,0,0,0);


Wenn ich statt dessen aber den Gerätekontext eines Bitmaps verwende (und den könnte ich ja z.B. auch verwenden, um mit der Windows API direkt in das Bitmap zu zeichnen), dann klappt es eigenartigerweise nicht:

Code:
  1. var i: tbitmap;
  2. begin
  3.   i := tbitmap.create;
  4.   i.width := 400;
  5.   i.height := 300;
  6.   i.pixelformat := pf32bit;
  7.  
  8.   dc := i.canvas.handle;
  9.   rc := createrenderingcontext(dc,[],32,24,0,0,0,0);


Bisher habe ich damit drei unterschiedliche Ergebnisse erzielt die immer wierder eintreten :roll: : mal stürtzt der Treiber der Grafikkarte ab (selten), mal wird das Bitmap mit der Hintergrundfarbe gefüllt (seher selten), mal ändert sich der Inhalt des Bitmaps überhaupt nicht (tritt meistens ein; habe das Bitmap dafür vorher mit weiß gefüllt).

Warum funktioniert das nicht?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 12, 2006 23:24 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bitmaps sind immer so eine Sache. Mit der glScene hatte ich auch schon mal in ein Bitmap gerendet. Bzw bei dem Testprogramm von die opengl12 wird auch ein Kontext auf einem Bitmap erstellt. Allerdings, und genau das Problem dabei, wird das nicht von deiner Grafikkarte unterstützt. Und dann wird für OpenGL die Windows Softwareimplementation verwendet. Und das ist immer die schlechteste Wahl. Das Beste kompatibelste ist der Weg über ein echtes Fenster bzw über einen Rendercontext der auf einem Fenster klebt. Man muss dabei ja nicht immer den angezeigten Buffer auslesen. ;-)


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 2 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 ]