Erstellen von Mesh und einem kleinen Effekt für Blitz3D von ??? |
Es muss nicht viel dazu gesagt werden. Ein Typ namens Triangle mit die mit Mesh generierten Triangles auf. Diese werden noch zufällig kolleriert... Nachher wird mit Sin/Cos herrum experementiert, so dass es ein wenig effektvoll aussieht... Ist eigentlich nur ein Anschauungsbeispiel um den Einsatz von: - Types - Surface / AddTriangle - allg. Mesh zu verdeutlichen... [code:1:c184eee5bb] Graphics3D 800,600,32,2 SetBuffer BackBuffer() AntiAlias 1 SeedRnd MilliSecs() camera=CreateCamera() PositionEntity camera,0,0,-12 light=CreateLight(1,camera) AmbientLight 100,100,100 Type triangle Field objekt End Type For x = -5 To 5 For y = -5 To 5 create.triangle = New triangle createobjekt = CreateMesh() surface = CreateSurface(createobjekt) v0 = AddVertex(surface, 0, 0, 0) v1 = AddVertex(surface, 1, -1, 0) v2 = AddVertex(surface, 0, -1, 0) AddTriangle(surface, v0, v1, v2) UpdateNormals createobjekt EntityColor createobjekt, Rnd(100,200), Rnd(100,200), Rnd(100,200) EntityFX createobjekt, 16 PositionEntity createobjekt, x, y, 0 ;------------------------------ create.triangle = New triangle createobjekt = CreateMesh() surface = CreateSurface(createobjekt,brush) v0 = AddVertex(surface, 0, 0, 0) v1 = AddVertex(surface, 1, 0, 0) v2 = AddVertex(surface, 1, -1, 0) AddTriangle(surface, v0, v1, v2) UpdateNormals createobjekt EntityColor createobjekt, Rnd(100,200), Rnd(100,200), Rnd(100,200) EntityFX createobjekt, 16 PositionEntity createobjekt, x, y, 0 Next Next While Not KeyHit(1) For test.triangle = Each triangle i# = i# + 1 TurnEntity testobjekt,Abs(Sin(i)),Abs(Cos(i)),0 MoveEntity testobjekt,0,0,Sin(i/100)/2 Next UpdateWorld() RenderWorld() Flip Wend End [/code:1:c184eee5bb] |