SingleSurface Cubes - Anordnung stimmt nicht
Übersicht

![]() |
faeXBetreff: SingleSurface Cubes - Anordnung stimmt nicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe hier einen Code für SingleSurface Cubes. Allerdings funktioniert da was mit dem Rendern nicht ganz:
Code: [AUSKLAPPEN] ; CubeRunner Reloaded
Graphics3D 800, 600, 32, 2 SetBuffer BackBuffer() Global Camera = CreateCamera() PositionEntity Camera, 0, 0, -5 Global CubeMesh = CreateMesh() Global CubeSurface = CreateSurface(CubeMesh) EntityFX CubeMesh, 34 CreateMap(10, 10, 500, 1) ; Für die frameunabhängige Programmierung Global LastUpdate%, Difference% Global MS% Global FElapsed#, F% Global TimeShift# = 1 LastUpdate = MilliSecs() While Not KeyHit(1) UpdateGame() RenderWorld Flip Wend Function UpdateGame() ; Zeitrechnungen Difference = MilliSecs() - LastUpdate LastUpdate = MilliSecs() FElapsed = FElapsed + Difference * TimeShift MS = MS + (Difference * TimeShift) F = FElapsed FElapsed = FElapsed - F MoveEntity Camera, F*.01*(KeyDown(205)-KeyDown(203)), F*.01*(KeyDown(200)-KeyDown(208)), F*(.005 + KeyDown(57)*.01) End Function Function CreateCubeFast(X#, Y#, Z#, ScaleX#, ScaleY#, ScaleZ#) V1% = AddVertex(CubeSurface, X - ScaleX, Y + ScaleY, Z - ScaleZ) V2% = AddVertex(CubeSurface, X + ScaleX, Y + ScaleY, Z - ScaleZ) V3% = AddVertex(CubeSurface, X + ScaleX, Y - ScaleY, Z - ScaleZ) V4% = AddVertex(CubeSurface, X - ScaleX, Y - ScaleY, Z - ScaleZ) V5% = AddVertex(CubeSurface, X - ScaleX, Y + ScaleY, Z + ScaleZ) V6% = AddVertex(CubeSurface, X + ScaleX, Y + ScaleY, Z + ScaleZ) V7% = AddVertex(CubeSurface, X + ScaleX, Y - ScaleY, Z + ScaleZ) V8% = AddVertex(CubeSurface, X - ScaleX, Y - ScaleY, Z + ScaleZ) VertexColor CubeSurface, V1, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V2, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V3, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V4, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V5, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V6, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V7, Rand(0, 255), Rand(0, 255), Rand(0, 255) VertexColor CubeSurface, V8, Rand(0, 255), Rand(0, 255), Rand(0, 255) AddTriangle(CubeSurface, V1, V2, V3) AddTriangle(CubeSurface, V1, V3, V4) AddTriangle(CubeSurface, V2, V7, V3) AddTriangle(CubeSurface, V6, V7, V2) AddTriangle(CubeSurface, V1, V4, V8) AddTriangle(CubeSurface, V5, V1, V8) AddTriangle(CubeSurface, V5, V2, V1) AddTriangle(CubeSurface, V5, V6, V2) AddTriangle(CubeSurface, V4, V3, V7) AddTriangle(CubeSurface, V7, V8, V4) End Function Function CreateMap(Width%, Height%, Length%, Percent#) For X% = -Width To Width For Y% = -Height To Height For Z% = 0 To Length If Rnd(100) < Percent Then CreateCubeFast (X, Y, Z, 1, 1, 1) EndIf Next Next Next End Function Kurze Erläuterung: Pfeiltasten steuern die Camera. Mit Leertaste bewegt sie sich noch schneller vorwärts. Es ist zwingend, dass die Cubes in SingleSurface sind, da immer so viele im Bild sein werden. Was ist da mit der Anordnung? Lösung wäre der Z-Buffer, aber der bleibt einem in B3D leider verwehrt. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
EntityFX CubeMesh,2
machen |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert einwandfrei ![]() EDIT: Na klar, durch das Aktivieren von Alpha werden die Cubes in einer anderen Reihenfolge gerendert ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group