Draw3D Nachfolger
Übersicht

![]() |
hecticSieger des IS Talentwettbewerb 2006Betreff: Draw3D Nachfolger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier gehen Themen meisten schnell unter. Und genau das ist auch mein Ziel. Ich will nur mal ein kurzes Feedback über folgende Entwicklung wissen. Einige wissen es, die meisten jedoch nicht, dass ich vorerst die Entwiklung zu Draw3D V.3.3 eingestellt habe, da ich an einer neuen Version arbeite, die in ihrer Handhabe sich unterscheidet. Nun will ich mal die reinen Ergebnisse mit Code - allerdings noch ohne der zugehörigen Draw3D.bb - nicht vorenthalten.
Das ganze ist logisch so aufgebaut, dass zunähst die beiden HUD und World -Pivots wegfallen. Dafür muß man sich am Anfang zuerst selbst ein Pivot mittels ''noch Befehlsname'' NewSector3D erstellen. Diesen kann man nun positionieren und drehen wie es einem beliebt. Damit nun geladene Bilder nicht immer alle möglichen Pivots beisteuern, oder jedes erstellte Pivot nur ein geladenes Bild bearbeiten kann, muß manuell noch einmal das Pivot mit einem geladenem Bild verlinkt werden. Das macht man mit ''noch Befehlsnamen'' LinkImage3D. Das davon zurückgegebene Handle kann man nun ganz normal zum zeichnen benutzen. Will man daraus ein Font machen, so muß aus dem geladenem Bild der Bereich noch extrahiert werden. Gibt man keine Parameter an, so wird das ganze Image benutzt. Dieses hat wiederrum den Vorteil, dass man innerhalb eines Images sowohl Bildelemente als auch Schriftarten speichern kann. Damit ist auch das Sortierproblem für eine ''echte'' an die Draw3D angepasste GUI nun möglich. Nach all den tollen Sachen hat das ganze auch so ein paar Nachteile. Dadurch, dass immer alles verlinkt werden muß, ist ein ''mal eben schnell gemacht'' nicht so gaaaanz schnell gemacht. Für reine 2D-Sachen wird nach der letzten Meinung einer PN unnötig verkompliziert. Ich zu meinem Teil finde es nicht unbedingt, da für reine 2D-Sachen nur 2 Befehle mehr hinzu kommen. Und einer weg fällt, nämlich Origin3D ![]() Es kam auch der Vorschlag, beide Versionen V.3.2 (bzw. V.3.3) und die V.4.0 (eventuell unter anderem Namen zu führen): Aber ich laber wieder zuviel rum. Hier der Link Also, ich will vorschläge. Und bitte dann auch begründen, da ich mir bereits eine Meinung gebildet habe. Erst wenn ich überschwenglich umgestimmt werden kann, wird sich das ganze auch in entsprechender Richtung drehen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Roma3ht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Echt coole sache man. Könntest du bitte nächstes mal die ganzen dateien in ein Ordner stecken ? Dann muss man nicht selber erst ein ordner erstellen und alles reinkippen. ![]() ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir kommt im Kontextmenü:
- Dateien entpacken... - Hier entpacken - Entpacken nach blub Und ich rege mich immer auf, wenn die Leute alles in ein Verzeichnis legen, so dass ich dann immer Doppel/Unterverzeichnisse habe. Naja ![]() |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr schöne Beispiele, so qualitativ, wie man sie von dir kennt. Ich für meinen Teil würde bei solchen Ergebnissen eine kleine Verkomplizierung des Quellcodes völlig in Kauf nehmen. Schließlich würde das ganze ganz ohne Draw3D nicht einmal annähernd so schnell möglich sein. Weiter so ich drück dir die Daumen ^^ | ||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde dir ja empfehlen 3.3 noch so wie es bisher ist fertig zu machen, falls das nicht zuviel Arbeit ist(und nur dann) und dann dafür danach komplett auf dein anderes System umzusteigen.
Denn das solltest du auf alle Fälle tun, da deine fünf Beispiele wirklich beeindruckend sind(gerade die Abfrage der Maus auf Polys mitten im Raum finde ich toll, ganz zu schweigen von der Verwendung der Normalmaps ![]() Ab und zu ist eine Neustrukturierung bei solchen Sachen einfach sinnvoll. Das man sich mit dem neuen Kram etwas mehr Arbeit machen muss halte ich übrigens nicht für schlimm. Du könntest ja, wenn du auch die Benutzer die sowas nicht hinkriegen glücklich machen willst einfach eine Funktion schreiben, die als Parameter nur die Kamera erwartet(oder nicht mal die) und den ganzen Kram einrichtet, sodass danach der Rest in etwa so funktioniert wie bisher. [/Brainstorming] (Schreibst du die neue Version eigentlich ganz neu? Wenn ja, benutzt du diesmal Types?) |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wow, beeindruckend was du wieder geleistet hast ![]() Es sieht etwas anders aus als die älteren Draw3D Versionen, aber nicht unbedingt komplizierter. Wenn man sich damit eingearbeitet hat, denke ich, das sich der "Aufwand" des verlinkens sehr lohnt. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ...
die sache mit dem Verlinken ist sehr interesant. Zum Cube demo: Da gibts noch nen darstellungs Fehler. So wies ausschaut werden die Text Passagen in Worte aufgesplittet. Die Splittung erzeugt einen Randfehler. Es siet aus als ob Rechteckke nicht dichtgenug aneinander gereit sind. Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Meinung war halt, wer Draw3D in echten 3D Games nutzen will (HUD etc) greift zur hervorragenden 4.0. Wer dagegen klassisches 2D macht ist bei 3.2 (3.3) besser aufgehoben.
cu |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oha ... das ist mal eine krasse Erweiterung des Anwendungsgebietes. Sieht auch aus, als könnte man sich recht schnell umgewöhnen. Die Demos sind schon mal beeindruckend ![]() Eine Frage habe ich zu LinkImage3D: wie schnell ist dieser Befehl? Ist es möglich, zur Laufzeit nach belieben Bilder zu "linken" (und die Links wieder löschen, falls da irgendwas erstellt wird), oder müsste man sowas in der Ladephase erledigen? (Ich fände es übrigens logischer, bei dem Befehl erst die Textur und dann den Sektor anzugeben...) ... hectic hat Folgendes geschrieben: Und ich rege mich immer auf, wenn die Leute alles in ein Verzeichnis legen, so dass ich dann immer Doppel/Unterverzeichnisse habe. Naja Oooh ja, ich mich auch. (Sehr.)
![]() Ein Archiv ist im Prinzip ein komprimierter Ordner, da hat nicht nochmal ein Ordner drinzusein :-/ |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
aMul
Ich habe die V.3.3 von Grund auf ''neu'' geschrieben. Also zumindest habe ich jede Codezeile überprüft und ggf. Unstimmigkeiten korrigiert oder verbessert. Bewährten Codezeilen habe ich übernommen. Die V.4.0 ist wiederum aus der V.3.3 entstanden. Zu deiner Frage: Es läuft nach wie vor auf ein Banksystem, denn ansonsten müsste man sich immer so blöde Variablennamen wie Local Image.Image3D=LoadImage3D("bild.png",2,2) machen, was ich nicht wollte. Auch wenn dieses Vorgehen schneller sein müsste. tft Die Darstellungsfehler sind mir bekannt, und werden e.v. noch korrigiert. Hatte nur keine Lust mich damit noch aufzuhalten ![]() FireballFlame Der ''Befehl'' LinkImage3D erstellt lediglich ein Mesh, Surface und die Bankeinträge die vorher LoadImage3D gemacht hat. Am Ende wird noch die eingehende Textur an das Mesh gebunden. Sollte also sehr schnell sein und zur Laufzeit möglich sein. Zitat: (Ich fände es übrigens logischer, bei dem Befehl erst die Textur und dann den Sektor anzugeben...)
Ja, kann sein, ich hatte zu dem Zeitpunkt ganz andere Dinge im Kopf, um schnell vorran zu kommen. Überlege ich mir also auch noch mal ![]() Alle Erstmal vielen Dank für das Feedback. Ich überlog und überlog die letzte Nacht, und kam zum Entschluss, dass es wohl das beste wäre, wie Abrexxes schon sagte. Der Grund ist einfach dieser, dass es ein paar Befehle gibt, die ich nicht so einfach mit einer Perspektivenkorrektur berücksichtige. Wie zum Beispiel Set/GetTexel3D. Sicherlich würde ich es auch hin bekommen, aber das wird dann zu viel des guten. Meine Überlegung war nun folgende: Draw3D V.3.3 - Nur 2D also HUD (kein Worldpivot mehr) - Dafür eine externe wesentlich verbesserte 2D-Physikintegration gegenüber Physix (ist schon fertig +Editor) - Jedes Image kann mit einer Bumpmap versehen werden. Auch die Physikelemente (nur zum Teil fertig) - Zu der Physikintegration kommt noch ein 2D-Map-Editor der angenehm zu bedienen ist (fertig) - Zusätzlich werden hier die nativen Grafikmöglichkeiten übernommen Draw3D V.4.0 - Nur 3D mit der Möglichkeit des ''selber machen'' für HUD etc... - Jedes Image kann frei im Raum angeklickt werden (benötigt etwa 10% mehr Rechenleistung) - Kein Bumpmapping - Keine 2D-Physikintegration - Keine native Grafikmöglichkeit (aber nur, weil Oval3D so viel Code einnimmt) Für mich stellt sich nur die Frage, ob ich wirklich Lust dazu habe zwei Versionen zu ''supporten''. Auch wenn ich sicherlich nicht dazu verpflichtet bin, da ich ja kein Schotter für verlange. Nur noch als Info: Das integrieren der Bumpmap in den DrawImage3D -Befehl bedeutet, dass dieser etwas langsamer sein wird. Auch dann, wenn kein Bumpmap benutzt wird. Ein extra Zeichenbefehl wiederum wie bisher DrawBump3D bedeutet aber auch, dass es schwieriger ist, die automatische Physikintegration damit zu beschäftigen. Also mal sehen was mir noch so einfällt. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fände diese Lösung sehr gut. Und wenn du die 3.3 dann nicht mehr "Voll" Supporter wäre da keiner böse da diese Version ja wirklich alles hat.
Aber mal nebenbei, meine letzte Version war die 3.3 Abrexxes Spezial Version ^^. Welche war die letzte Version (Download) oder gab es die nur intern? thx |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Version die ich dir damals geschickt hatte, war eine Testversion zum rumspielen. Und soweit ich weiß, warst du der einzige, der die bekommen hatte. Im Moment kann ich keine V.3.3 zur Verfügung stellen, ohne dabei auf nervige Zwischenkombination zu verzeichnen. Die momentan letzte V.3.3 ist ''Beta K'' vom 05.02.2009 oder 11.02.2009
Ich mache nun erstmal die V.4.0 fertig und stelle daraus dann eine V.3.3 her. Schon allein deshalb, weil mir der Datenzugriff viel besser gefällt. Eventuell fällt aber Origin3D weg, weil es doch den einen oder anderen Schwirigkeiten bereitet hatte. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Syntax/Befehle werden mir immer sympathischer(schön lang mit verständlichem Namen:D)
Ich drück dir beide Daumen das du es fertig machst ![]() |
||
Warbseite |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hectic hat Folgendes geschrieben: Es läuft nach wie vor auf ein Banksystem, denn ansonsten müsste man sich immer so blöde Variablennamen wie Local Image.Image3D=LoadImage3D("bild.png",2,2) machen, was ich nicht wollte. Auch wenn dieses Vorgehen schneller sein müsste.
Jetzt erinnere ich mich wieder. Du hattest damals ja eine Meinungsverschiedenheit mit Handle ![]() ![]() Im Endeffekt ist es aber ja eh egal wie es gemacht wurde, ich bezweifel, dass es große Geschwindigkeitsunterschiede macht. Ansonsten finde ich deine getroffene Entscheidung gut. So ist wohl jedem gedient. Ich finde es zwar schade, dass dann Sachen wie Physik und Normalmapping (vorerst?) wegfallen, aber du wirst deine Gründe haben. Ach, und was den Support angeht bist du ja nicht der einzige, der sich mit Draw3D auskennt. ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich nun eine 2D und eine 3D -Version machen will, ist es unumgänglich um Probleme im Vorwege auszumerzen, dass einige Befehlsnamen geändert werden müßen.
Zum beispiel muß in der 3D-Version eine Textur separat geladen werden, und erst durch eine Verknüpfung zur Verfügung gestellt werden. Damit überschneidet sich nun LoadImage3D, der unter 2D ja eine eigenständige Rolle besitzt, unter 3D aber in dieser Form erst noch verküpft werden muß. Blöd irgendwie. Also lasse ich unter 2D LoadImage3D und mach für die 3D-Version folgende Vorgehensweise: Code: [AUSKLAPPEN] Local Sector=CreatePivot3D(Camera, 0,0,GraphicsWidth()/2, 0,0,0, 1)
Local Textur=LoadTexture3D("Courier.png",2,2) Local Pull=PullImage3D(Textur,Sector,0) Local Grab=GrabImage3D(Pull,0,0,64,64) DrawImage3D(Pull,0,0) DrawImage3D(Grab,0,0) Das ergibt bereits somit viel Sinn, da sowohl CreatePivot3D als auch LoadTexture3D fast genau das tun, was CreatePivot ![]() ![]() ![]() Damit ist dann auch eine Kollision mit der Onlinehilfe vermieden! Ansonsten müsste ich die eine Draw2D und einmal Draw3D nennen. Auch blöd, da die Draw3D ja schon eine ganze Weile existiert, und so eine Änderung noch mehr Verwirrung hervorrufen würde. Also Draw2D V.3.3 und Draw3D V.4.0. Hätte ich blos gleich am Anfang die 2D genannt, wäre das alles nicht passiert. *lalala* Oder ich nenne die neue Draw4D V.1.0, hehe ... *selberverwirrtsei* Wobei 4D echt zu ewigen Tippfehlern führen würde. *ganzdollverwirrtsei* - aMul Also Physik fällt nur unter der echten 3D-Version weg, wo sie eh keinen Sinn ergibt. Dass ich aber auch dort kein Bump einbaue ist eine Sache für sich. Ich sehe da keinen Grund drin, da bisher das Bump unter 2D berechnet wird. Eine echte 3D-Berechnung müsste man mithilfe matritzen berechnen, was mir Schwirigkeiten bereitet. Außerdem hätte man da ein 1A mit Bump berechnetes Flachobjekt unter 3D!?! - So, noch ein paar Tests, dann kann die V.4.0 zum testen raus. Wer will? |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich stehe gerne zur Verfügung.
Allerdings kann ich nicht versprechen mehr zu tun als mich am Lesen deines Codes zu erfreuen. ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, das in der 3D-Version so viel an Funktionen wegfällt (vor allem Natives und Bumpmapping) finde ich schade, denn diese beiden Dinge finde ich besonders nützlich. Und ich schätze, die beiden Versionen gleichzeitig zu betreiben wird wohl nicht besonders sinnvoll, oder vielleicht gar nicht möglich sein... | ||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die beiden Versionen sind nun bereits an drei Testuser verschickt worden. Von zwei davon weiß ich sogar, dass sie was auf dem Kasten haben und bei Problemen ggf. auch gut helfen könnten. Die Namen sind nun Draw3D2 und Draw3D3, und beide fangen nun mit V.1.0 an. In beiden habe ich auch wieder die native Befehle mit rein gepackt. Wer sie nicht braucht, kann einfach jeweils den unteren Codebereich (ist abgegrenzt) löschen. Damit fällt dann etwa 1/3 Code weg, da u.a. Oval3D so viel einnimmt.
Das Bumpmapping dagegen ist eine reine 2D-Geschichte. Es werden also nur Rot und Grün berechnet. Das Blau für die Tiefe fällt weg. Außerdem - um alle Mißverstäntnisse zu vermeiden - ist die Draw3D3 auch nicht so, dass man komplett ''frei'' im 3D-Raum zeichnen kann. Das DrawImage3D hat immer noch nur X und Y. Man kann sich zum Beispiel ein Pivot erstellen, positionieren, drehen und skallieren lassen, auf welchen dann die einzelnen 2D-Sachen gezeichnet werden. Alles andere wäre zu kompliziert auch für den Anwender und für nahezu kaum an Sachen zu gebrauchen. In anbetracht dieser Tatsache, frage ich mich, wie man hier sinnvoll Bumpmapping benutzen soll. Es ist also keine Bumpmap auf einem 3D-Objekt, wo die VertexNormalen klar zu deffinieren sind. Bei solchen Flachmännchen dagegen wäre die Frage, wie die VertexNormalen gesetzt werden sollen, da es ja auch hier unterschiedlich nachzuahmende ''Formen'' geben kann. ![]() Die meisten anderen denen das nicht ausreicht, sind meisten eh schon Profis und werden schon aus Eitelkeit keien Fremdcode benutzenm, sondern sich Projektspezifisch was eigenes schreiben. - Achja, bevor ist es vergesse... Hier die Auflistung die ich auch an die drei Testuser geschickt habe: Zitat: Weg gefallen sind:
- DrawMouse3D (braucht eh kein Mensch) - LoadFont3D (wird nun über FontRange3D aus einem Image extrahiert) - Origin3D (hatte keine Lust mehr auf den kack, unter Draw3D3 eh egal) Neu hinzu gekommen sind: - BumpImage3D (nur Draw3D2 - ermöglicht Bumpmaping auf ein Image) - IndexImage3D (nur Draw3D2 - fügt zwei Texturen zu einer ''Index'') - DeffBzQuad3D (gehört zu DrawBzQuad3D) - DeffBzBend3D (gehört zu DrawBzQuad3D) - DrawBzQuad3D (zeichnet einen Quadverlauf mithilfe Bézier ein) - DrawNerd3D (macht genau das, wie es heisst. Für Leute die alles selber machen wollen) - DrawOrder3D (setzt die Zeichenpriorität um) - FontRange3D (ersetzt mehr oder weniger das alte LoadFont3D) - ImageSize3D (gibt die Kantenlänge einer geladenen Textur zurück) - CreatePivot3D (nur Draw3D3 - erstellt ein neuen Bezugspunkt) - LoadTexture3D (nur Draw3D3 - ersetzt mehr oder weniger das alte LoadImage3D) - PullImage3D (nur Draw3D3 - ersetzt mehr oder weniger das alte LoadImage3D) - SetPivot3D (nur Draw3D3 - setzt ein Bezugspunkt um, oder dreht in etc...) Es fallen also nur drei Sachen weg, und kommen mehr hinzu. Die Draw3D V.3.2 hatte 36 Befehle, die Draw3D2 hat nun 42 und die Draw3D3 hat 41. Sollte also zufriedenstellend sein. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group