Draw 3D Image Priorität
Übersicht

![]() |
TimBoBetreff: Draw 3D Image Priorität |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gudens,
ich versuche vergeblich die Priorität von den Images in der D3D zu verändern... der Verwendungszweck ist jetz unwichtig (führt zu weit) ich brauche es aber in einem Editor. Wäre echt Sinnvoll einmal das Bild x vor y und einmal hinter y malen zu können. Ist das möglich ? Vielen Dank TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
ChriseBetreff: Re: Draw 3D Image Priorität |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hectic hat mir mal erklärt, dass es auch drauf ankommt, in welcher Reihenfolge die Texturen geladen werden, da die Grafikkarte die Texturen selbst verwaltet und somit auch Prioritäten, die durch das nacheinander Laden erfolgen automatisch bestimmt.
D.h. Texturen die zuerst geladen wurden werden unter denen, die danach geladen werden angezeigt. |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja genau das ist mir bewusst.
Aber bei einem Editor habe ich einmal die Tiles in einem Menü und einmal auf der Map. Das Problem ist, dass ich die Tiles von der Map durch das Menü sehen kann.. Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist leider unter Blitz3D und schneller Grafikausgabe nicht möglich - behaupte ich jetzt mal. Zumindest habe ich noch kein Weg gefunden beide Sachen zu kombinieren. Eine schnelle Grafikausgabe-Lösung ist (hast du nicht von mir schon die Draw3D2 bekommen?), erstelle per CopyImage3D eine Kopie von den notwendigen Texturen und zeichne sie dann als Menü ein. Bei erstellen der Kopien oder auch nachträglich kannst du die Zeichenprioritäten einzelner Surfaces mit DrawOrder3D umändern. Über die Draw3D V.3.2 oder auch alternativ kannst du die notwendigen Texturen noch einmal laden (Blitz3D übernimmt dann selbst eine Optimierung, dass nicht unnötig viel Grafikspeicherplatz verschwendet wird) und entsprechend die Texturen auch so aufteilen. Das heisst zum Beispiel: Eine Textur für die Tiles und eine für das Menü die einzelnd geladen werden. Oder auch möglich ist, alle Grafikelemente, also Tiles und Menü ,auf eine Textur packen (nur ein Surface) und so einzeichnen wie man es von 2D her auch kennt.
Möglichkeiten: 1) Für das Menü die Texturen noch einmal auf ein anderes Handle laden und entsprechend dann im Programm aufteilen. Also die zuerst geladene Textur für die Map benutzen und das spätere Handle für das Menü. 2) Alle Grafiklelemente, also Tiles und Menüelemente auf nur eine Textur zusammenlegen und dann wie man es von 2D her auch kennt einzeichnen. 3) Nur Draw3D2) Benötigte Texturen für das Menü per CopyImage3D auf ein neues Handle kopieren und eine höhere Zeichenpriorität einstellen. - 4) Speziell in deinem Fall könnte es auch reichen, indem man zuerst die Map zeichnet und dann das Menü. Also so wie unter 2D auch, denn innerhalb eines Surfaces verhält sich das alles wie bei 2D auch. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wäre es nicht einfach möglich, einen Z-Wert mit anzugeben, um den dann das Image nach hinten/vorne geschoben wird, und so hinter/vor den anderen images steckt? | ||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht in der Tat (habe ich hier auch so gemacht), allerdings muss man dafür die Transparenz aufgeben - falls ein Entity das Alpha - Flag hat, rendert Blitz sie nämlich ohne Z - Buffer Write. | ||
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 |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
danke für die ausführlichen Nachrichten ! ich habe deine Draw3Dz schon erhalten aber ich habe mich dann doch beschlossen lieber tausende komplizierter Rechnungen zu machen, aber dafür eins zu genießen: Fenstergrößen unabhängigkeit. Egal wie groß das Fenster ist, es steht immer bei 10%, 20% das oder das da, eign. cool ne.. ![]() awas.. zum Thema der Editor sieht so aus: nicht erschrecken bitte.. nunja also wie man sieht kann man die komische Tile-Bar verschieben und man kann sie ein und ausblenden, das macht das alles auf ein Bild laden schwer finde ich. Demnach muss ich alle 40 (bis jetzt) Images zweimal laden ? Geht nicht sowas wie double rendering ? Das ich einmal auf kamera 1 den background mache und auf kamera 2 das menü und das gerenderte Bild von kamera 2 auf das Bild von Kamera 1 mache ? Wenn das möglich ist, müsste ich nur wissen wie ^^ Greez TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, Draw3Dz und Draw3D2 sind zwei verschiedene Versionen. Die Draw3Dz ist eine alte veränderte V.3.2 um einen Koordinatenursprung links/oben zu erhalten (Das ''z'' soll Zerro heissen). Die Draw3D2 ist der Nachfolger der V.3.2 und heisst Draw3D2 weil es meine letzte Version sein sollte die ich ins Rennen bringe. Die ''2'' bezieht sich auch darauf, dass die Handhabe ein klein wenig komplizierter ist, dafür aber man sehr viel mehr machen kann. Also auch in echten 3D-Spielen so Anzeigetafeln im Spielfeld erstellen etc... Diese ist bereits seit Monaten fertig, doch die letzten Monate habe ich sowas von keine Lust gehabt jetzt noch unzählige Beispieldateien zu coden. Diese Version haben lediglich die Betatester und ein paar wenige die gerade zu der Zeit mit einem neuem Projekt angefangen haben, und ich dachte du wärst mit dabei gewesen?! Naja egal.
TimBo hat Folgendes geschrieben: Demnach muss ich alle 40 (bis jetzt) Images zweimal laden ?
Gott beware! Die Draw3D bedient sich der 3D-Garfik aus der Grafikkarte. Das heisst, dass eine echte Szene durch die Draw3D gerendert wird. Das heisst aber auch, das jede geladene Textur ein Surface bedeutet. Wenn du dein Editor so richtig schnell haben willst, dann packe alle Tiles auf eine Textur und grabe sie einzelnd aus, oder gibt mir Bescheid und ich sende dir die Draw3D2 zu, denn diese kann das auch automatisch Tiles mit GrabAnimImage3D grabben. Danach hast du nur noch ein Handle und steuerst den Rest per Frames aus. Also viel einfacher und vor allem schneller, weil viele Surfaces bedeuten viel Rechenaufwand für die Grafikkarte, da sie für jeden Surfacewechsel intern ''umschalten'' muß, und das dauert ein klein wenig. Wenn du nun alle Tiles auf einer Textur hast, dann hast du es also nicht nur schnell, sondern auch eine gewohnte Zeichenpriorität wie man es von 2D her kennt. Das heisst dann, zuerst die Map zeichnen und da drüber dann das Menü. ![]() Also Statt Code: [AUSKLAPPEN] Dim IMG(Max)
IMG(0)=LoadImage3D() IMG(1)=LoadImage3D() IMG(2)=LoadImage3D() For Y=0 To 7 For X=0 To 7 DrawImage3D(IMG(Frame),x,y) Next Next Machst du Code: [AUSKLAPPEN] IMG=LoadImage3D()
For Y=0 To 7 For X=0 To 7 DrawImage3D(IMG,x,y,0,0,0,Frame) Next Next |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group