Autor Beitrag
Unknown
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.10.06 13:07 
Hi Leutz,

ich hab mir diese opengl datei gedownloaded.
Hab sie ins /lib extrahiert, hab sie auch in die Uses des interface geschrieben.
Das geht alles noch.
Aber dann muss man doch das mit DC und RC schreiben.
Da gibt er mir die fehlermeldung:
Unknown identificer 'DC' oder so ähnlich.
Wie soll man OpenGL sonst installieren
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Fr 06.10.06 13:11 
ich glaube du musst auf der Seite:www.delphigl.com/
dir mal die Tutorials durchlesen :wink:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.10.06 13:13 
ich hab aber kein Photo dingens um die Datei zu öffnen
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.10.06 13:14 
ich hab ja, ich glaube im forum oder so, nachgeschaut, was gefunden und das dann kopiert ,in den Code und zack....Fehlermeldung
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Fr 06.10.06 13:16 
Welches Photodings do brauchst nur einen Browser
Hier ist ein Tutorial wo die inistialisierung drin beschrieben ist
wiki.delphigl.com/in.../Tutorial_Quickstart

Kopieren ist wenn du lernen willst sehr schlecht

PS:Benutze bitte die Editierfunktion

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.10.06 13:20 
DGLopenGL hab ich mir gedownloaded und in /lib entpackt und in uses das DGLopenGL reingeschrieben

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormCreate(Sender: TObject);
begin
  DC:= GetDC(Handle);
  if not InitOpenGL then Application.Terminate;
  RC:= CreateRenderingContext( DC,
                               [opDoubleBuffered],
                               32,
                               24,
                               0,0,0,
                               0);
  ActivateRenderingContext(DC, RC);
end;



und das in Formcreate
Unknown Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 184

Win XP
Delphi 7
BeitragVerfasst: Fr 06.10.06 13:22 
und dann kommt die Fehlermeldung:
Unknown identicer `DC` //oder so ähnlich und
Unknown identicer `RC`
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Fr 06.10.06 13:22 
Du solltest das ganze DGLSKD installieren
Dieser Code:
ausblenden volle Höhe 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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
unit ogl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dglOpenGL, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure IdleHandler(Sender: TObject; var Done: Boolean);
  private
    { Private-Deklarationen }
       StartTime, TimeCount, FrameCount  : Cardinal; //FrameCounter
    Frames, DrawTime                  : Cardinal; // Timebased Movement
    procedure SetupGL;
    procedure Render;
    procedure ErrorHandler;
  public
    { Public-Deklarationen }
    DC                                : HDC;  //Handle auf Zeichenfläche
    RC                                : HGLRC;//Rendering Context
  end;

var
  Form1: TForm1;
  h_DC: hDC;
  hRC: HGLRC;
  CX, CY, CZ, Radius: TGLFloat;
  const NearClipping = 1;
        FarClipping  = 1000;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  DC:= GetDC(Handle);
  if not InitOpenGL then Application.Terminate;
  RC:= CreateRenderingContext( DC,
                               [opDoubleBuffered],
                               32,
                               24,
                               0,0,0,
                               0);
  ActivateRenderingContext(DC, RC);
  SetupGl;
  Application.OnIdle := IdleHandler;
  Form1.Caption := InttoStr(Frames) + ' FPS';
end;

procedure TForm1.SetupGL;
begin
  glClearColor(0, 0, 0, 1); //Hintergrundfarbe
  glEnable(GL_DEPTH_TEST);          //Tiefentest aktivieren
  glEnable(GL_CULL_FACE);           //Backface Culling aktivieren
end;

procedure TForm1.FormResize(Sender: TObject);
var tmpBool : Boolean;
begin
  glViewport(0, 0, ClientWidth, ClientHeight);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  gluPerspective(45.0, ClientWidth/ClientHeight, NearClipping, FarClipping);

  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;
  IdleHandler(Sender, tmpBool);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DeactivateRenderingContext;
  DestroyRenderingContext(RC);
  ReleaseDC(Handle, DC);
end;

procedure TForm1.Render;
begin
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  gluPerspective(45.0, ClientWidth/ClientHeight, NearClipping, FarClipping);

  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  glTranslatef(0, 0, -2);

  glPushMatrix();
   glBegin(GL_Quads);
     glTexCoord2f(0,1); glVertex3f(-0.5,-0.5,0);
     glTexCoord2f(1,1); glVertex3f(0.5,-0.5,0);
     glTexCoord2f(1,0); glVertex3f(0.5,0.5,0);
     glTexCoord2f(0,0); glVertex3f(-0.5,0.5,0);
   glEnd;
  glPopMatrix();
  
  SwapBuffers(DC);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   inc(FrameCount);
   Render;
   If FrameCount = 20 then
      begin
           ErrorHandler;
           FrameCount := 0;
      end;
end;

procedure TForm1.IdleHandler(Sender: TObject; var Done: Boolean);
begin
  StartTime:= GetTickCount;
  Render;
  DrawTime:= GetTickCount - StartTime;
  Inc(TimeCount, DrawTime);
  Inc(FrameCount);

  if TimeCount >= 1000 then begin
    Frames:= FrameCount;
    TimeCount:= TimeCount - 1000;
    FrameCount:= 0;
    Form1.Caption := InttoStr(Frames) + 'FPS';
    ErrorHandler;
  end;
  Done:= false;
end;

procedure TForm1.ErrorHandler;
begin
  Form1.Caption := gluErrorString(glGetError);
end;

end.

ergibt ein schwarzes Fenster mit einem Viereck in der Mitte

PS:Du musst das ganze Tut durchmachen :wink:

PPS: :!: :!: Bitte unterlasse die schiebpostings und editier deinen Beitrag :!: :!:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.