Registriert: So Sep 26, 2010 16:19 Beiträge: 64
Programmiersprache: Pascal
Hallo Leute Ich brauche eure Hilfe. Ich habe mich entschlossen eine eigene 3D Engine mit euren echt super Header zu schreiben. Ich habe darüber nachgedacht, eine VCL Komponente zu schreiben. Ich habe aber noch viele Fragen (bin nicht der Meister im Komponenten Entwickeln )
Ich habe meine grobe Engine, die OpenGl vorbereitet und den Hintergrund rendert gemacht. Nun habe ich momentan 2 Fragen:
(1)Im Objektinspektor sieht mein ein Bild von den Properties. Ich möchte jetzt aber gerne Standartwerte in den Properties haben (z.B. ColorBits soll am Anfang immer 32 sein, also nicht 0).
(2)Außerdem weiß ich nicht, wie ich folgendes im Objektinspektor umsetzten kann: |Hauptpunkt [...] |->Unterpunkt1 |->Unterpunkt2 |->...
ein Beispiel: |BackgroundColor [...] |->Red |->Green |->Blue |->Alpha
Auf das zweite kann ich auch verzichten. Dann brauche ich keine Property-Editor machen.
Ich habe jetzt aber eine sehr wichtige Frage. Wie soll ich am besten die Objekte hinzufügen? Ich denke am besten ist eine Art Liste. Ich hatte auch eine sehr schmutzige Array-Idee. Ich würde Records machen, ein Array und ArrayCount hinzufügen und dann beim Rendern folgendes machen:
for i:=0 to ArrayCount-1 do begin //Rendert das Objekt end;
Kann ich das sauberer machen? Irgendwie mit Listen und nicht mit begrenzten Arrays? Am Ende möchte ich gerne so ein Objekt hinzufügen: Engine.AddQuad(Parameter...);
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Also, erstmal vorweg, VCL eignet sich nicht für Echtzeitrendering. Dafür ist das Framework einfach nicht geschaffen. Der Mix von VCL-Komponenten und OpenGL-Kontexten ist bekannt dafür, langsam zu werden und/oder sonstige Probleme zu verursachen.
Dann ist es wichtig zu wissen, welche Delphi-Version du verwendest. Auf jeden Fall solltest du dir die Klasse TList anschauen, sofern sie vorhanden ist.
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.