Entwickler-Ecke

Multimedia / Grafik - Kylix und OpenGL


t/f - So 17.08.03 23:47
Titel: Kylix und OpenGL
Hi Folks...

ich hatte mein Problem bereits einmal im OpenGL-Tutorial angesprochen.
Es geht darum, dass ich eine einfache OpenGL-Szene unter Kylix zum Laufen bringen möchte und an allen Ecken und Kanten Windows-Hindernisse finde.

Um das Tutorial mit meinem Problem nicht zu belasten, habe ich dieses neue Thema erstellt.
(Insofern sich das Problem hier lösen lässt, kann man daraus sicher auch ein neues Tutorial für alle unsere Linuxer zaubern... ;) )

Ich fange jetzt also noch einmal ganz beim Ursprung des Problems an.
Codeschnipsel für Codeschnipsel werden euch nun serviert um die einzelnen Probleme auf dem Weg zur 3D-Szene mit Kylix unter Linux erfolgreich abzuschreiten.
Ich hoffe, ich finde viele Helfer unter euch!
Allen, die mir helfen gilt schon jetzt mein Dank!

Hier nun der Code, der auf Ayas OpenGL - Einführung [http://www.delphi-forum.de/viewtopic.php?t=9813&start=0&postdays=0&postorder=asc&highlight=] basiert und das erste auftretende Problem:

(Quellcode kann überflogen werden - Details folgen)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
unit Unit1;

interface

uses
  SysUtils, Types, Classes, Variants, QTypes, QGraphics, QControls, QForms, 
  QDialogs, QStdCtrls, OpenGL12;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  h_DC: hDC; 
  hRC: HGLRC;
implementation

{$R *.xfm}

end.


Der Knackpunkt liegt hier:


Delphi-Quelltext
1:
2:
3:
4:
var
  Form1: TForm1;
  h_DC: hDC; 
  hRC: HGLRC;


Ich erhalte nämliche folgende Fehlermeldungen vom Compiler:
Zitat:

[Fehler] Unit1.pas(19): Undefinierter Bezeichner: 'hDC'
[Fehler] Unit1.pas(20): Undefinierter Bezeichner: 'HGLRC'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


Man bemerke - ich habe die Unit "Textures.pas" nicht eingebunden, da diese wiederum Units enthält, die mir nicht zur Verfügung stehen. Aber ich denke, das ist nicht das Problem, oder?

Soweit ich weiß, handelt es sich hier um die Deklaration des Rendercontextes und das Fenster, in das dieser Rendercontext eingebunden werden soll.

Woran scheitet der Programmablauf in diesen Code?

greetz
//me

P.S. - im Gesamtcode ist erkennbar, dass die Unit OpenGL12 eingebunden wurde. Diese erhälst du entweder aus dem Tutorial OpenGL - Einführung [http://www.delphi-forum.de/viewtopic.php?t=9813&start=0&postdays=0&postorder=asc&highlight=] oder direkt über diesen Link [http://www.koshigaya.de/Download/OpenGL.zip]

Moderiert von user profile iconAya: Topic verschoben.


Mr_T - Sa 23.08.03 14:20

Ich habe mich die letzen Tage mal etwas intensiver mit dem Thema befasst... der Speicherfehler ist leider nicht wirklich wegzubekommen --> Ich bekomme ihn einfach nicht weg :-( ... Das kann natürlich daran liegfen, dass ich Kylix 3 verwende und die OpenGl12.pas offiziell nur bis Kylix 2 funzt (an sich sollte sie es aber auch mit Kylix 3 tun...)

Leider bin ich auch zum Ergebniss gekommen, dass es neben glx kaum Althernativen gibt, wenn wir mit der CLX arbeiten wollen....

Und nun die gute Nachricht:
Mom probiere ich etwas mit der GLUT-Lib rum und ich muss sagen, dass das bislang recht gut verläuft... (leider halt NonCLX) ... sollte ich es damit schaffen, ein komplettes Open Gl -Fenser unter Kylix zu erzeugen, sage ich natürlich sofort bescheid und würde mich auch nicht 2x drum bitten lassen, Aya's Source / Tut für die Linuxler zu "übersezten"......
Also: drückt mir die Daumen ;-)