Autor |
Beitrag |
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 24.06.06 19:40
Hallo,
Ich würde gerne einen Raum in 3D darstellen - undzwar ohne Bilder. Die Rück- und Vorderwand ist natürlich ganz einfach, zb mit einem Panel darstellbar. Aber wie kriege ich die abgeschräkten Seitenwände hin?
|
|
Danniolo
      
Beiträge: 693
|
Verfasst: Sa 24.06.06 19:51
|
|
harryp
      
Beiträge: 52
Erhaltene Danke: 9
Win 8.1
Delphi 7, XE8
|
Verfasst: Sa 24.06.06 20:20
ansonsten vielleicht etwas besser beschreiben was genau du jetzt grad so für hilfe erwartest/möchtest - welche komponenten sollst du benutzen oder wie soll das zimmer eingeräumt werden oder wie oder was?
btw: würde auch auf opengl verweisen 
|
|
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 25.06.06 13:03
Ja, da hast du natürlich Recht! Ich hätte besser beschreiben sollen. Mein Problem war aber, dass ich wissen wollte, welche Komponenten ich benutzen soll. Hatte keinen Plan, wie ich da ran gehen soll. Deshalb bin ich dankbar, dass ich trotz mieser Beschreibung so ne hilfreihe Antwort bekommen habe! Danke  Werde mich dann mal in OpenGL einarbeiten - sieht echt gut aus.
Naja, jetzt noch ne kurze Frage dazu. Ist mir jetzt echtn bissle peinlich, das zu fragen, aber... Also ich hab jetzt OpenGL mal installiert. Nur hab ich ehrlich gesagt keine Ahnung, wie ich das jetzt verwenden soll. Hab schon Probiert, das mal in Delphi als Komponente zu installieren, aber wirklich geklappt hat das nicht. Gibts da vielleicht ein Tut dazu (hab kein gefunden)?
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: So 25.06.06 13:05
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Danniolo
      
Beiträge: 693
|
Verfasst: So 25.06.06 18:07
Wie Marco D. und ich schon gesagt haben, guck dich mal bei www.delphigl.com mal ein bisschen um, da gibts ne Menge Tutorials, auch welche für Einsteiger
so.. nochma für Faule: DGL Tutorials
|
|
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 26.06.06 15:19
Ja, hatte sie schon gefunden  Grieg nur das mit dem Header nicht hin  Entweder ich benutze die Datei, die schon zur Verfügung steht, dann hab ich aber kein TForm dabei, oder ich kopier das ganze inne neue Datei, dann kennt aber Delphi die ganzen Audrücke nicht 
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: Mo 26.06.06 19:25
Wenn Du es dann noch bei uns auf die Files schaffst wirst Du haufenweise Templates zu den möglichen und unmöglichen Situtationen finden, die als Grundlage durchaus ausreichen sollten.
_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 26.06.06 22:09
@Phobeus: Haste mal einen Link zu ner unmöglichen Situation, die tät mich mal besonders interessieren ... 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 21.07.06 23:08
Hey, ich bin hier grad echt am Verzweifeln!! :'( Den ganzen Tag hab ich jetzt versucht das mit dem header zu schaffen - aber nein, es will einfach nicht. Ich schreibe hier jetzt eine genaue Beschreibung hin, wie ich das versucht habe und hoffe, dass mit jetzt eeendlich jm sagen kann, was ich denn die ganze Zeit falsch mache!
Also ich bin auf delphigl.com gegangen, habe bei Files - Bibliotheken den DGL OpenGL Header (dglOpenGL.pas) heruntergeladen. Dann bin ich in das erste Turtorial auf wiki.delphigl.com/ und habe wie beschrieben den header in das Verzeichnis /lib des Delphi Hauptverzeichnisses gelegt. Und dann hab ich ausprobiert das Template nachzubauen. Mein Quelltext sieht jetzt folgendermaßen aus:
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure IdleHandler(Sender: TObject; var Done: Boolean); procedure FormResize(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Timer1Timer(Sender: TObject); private StartTime, TimeCount, FrameCount : Cardinal; Frames, DrawTime : Cardinal; procedure SetupGL; procedure Init; procedure Render; procedure ErrorHandler; public DC : HDC; RC : HGLRC; end;
var Form1: TForm1;
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; Init; end;
procedure TForm1.SetupGL; begin glClearColor(0.3, 0.4, 0.7, 0.0); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); 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); NearClipping = 1; FarClipping = 1000; 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, -5); glBegin(GL_QUADS); glColor3f(1, 0, 0); glVertex3f(0, 0, 0); glColor3f(0, 1, 0); glVertex3f(1, 0, 0); glColor3f(0, 0, 1); glVertex3f(1, 1, 0); glColor3f(1, 1, 0); glVertex3f(0, 1, 0); glEnd; SwapBuffers(DC); end;
procedure TForm1.Timer1Timer(Sender: TObject); begin inc(FrameCount); Render; If FrameCount = 20 then begin ErrorHandler; FrameCount := 0; end; end;
procedure TForm1.ErrorHandler; begin Form1.Caption := gluErrorString(glGetError); end; end. |
Im Form ist nur ein Timer. Und jetzt kommen Fehlermeldungen wie [Fehler] Unit1.pas(39): Undefinierter Bezeichner: 'InitOpenGL'!!
Wie kann das sein 
|
|
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 21.07.06 23:26
Hallo,
Ich bin jetzt grad noch durch andre Foren gestöbert und habe dort etwas gefunden was mir weitergeholfen hat. Ich muss zugeben wirklich verstanden habe ich mein Problem nicht. Ich bin Anfänger und habe nur Grundlagen drauf. Leider war das Buch, mitdem ich Delphi lernen wollte echt mies. Dann hab ich erstmal ein knappes 3/4 Jahr PHP programmiert - mit mehr Erfolg. Naja, jetzt will ich richtig in Delphi einsteigen! Werd mir wohl nochmal ein neues Delphi-Buch anschaffen müssen.
Auf jedenfall DANKE für eure Mühe! Ihr habts zwar nicht geschafft das Richtige in meinen Kopf zu quetschen, aber wenigstens versucht 
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 21.07.06 23:49
In deinem obigen Source musst Du auch die Unit dglOpenGL.pas einbinden; sonst weiß er ja nicht, woher Du InitOpenGL nimmst ... Ferner solltest Du mal die Vollständigkeit deiner Implementation überprüfen.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jonathanschmid
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 21.07.06 23:59
Ja, war grad dabei mein Problem auch zu verstehen! *stolz*  Hätte in uses noch das dglOpenGL reinschreiben müssen.
Hier noch das Thread der mir geholfen hat (falls mal jm das gleiche Problem haben sollte):
www.delphigl.com/for...viewtopic.php?t=5619
|
|
|