entityorder problem mit mesh

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

bjh

Betreff: entityorder problem mit mesh

BeitragMo, Dez 26, 2011 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich versuche gerade eine skybox zu erstellen, bei der man oben diesen hässlichen punkt nicht sehen kann.

dafür erstelle ich mit createsphere eine kugel und bastle dann die 2 polygone rein:
BlitzBasic: [AUSKLAPPEN]
sky=CreateSphere(9)
s=GetSurface(sky,1)
v1=AddVertex(s,1,.9,1)
v2=AddVertex(s,-1,.9,1)
v3=AddVertex(s,1,.9,-1)
v4=AddVertex(s,-1,.9,-1)
AddTriangle s,v3,v2,v1
AddTriangle s,v3,v4,v2
t=LoadTexture("gfx\wolken.jpg")
ScaleTexture t,.2,.2
EntityTexture sky,t
FlipMesh sky
EntityFX sky,1
EntityOrder sky,2


das einzige, was nicht funktioniert ist das mit entityorder. wenn ich das ausschalte, sieht die kugel so aus, wie sie sollte. das problem ist, dass entityorder das was ist dazugefügt habe nicht auch so mitnimmt.
das quad wird dann noch vor der kugel angezeigt, hat aber "global" entityorder 2.

ich habs auch schon mit DeleD (einfaches 3d-programm) probiert, aber da stimmen die uv-koordinaten nicht.

hoffe, dass ich nicht selber eine funktion zum kugel erstellen schreiben muss. Wink

Mr.Keks

BeitragMo, Dez 26, 2011 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityOrder funktioniert (logischerweise) nicht korrekt mit Objekten, die sich in Teilen selbst verdecken. Du müsstest also entweder das aus der Kugel löschen, was "doppelt" ist (geht vermutlich einfacher in nem 3d-Programm), oder die Dreiecke in einer anderen Reihenfolge in das Surface einfügen (die Einfügereihenfolge bestimmt auch die Zeichenreihenfolge, soweit ich mich entsinne.)

Wenn du noch viele abgefahrene Dinge mit deinem Hintergrund vor hast, kannst du auch in zwei Passes rendern. Also im ersten Durchlauf nur den Hintergrund (ohne Einsatz von EntityOrder) zeichnen und danach mit entsprechendem CameraClsMode die Szene drauf. Ist aber ziemlich kostenintensiv und, wenn EntityOrder in dieser Situation dein einziges Problem ist, vermutlich übertrieben
MrKeks.net
  • Zuletzt bearbeitet von Mr.Keks am Mo, Dez 26, 2011 19:11, insgesamt einmal bearbeitet
 

bjh

BeitragMo, Dez 26, 2011 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
die einfügreihenfolge kann ich nicht ändern, weil ich die kugel ja nicht selbst erstelle.
ich glaub ich lass das quad einfach raus oder vllt gibts es ja noch eine andere lösung.

danke für deine antwort

EDIT: kann ich die paar polygone oben an der kugel mit bb3d rausschneiden?
kann mir da jemand helfen?

EDIT2: ich erstelle mir jetzt einen skycube und passe die obere textur so an, dass alles nahtlos ist.
falls doch noch jemand eine bessere lösung weiß, dann her damit! Wink
 

bjh

BeitragMo, Dez 26, 2011 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab jetzt meine skybox fertig.
falls das jemand mal gebrauchen kann:
BlitzBasic: [AUSKLAPPEN]
v1=AddVertex(s,-1,-1,-1)
v2=AddVertex(s,1,-1,-1,1)
v3=AddVertex(s,-1,-1,1,1)
v4=AddVertex(s,1,-1,1)
v5=AddVertex(s,-1,1,-1,0,1)
v6=AddVertex(s,1,1,-1,1,1)
v7=AddVertex(s,-1,1,1,1,1)
v8=AddVertex(s,1,1,1,0,1)
v9=AddVertex(s,0,1,0,.5,.5)
AddTriangle s,v1,v2,v6
AddTriangle s,v1,v6,v5
AddTriangle s,v2,v4,v8
AddTriangle s,v2,v8,v6
AddTriangle s,v7,v8,v4
AddTriangle s,v7,v4,v3
AddTriangle s,v7,v3,v5
AddTriangle s,v3,v1,v5
AddTriangle s,v9,v8,v7
AddTriangle s,v9,v6,v8
AddTriangle s,v6,v9,v5
AddTriangle s,v5,v9,v7

die textur wird dann richtig drübergelegt.
die unterseite hab ich rausgelassen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group