Hilfe

VertexU

B3D

Aufruf

u# = VertexU (surface%, vertex% [, set%])

Parameter

surface% Identität einer Gitteroberfläche (surface)
vertex% Indexnummer eines Vertexpunktes
set% Koordinaten-Set (entweder 0 oder 1; Standard=0)


Rückgabewert

U-Koordinate eines Vertexpunktes (entspricht X-Koordinate der Textur)


Beschreibung

Die Funktion VertexU liefert die U-Koordinate eines Vertexpunktes zurück. Diese Koordinate entspricht der X-Koordinate einer Textur. Mit VertexTexCoords kann man U-, V- und W-Koordinaten setzten.


Beispiel

Standardbeispiel:

Graphics3D 640, 480, 32, 2

Sphere = CreateSphere(12)
SaveWire(Sphere, "Texture", 512, 512)

Function SaveWire(Entity, File$, ImgWidth, ImgHeight)
   Local OldBuffer, OldR, OldG, OldB
   Local S, ImageWire, Surface, T, Vertex2
   Local VU#2, VV#2, X2, Y2
   
   OldBuffer = GraphicsBuffer()
   OldR = ColorRed()
   OldG = ColorGreen()
   OldB = ColorBlue()
   Color 255, 255, 255
   
   For S = 1 To CountSurfaces(Entity)
   ImageWire = CreateImage(ImgWidth, ImgHeight)
   SetBuffer ImageBuffer(ImageWire)
   
   Surface = GetSurface(Entity, S)
   For T = 0 To CountTriangles(Surface) - 1
   Vertex0 = TriangleVertex(Surface, T, 0)
   Vertex1 = TriangleVertex(Surface, T, 1)
   Vertex2 = TriangleVertex(Surface, T, 2)
   
   VU0 = VertexU#(Surface, Vertex0)
   VV0 = VertexV#(Surface, Vertex0)
   
   VU1 = VertexU#(Surface, Vertex1)
   VV1 = VertexV#(Surface, Vertex1)
   
   VU2 = VertexU#(Surface, Vertex2)
   VV2 = VertexV#(Surface, Vertex2)
   
   X0 = ImageWidth(ImageWire) * VU0
   Y0 = ImageHeight(ImageWire) * VV0
   X1 = ImageWidth(ImageWire) * VU1
   Y1 = ImageHeight(ImageWire) * VV1
   X2 = ImageWidth(ImageWire) * VU2
   Y2 = ImageHeight(ImageWire) * VV2
   
   Line X0, Y0, X1, Y1
   Line X1, Y1, X2, Y2
   Line X2, Y2, X0, Y0
   Next
   
   SaveBuffer(ImageBuffer(ImageWire), File$ + S + ".bmp")
   Next
   
   Color OldR, OldG, OldB
   SetBuffer OldBuffer
End Function


Siehe auch

VertexTexCoords, VertexV, VertexW, VertexX, VertexY, VertexZ

Übersicht 3D Grafik Surface