Draw 3D.... Line3D über...unter Line3D?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Chrise

Betreff: Draw 3D.... Line3D über...unter Line3D?

BeitragSo, Jan 18, 2009 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich habe ein Problem bei Draw3D.
Und zwar lasse ich zuerst mit Line3D eine Linie zeichnen und danach schließlich noch eine, die diese kreuzt.
Allerdings ist die Linie, die ich zuerst zeichne über der Linie, die ich danach zeichne.

Meine Frage ist:
Ist die Ordnung, also welches Objekt über dem anderen sichtbar ist überhaupt einprogrammiert?
Wenn ja, wie löse ich das Problem?

Ich denke ein Code ist nicht nötig, weil es ja nur einfaches Problem ist.

Danke!
 

da_poller

BeitragSo, Jan 18, 2009 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
was als letztes gemalt wird ist oben ganz eifnach..

DaysShadow

BeitragSo, Jan 18, 2009 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Eben das geht ja bei ihm nicht...es ist genau umgekehrt Rolling Eyes
Blessed is the mind too small for doubt

Chrise

BeitragSo, Jan 18, 2009 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
da_poller hat Folgendes geschrieben:
was als letztes gemalt wird ist oben ganz eifnach..


ist es in dem fall aber nicht....

Code: [AUSKLAPPEN]
;Für hintergrund Unterteilungen
For i=1 To gesamttage
   Line3D(style2,-320+i*graphx#,20,-320+i*graphx#,-280,1.25)
Next
For i=1 To gesamtstunden
   Line3D(style2,-320+i*graphx_h#,20,-320+i*graphx_h#,-280,0.75)
Next
For wert.werte= Each werte
   y# = -300+((600*wert\stufe#)/hoechste_stufe#)
   Line3D(style1,-400+(x-1)*prozentx#,y_old,-400+x*prozentx#,y#,1.5)
   ;Plot3D(style2,-400+x*prozentx#,y#,5)
      
      
   Plot3D(style2,-320+(wert\tag-tageunterschied)*graphx#+wert\stunde*graphx_h#,0,5)

   x = x+1
   y_old = y#
Next


Das hätte ich nämlich normalerweise auch gedacht, aber bei mir sind sogar die Plots unter den Unterteilungslinien gezeichnet.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Jan 18, 2009 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Draw3D zeichnet alles über 3D der Grafikkarte. Das heisst auch, dass jedes geladene Bild ein Surface besitzt und somit ein eigenes EntityOrder. Man kann also nur ''später gezeichnet, überdeckt da drunter liegendes'' nur anwenden, wenn man es nur innerhalb eines Surfaces betrachtet. Allerdings können die nativen Befehle keine Teilbilder (GrabImage3D) bearbeiten, daher wird man mehr oder weniger gezwungen bei unterschiedlichen Texturen auf die Ladereihenfolge zu achten.

Lösung 1: Lade die Texturen bereits in der zu zeichnenden Reihenfolge in den Speicher ein.

Lösung 2: Wenn mehrere Schichten unterschiedlicher Texturen benötigt wird, lade die Texturen mehrmals. Die V.3.3 (noch nicht veröffentlicht) hat bereits CopyImage3D, was man auch dafür nutzen kann.

Lösung 3: Falls es irgendwie geht, versuche die Linien über DrawLine3D zu zeichnen und packe dann beide oder mehr Muster in nur einer Textur die du dann einzelnd mit GrabImage3D ausschneidest. DrawLine3D hat dazu 3 verschiede Darstellungsmodie. Eventuell passt eines davon für deine Zwecke. Das wäre die beste Lösung die ich dir zur Zeit anbieten kann.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Chrise

BeitragSo, Jan 18, 2009 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo hectic!
Lösung 1 hat gleich zum gewünschten Ergebnis geführt.
Dankeschön!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group