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

Aktuelle Zeit: Di Jul 15, 2025 18:59

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: In zwei TPanel schreiben ?
BeitragVerfasst: So Mai 11, 2008 11:01 
Offline
DGL Member

Registriert: So Apr 01, 2007 17:51
Beiträge: 42
Wohnort: Hamm/Westf.
Ich finde da keinen Input zu.

Code:
  1. procedure Tform1.FormCreate(Sender: TObject);    //Init beim Starten
  2. var Nearclipping, Farclipping:Single;
  3.     Handle:THandle;
  4. begin
  5. //--------------
  6.   Dc:= Getdc(Zeichenflaeche.Handle);                                           // Init OpenGL
  7.   if not Initopengl then Application.Terminate;
  8.   Rc:= Createrenderingcontext( Dc,[Opdoublebuffered],24,0,0,0,0,0);
  9.   Activaterenderingcontext(Dc, Rc);                                            // Ende Init Open Gl.
  10.  
  11.   // Open GL Werte zuweisen
  12.   Glmatrixmode(Gl_Projection);
  13.   Glloadidentity;
  14.   Glortho(-32800,32800,-32800,32800,0,128);
  15.   Glviewport(0,0,Zeichenflaeche.Width,Zeichenflaeche.Height);
  16.   Gldisable(Gl_Depth_Test);
  17.   Glclear(Gl_Color_Buffer_Bit);
  18.  
  19.  end;
  20.  


Init zum TPanel

Code:
  1.  
  2.  Glclear(Gl_Color_Buffer_Bit);                    // or GL_Depth_Buffer_Bit);
  3.   Glbegin(Gl_Line_Strip);                        
  4.       for Lauf:=0 to Punkte_Frame do
  5.       if Frame[Frame_Nr][Lauf].Status = Hell then
  6.       begin
  7.         Glcolor3Ub(Frame[Frame_Nr][Lauf].Rot ,Frame[Frame_Nr][Lauf].Gruen ,Frame[Frame_Nr][Lauf].Blau );
  8.         Glvertex2F (0, 0);
  9.         Glcolor3Ub(Frame[Frame_Nr][Lauf].Rot ,Frame[Frame_Nr][Lauf].Gruen ,Frame[Frame_Nr][Lauf].Blau {div 10});
  10.         Glvertex2F(Frame[Frame_Nr][Lauf].X shl 2,Frame[Frame_Nr][Lauf].Y shl 2);
  11.         Glcolor3Ub(Frame[Frame_Nr][Lauf].Rot  ,Frame[Frame_Nr][Lauf].Gruen ,Frame[Frame_Nr][Lauf].Blau );
  12.         Glvertex2F (0, 0);
  13.       end;
  14.       Glend;
  15.   Swapbuffers(Dc);
  16.  


Soweit klappt das in's TPanel Zeichenflaeche schreiben.

Nun springe ich im Wechsel Form1 > Form2 , wobei Form2 zwei TPanel hat.
Wie schreibe und Intizialisiere in die zwei TPanel ?

Da ist bei mir ein Loch :(

Kann mir jemand auf die Sprünge helfen ?

lg Gento


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 11, 2008 17:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Guck mal in diesen Thread: http://www.delphigl.com/forum/viewtopic.php?t=5866


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 11, 2008 20:46 
Offline
DGL Member

Registriert: So Apr 01, 2007 17:51
Beiträge: 42
Wohnort: Hamm/Westf.
Nicht sehr ermunternd.

Ich werde mich wohl eher mit nur einem Fenster begnügen und glScissor erlesen.

Da ich ja zwischen zwei Form wechseln will und der alte Inhalt nicht gesichert werden muß , Init für Form2 wie oben ?

lg Gento


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 11, 2008 22:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ja. Wenn Du in beiden Rendering Contexts die gleichen Texturen haben willst, dann solltest Du Dir noch >>wglShareLists<< ansehen. Es gilt nicht nur für Displaylisten sondern auch für Texturen bzw. Vertex Buffer Objects usw.

Zum Trost kann ich Dir sagen, dass es nicht so schwer ist, wie es aussieht. Die beiden Rendercontexte brauchen keine "Wartung", mit der Ausnahme, dass man sie mit wglShareLists "verschmelzen" sollte, man sollte nur nicht vergessen, sie beide bei Programmende wieder freizugeben. Wenn Du es nicht tust, macht Windows das automatisch für Dich. Aber es ist guter Programmier-Stil, das selbst zu machen. Das war's schon.
Traude

NACHTRAG: Ich habe das bei mir mit mehreren Renderkontexten so eingerichtet. Ich betone immer, dass ich einen wirklich alten lahmen PC habe und mit der Performance eigentlich zufrieden bin. Ja es stimmt, dass der Renderkontext-Wechsel ein bisschen braucht. Aber bevor Du eine Krampf-Lösung implementierst, gebe ich zu bedenken, dass Grafik-Programmierer ungeheuer viel Wert auf Schnelligkeit legen. Im Allgemeinen braucht man das für Echtzeit-Spiele auch. Aber Du solltest Dir überlegen, ob Du bei Deiner Anwendung die Hyper-Über-Drüber-Schnelligkeit wirklich haben musst. Du könntest es einfach ausprobieren. Es geht nicht viel Zeit drauf beim probeweisen Implementieren.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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.008s | 16 Queries | GZIP : On ]