Abwechselnd 2D und 3D Ebenen möglich?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

theotheoderich

Betreff: Abwechselnd 2D und 3D Ebenen möglich?

BeitragSa, Apr 18, 2009 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
ich möchte gerne 2D Grafiken und 3D-Sprites gemeinsam verwenden.

Nun weiss ich , dass ich Sprites in den Vordergrund setzen kann, wenn ich die 2D Grafiken vor RenderWorld zeichne....auch, dass ich es umgekehrt machen kann, um z.B. 2D Grafik vor 3D zu haben (z. B. für ein HUD).

Frage:
Ist es möglich mit mehreren gemischten 2D/3D Ebenen zu arbeiten?

Z. B.
Ebene 1 (ganz unten) 3D-Sprite mit Wassertextur
Ebene 2 2D-Objekte/Grafiken mit "Löchern" drin, damit man das 3D Sprite darunter sieht
Ebene 3 3D-Figuren, die sich auf Ebene 2 bewegen
Ebene 4 2D-HUD oder sonstiges

Also quasi 2D und 3D in mehreren Ebenen abwechselnd.

Hat einer eine Idee, im Pixeln bin ich gut, im programmieren deutlich weniger Embarassed Very Happy


P. S.: natürlich bin ich schon auf die Idee gekommen, die 2D Grafiken einer Ebene auf Sprites zu setzen, aber leider geht dabei der Pixellook verloren. Wenn die Auflösung z. B. 640x480 beträgt, müsste die Textur 640x640er Grösse haben, damit alles pixelgenau dargestellt wird. Leider wird diese wohl intern in eine 512x512er umgewandelt und schon ist alles unscharf :
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Apr 18, 2009 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ebene 1 (ganz unten) 3D-Sprite mit Wassertextur
Exclamation EntityOrder +2

Ebene 2 2D-Objekte/Grafiken mit "Löchern" drin, damit man das 3D Sprite darunter sieht
Exclamation EntityOrder +1

Ebene 3 3D-Figuren, die sich auf Ebene 2 bewegen
Exclamation EntityOrder 0

Ebene 4 2D-HUD oder sonstiges
Exclamation EntityOrder -1

Wobei das erste den selben EntityOrder wie das zweite haben kann, muß nur dann in richtiger Reihenfolge gezeichnet werden.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

TheProgrammer

BeitragSa, Apr 18, 2009 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
So wie ich das verstanden habe, möchte er abwechselnd 2D- und 3D-Elemente von Ebene zu Ebene gezeichnet haben. Da funktioniert die Entityorder-Lösung leider nicht.

Mach es einfach folgendermaßen:

Arrow Mit Hide- und Showentity alle Entities "aktivieren", die in der aktuellen Ebene gerendert werden sollen

Arrow Renderworld

Arrow 2D-Elemente zeichnen

Arrow die nächsten Entities mit Showentity aktivieren und alle anderen mit Hideentity verstecken

Arrow Renderworld

Arrow 2D-Elemente zeichnen


usw.

Ich hoffe, ich konnte helfen. Smile

Grüße
aktuelles Projekt: The last day of human being

Noobody

BeitragSa, Apr 18, 2009 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
TheoTheoderich hat Folgendes geschrieben:
P. S.: natürlich bin ich schon auf die Idee gekommen, die 2D Grafiken einer Ebene auf Sprites zu setzen, aber leider geht dabei der Pixellook verloren.

Daher geht Entityorder wohl kaum, da er ja 2D - Grafiken benutzt Wink

Ich schätze, die einzige Lösung hierzu ist, zuerst die dritte Ebene zu verstecken, die erste zu rendern, die zweite Ebene zu zeichnen, die erste Ebene zu verstecken und die dritte zu rendern, um dann über alles nochmals die vierte Ebene zu zeichnen.
Also zweimal RenderWorld mit HideEntity/ShowEntity.

Die Kamera muss dann mit CameraClsMode so gesetzt sein, dass sie den Backbuffer vor dem Rendern nicht löscht - den Bildschirm muss man dann manuell mit Cls wieder am Anfang der Schleife löschen.

Edit: Hoppala, da war ich wohl zu langsam Razz
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Apr 18, 2009 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also der Pixellook geht überhaupt nicht verloren wenn man es richtig macht.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

theotheoderich

BeitragSa, Apr 18, 2009 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für Eure Antworten, dann habe ich wieder was zu tun morgen Very Happy
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.

AnniXa

BeitragSo, Apr 19, 2009 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Alternativ könntest auch draw3d Funktionen nutzen dann kannst du die 3d dinge mit entityorder sortieren bzw einfach mit der position, und die draw3d dinge lassen sich ja anhand der ladereihenfolge etc. sortieren.

mit drawrect3d() z.b. habe ich eigentlich immer ohne probleme gestochen scharfe pixelbildchen benutzen können.
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group