Surface erstellen und texturieren

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Bonkers

Betreff: Surface erstellen und texturieren

BeitragSa, Jan 07, 2006 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich erzeuge ein Mesh aus gegebenen Punkten, die in einem Feld hinterlegt sind.
Soweit klappt das auch ganz gut, aber beim der Textur klappt es dann nicht mehr: Die Textur erscheint auf jedem "Abschnitt" der Surface, anstelle auf dem gesamten Mesh.
Die If-Then verschachtelung ist notwendig um die richtigen Texturkoordinaten festzulegen.

Frage: Wo sitzt der Wurm?
[syntax="bb"]
mesh=CreateMesh()
surface=CreateSurface(mesh)
Texture=LoadTexture("strasse.bmp")


;Vertexpunkte erzeugen
For i=0 To anzahl-1

If i=0 Then
vertex(i,0) =AddVertex(surface, MeshVert(i,0), koord(i,1), MeshVert(i,1),0,0)
vertex(i,1) =AddVertex(surface, MeshVert(i,2), koord(i,1), MeshVert(i,3),1,0)
vertex(i+1,0)=AddVertex(surface, MeshVert(i,4), koord(i+1,1),MeshVert(i,5),1,1)
vertex(i+1,1)=AddVertex(surface, MeshVert(i,6), koord(i+1,1),MeshVert(i,7),0,1)

AddTriangle(surface, vertex(i,0), vertex(i+1,0), vertex(i,1))
AddTriangle(surface, vertex(i,0), vertex(i+1,1), vertex(i+1,0))

Else

If Not ( i Mod 2 ) Then
vertex(i+1,0)=AddVertex(surface,MeshVert(i,4),koord(i+1,1),MeshVert(i,5),1,1)
vertex(i+1,1)=AddVertex(surface,MeshVert(i,6),koord(i+1,1),MeshVert(i,7),0,1)
Else
vertex(i+1,0)=AddVertex(surface,MeshVert(i,4),koord(i+1,1),MeshVert(i,5),1,0)
vertex(i+1,1)=AddVertex(surface,MeshVert(i,6),koord(i+1,1),MeshVert(i,7),0,0)
End If

AddTriangle(surface, vertex(i+1,0), vertex(i,0), vertex(i+1,1))
AddTriangle(surface, vertex(i,0), vertex(i,1), vertex(i+1,1))

EndIf

Next

UpdateNormals mesh
EntityTexture mesh,texture[/syntax]

PS: Warum klappt der BB-Code nicht?

Markus2

BeitragSa, Jan 07, 2006 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
UV ist nix anderes als XY
wobei 0,0 links oben ist und 1,1 rechts unten (wenn du dir die Surface von vorne vorstellst) .
Also mußte das richtig ausrechnen und dann sollte die
Texture dein ganzes Objekt bedecken .
 

Bonkers

BeitragSa, Jan 07, 2006 23:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein...die Koordinaten scheinen zu stimmen... denke ich mal, denn sonst würde ja die Textur verzerrt erscheinen.
Ich habe mal ein paar Screenshots gemacht:

user posted image

user posted image

Die Textur landet jeweils auf je zwei Surfaces. Und zwar genau auf denen, die ich in AddTriangle festlege und nicht auf dem gesamten Mesh.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group