Z-Sorting Problem bei EntityOrder
Übersicht

![]() |
MegamagBetreff: Z-Sorting Problem bei EntityOrder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kurz und knapp:
Ich benutze die Draw3D, um ein GUI zu zeichenen. Diese Images zeichne ich mit Order -12 (und ja, das muss auch so bleiben). Nun muss ich ein 3D-Objekt über dieses GUI legen. LAde also das Mesh ganz normal, setze EntityOrder für das Mesh auf -13 und es wird auch korrekt über der GUI angezeigt. aber dann kam etwas, was mich sehr wunderte. Auf einmal konnte ich einige Faces vom Modell sehen, die eigentlich verdeckt sein müssen. Auch nach löschen unnötiger Triangles beim Modell ist es immer noch da. Dann lese ich in der Hilfe, dass EntityOrder das Z-Sorting des Modells zerstört. Na wunderbar. Gibt es irgendeine Möglichkeit, das Objekt über der GUI zu zeichnen, ohne dass es Z-Sorting Probleme gibt? Das wäre nämlich ziemlihc blöd, wenn das nicht klappen würde... ,-Megamag |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erst das Modell rendern, den Bufferinhalt dann in eine Textur kopieren und zum schluss auf ein Quad legen. | ||
Starfare: Worklog, Website (download) |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann doch lieber zuerst das HUD rendern, die Welt verstecken (oder eine zweite Kamera verwenden), die 3D-Modelle einblenden und dann ein zweites mal drüberrendern.
Mit CameraClsMode ![]() |
||
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 |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, dass ich erst so spät antwote, hatte andere Dinge im Kopf ![]() Ähm, ich wollte nur mal wissen, wie diese Lösung denn umzusetzen wäre? Du meinst ich soll das HUD rendern, danach dieses ausblenden, 3D Objekt einblenden und drübberrendern? Die Frage ist aber, wie ich das HUD ausblenden soll. Wie gesagt, ich zeichne das mit "DrawImage3D" und es gibt soweit ich weiß kein "HIdeImage3D" oder so ^^ EDIT: Oh, Mann ich müsste ja dann auch vorher noch den Rest der Welt verstecken... Das wird ja eine riesen arbeit bei jedem Objekt erst noch überall eine HideFunktion noch dazuzuschreiben... Okay, vergesst, was ich dort oben geschrieben habe /\ Ich habe es jetzt mal mit einer 2. Kamera probiert: Also, ich habe eine 2. Kamera gemacht. Diese habe ich weit weg von der Originalszene gesetzt, die Objekte davor. Hier der Code der Cam: Code: [AUSKLAPPEN] Global shopcam=CreateCamera()
EntityOrder shopcam,-2000 CameraClsMode shopcam, True, False PositionEntity shopcam,0,10,-18+1000 RotateEntity shopcam,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam) HideEntity shopcam Dann leifert die Kamera folgendes Bild, wenn sie rendert, darunter das Bild, wie es von der normalen Cam gerendert wird: https://www.blitzforum.de/upload/file.php?id=7517 Soweit, so gut. Aber ich schaffe es nicht, dass die beiden Objekte nun über das gerenderte der anderen Cam gerendert werden. Hier habe ich mal den Code, den ich versucht habe: Code: [AUSKLAPPEN] If s\group=2 Then
RenderWorld HideEntity cam ShowEntity shopcam RenderWorld HideEntity shopcam ShowEntity cam RenderWorld EndIf Vielleicht kann mir hier ja nochmal jemand helfen ![]() EDIT: Gut, wenn man so blöd ist, wie ich und "CameraClsMode shopcam, True, False" statt "CameraClsMode shopcam, false,True" schreibt, geht's natürlich auch nicht. Dann ist der ganze renderkram auch unnötig. Blöd ist zwar, dass EntityAlpha das Z-Sorting zwar immer noch irgendwie zerstört, aber es geht immerhin... ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group