![]() |
3D-Sachen programmieren
Hi,
ich versuche derzeit (mit Delphi) eine 3D-Welt/-Spiel zu erstellen. Ich habe angefangen mit 3D-GameStudio, dass funktioniert aber nicht wirklich... Dann habe ich es unter Delphi mit DirectX versucht, dass ist aber anscheinend auch nicht gut. Was also soll ich nehmen? Chris |
Falsche Sparte.
Ich verschiebe das mal ganz heimlich nach Multimedia. Pssst nicht verraten. :wink: |
@Chris,
wie wärs damit: ![]() @Luckie, denkst Du das es wichtig ist, jedesmal hin zuschreiben, das es die falsche Sparte war? Die Leute kriegen dies auch so mit. "Sei Weise, verschieb Leise." ;) Grüsse, Daniel :hi: |
Hi Chris!
Wenn du in 3D coden willst rate ich dir wirklich zu OpenGL, ist so mit am einfachsten zu realisieren unter Delphi, hier mal 2 gute Links. Musst natürlich viel arbeit reinstecken ;) ![]() ![]() |
Hallöle,
Zitat:
Grüsse, Daniel :hi: |
Hi Daniel B,
Zitat:
Ausserdem bevorzuge ich OGL weils einfacher zu initiieren ist, hier ist nochmal ein Beispiel für Delphi und DX: ![]() Da wird gezeigt wie DX mit Delphi geht, von DelphiX halte ich nicht wirklich viel, da man wenn mit etwas selbstgeschriebenen bessere (schnellere) Ergebnisse erreicht ;) , wer trotzdem DelphiX nutzen möchte sollte mal nach UnDelphiX googeln, das ist eine inoffiziele Version von DelphiX und wurde um einiges an der Performance verbessert :) . |
Zitat:
|
Trotzdem gibt es auch reine 2D Karten, so wie die die in meinem Rechner war als ich Praktikum hatte :)
|
Zumindest kann man unter Nt 4.0 mehr mit OpenGL anfangen, da Direct X nicht sehr gut unterstützt wird.
Aber es wird glaub ich nicht mehr an OGL weitergearbeitet, oder irre ich mich? |
doch bald gibts OGL 1.2 soll dann wieder mit DX gleich ziehn an effekten ;)
|
na dann ist wirklich OGL besser, der einzige Vorteil von DX ist, dass es einfacher sein soll
|
nein
|
auch wenn dieses thema hier alt ist, ich antworte einfach ma :)
Ich kann sowohol OpenGL als auch DirectX. OpenGL ist meiner meinung nach leichter und auch nicht wirklich schwer zu erlernen. übung macht den meister. Es gibt schon lange OpenGL 1.4... 2.0 folgt bald und das ist sogar programmierbar was DirectX nicht kann ;) Alle Effekte in OpenGL sind auf ALLEN Grafikkarten darstellbar. Unter DirectX gibt es Effekte, die nur für spezielle grafikkarten sind. Weiterer punkt ist die portabilität. wers lernen will geht am besten auf: ![]() |
Hi,
ich bin derzeit dabei ein wenig OpenGL mit der Komponente GLScene zu programmieren. Das ganze ist aber nicht ganz so einfach, da ich bisher kein ordentliches Tutorial gefunden habe... Chris |
Wenn du meine zwei Links weiter oben mal angeguckt hast findest du noch viele Tutorials, leichte sind da bestimmt auch dabei :)
|
@chuckylein:
Was meinst du mit "OpenGL ist programmierbar"? Diese allgemeine GPU-Sprache von OpenGL 2.0? Wenn ja, dann gibt's sowas zum einen in DirectX auch (HLSL = High Level Shader Language), zum anderen kann man dazu prima nVidias Cg (C for Graphics) nehmen, das für alle Grafikkarten und 3D-Schnittstellen gedacht ist, ein Cg-Programm kann also ohne Änderungen in OpenGL UND Direct3D verwendet werden, wobei hinter Cg ein ähnlicher Ansatz steht wie hinter der OpenGL Shading Language. Zitat:
Übrigens laufen OpenGL Fragment-Programme, die den DirectX-Pixelshadern entsprechen, nur auf mindestens DirectX8-Hardware, eine Emulation wäre viel zu langsam. OpenGL stützt sich nur nicht auf spezielle Hardware (DirectX8 Pixelshader waren für nVidia, DirectX8.1 Pixelshader für ATI Hardware gedacht). |
ich will mich nicht als Besserwisser hinstellen, aber Vertex und pixelshader werden bei DX auch erst ab einer DX8 fähigen Graka unterstützt ;)
DoomIII soviel dazu. weitere werden folgen. lass mich raten: du machst D3D? ;) ansonsten insgesamt isses schnuppe ob man opengl oder D3D macht. aber ich würde ogl bevorzugen, da es leichter zu erlernen ist (und du für delphi mehr findest..) |
Zitat:
Dein letzter Punkt mag generell stimmen, für mich trifft er aber nicht zu da ich Visual-C++-Programmierer bin ;c) (und, wie du annahmst, D3D-Programmierer - ich habe aber auch schon mit OpenGL gearbeitet und fand den Code, der dabei rauskommt, eher unsauber.) Carmack bleibt bei OpenGL, weil er sich damit sehr gut auskennt und die meisten id-Spiele auch unter Linux laufen sollen. Da er im Moment noch auf OpenGL 1.3 geht, hätte er genauso gut (eigentlich besser) Direct3D nehmen können, weil OpenGL 1.3 per Standard keine Shader o.ä. unterstützt, sondern nur per Extensions, während Direct3D wie gesagt bereits die High Level Shader Language implementiert hat. Das ARB gibt ja schließlich selbst zu, dass es selbst für OpenGL 2.0 schwierig wird, zu Direct3D 9 aufzuschließen, und OpenGL 1.3 kommt ohnehin nur an Direct3D 7 an wg. der Fixed Function Pipeline. Aber wie dem auch sei, so lange beide Schnittstellen weiterentwickelt werden, kann jeder verwenden, was er lieber mag. Ich empfehle dennoch, beides mal auszuprobieren, dann weiß man wenigstens, warum einem die eine Schnittstelle besser liegt... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz