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

Aktuelle Zeit: Fr Jul 18, 2025 11:52

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



Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: OpenGL Form Problem
BeitragVerfasst: Do Jul 21, 2005 18:40 
Offline
DGL Member

Registriert: Do Apr 29, 2004 11:53
Beiträge: 29
So, hab heute mal versucht OpenGL in einer Form zum laufen zu bekommen, aber irgendwie will es nicht ganz, ich find einfach den Fehler nicht, liegt vllt daran dass ich mich noch nie mit VLC beschäftigt hab

naja vielleicht findet ihn ja einer von euch
wäre sehr dankbar dafür


Code:
  1. unit main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows,
  7.   Messages,
  8.   Forms,
  9.   Dialogs,
  10.   dglOpenGL;
  11.  
  12. type
  13.   TForm1 = class(TForm)
  14.     procedure FormCreate(Sender: TObject);
  15.     procedure FormResize(Sender: TObject);
  16.     procedure ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
  17.  
  18.   private
  19.     procedure SetupGL;
  20.     procedure Render;
  21.      
  22.   public
  23.     DC : hDC;
  24.     RC : hglRC;
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30.  
  31. implementation
  32.  
  33. {$R *.dfm}
  34.  
  35. procedure TForm1.FormCreate(Sender: TObject);
  36. begin
  37.   DC := GetDC(Handle);
  38.   if( not InitOpenGL ) then ShowMessage('Could not initialize OpenGL');
  39.   RC := CreateRenderingContext( DC,
  40.                                 [opDoubleBuffered],
  41.                                 32,
  42.                                 24,
  43.                                 0,0,0,
  44.                                 0);
  45.   ActivateRenderingContext( DC, RC );
  46.   SetupGL;
  47. end;
  48.  
  49. procedure TForm1.FormResize(Sender: TObject);
  50. begin
  51.   glViewport(0,0,ClientWidth,ClientHeight);
  52.  
  53.   glMatrixMode(GL_PROJECTION);
  54.   glLoadIdentity;
  55.  
  56.   gluPerspective(45.0, ClientWidth/ClientHeight, 1, 400);
  57.  
  58.   glMatrixMode(GL_MODELVIEW);
  59.   glLoadIdentity();
  60. end;
  61.  
  62. procedure TForm1.ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
  63. begin
  64.   Render;
  65.  
  66.   Done := false;
  67. end;
  68.  
  69. procedure TForm1.SetupGL;
  70. begin
  71.   glShadeModel(GL_SMOOTH);
  72.  
  73.   glClearColor(0.0,0.3,0.4,0.0);
  74.  
  75.   glEnable(GL_DEPTH_TEST);
  76.   glDepthFunc(GL_LEQUAL);
  77.  
  78.   glClearDepth(1.0);
  79.  
  80.   glEnable(GL_CULL_FACE);
  81.   glCullFace(GL_BACK);
  82.  
  83.   glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
  84.  
  85.   glMatrixMode(GL_PROJECTION);
  86.   glLoadIdentity;
  87.  
  88.   gluPerspective(45.0, ClientWidth/ClientHeight, 1, 400);
  89. end;
  90.  
  91. procedure TForm1.Render;
  92. begin
  93.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  94.   glLoadIdentity;
  95.  
  96.   SwapBuffers( DC );
  97. end;
  98.  
  99. end.

_________________
wtf?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 19:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nun was geht denn nicht? Du solltest eigentlich jetzt ein schwarzes Fenster sehn, denn in deiner RenderProcedure werden die Puffer nur geleert, aber nix neues reingeschrieben.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 19:04 
Offline
DGL Member

Registriert: Do Apr 29, 2004 11:53
Beiträge: 29
ich seh nur ne hässliche graue Form

_________________
wtf?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 19:12 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
soweit ich das sehe wird das idleevent nicht zugewiesen.
Füg mal in form1.create ein:
Code:
  1. Application.eventsidle := ApplicationEventsIdle


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 19:38 
Offline
DGL Member

Registriert: Do Apr 29, 2004 11:53
Beiträge: 29
das gibts bei mir garnicht, ich benutze delphi 7

_________________
wtf?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 21:16 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Ich habe folgende Änderungen gemacht:
Code:
  1. unit unit1;
  2. //....
  3. procedure TForm1.FormCreate(Sender: TObject);
  4. begin
  5.   DC := GetDC(Handle);
  6.   if( not InitOpenGL ) then ShowMessage('Could not initialize OpenGL');
  7.   RC := CreateRenderingContext( DC,
  8.                                 [opDoubleBuffered],
  9.                                 32,
  10.                                 24,
  11.                                 0,0,0,
  12.                                 0);
  13.   ActivateRenderingContext( DC, RC );
  14.   SetupGL;
  15.   OnResize := FormResize;
  16.   Application.OnIdle := ApplicationEventsIdle;
  17. end;
  18.  
und im ObjectInspector OnCreate Event zugewissen...Es funktioniert wunderbar.
Sonst habe ich den ganzen Code vom Anfang des Threades übernommen. (Copy & Paste)

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 21:23 
Offline
DGL Member

Registriert: Do Apr 29, 2004 11:53
Beiträge: 29
oh danke es geht

achja, hier könnte man ruhig mal mehr smileys reintun :wink:

_________________
wtf?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 21:52 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wir sind doch nicht das Bravo-Teenie-Forum. 8) :mrgreen: :wink:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 22:07 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
Wir sind doch nicht das Bravo-Teenie-Forum.
:lol:

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 22:10 
Offline
DGL Member

Registriert: Do Apr 29, 2004 11:53
Beiträge: 29
ich mein ja nur, wie kann ich mit den vorhanden smileys z.b. meine dankbarkeit ausdrücken?
da fehlt ein bisschen was :lol:

_________________
wtf?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 22:12 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Worte sagen mehr als tausend Bilder... :roll:

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 21, 2005 22:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wobei ich da dem DrogenHäschen recht gebe. Ein "Thumbs Up" oder "Danke" Smiley wäre ne gute vervollständigugn unserer Auswahl. Es ist ja schon schlimm genug, dass Mr.Green nicht in der Standard auswahl steht... :mrgreen:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 22, 2005 09:06 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
.. und ein schmollender Smiley wäre auch nicht schlecht :cry:

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 22, 2005 14:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Bei uns wird nicht geschmollt.


*schmoll*

:mrgreen:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 22, 2005 21:05 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
HaschHase hat geschrieben:
ich mein ja nur, wie kann ich mit den vorhanden smileys z.b. meine dankbarkeit ausdrücken?
da fehlt ein bisschen was :lol:


ich bin für diesen Smilie:

Bild

(Bild Rulezz)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.010s | 15 Queries | GZIP : On ]