Hilfe
VertexRed
Aufruf
Parameter
Rückgabewert
Beschreibung
Beispiel
Siehe auch
rot# = VertexRed# (surface%, vertex%)
Parameter
surface% | Identität einer Gitteroberfläche (surface) |
vertex% | Indexnummer eines Vertexpunktes |
Rückgabewert
Rot-Anteil der Farbe eines Vertexpunkts.
Beschreibung
Die Funktion VertexRed liefert den Rotanteil der Farbe von einem bestimmten Vertexpunkt zurück. Jedem Punkt kann eine Farbe zugeordnet werden. Damit man es sehen kann, muss man FX-Modus 2 einschalten.
Die Anweisung VertexColor kann dagegen die Farbe ändern.
Beispiel
Ermittelt die RGB Werte eines Vertexpunktes
Graphics3D 800, 600, 16, 2
camera = CreateCamera()
MoveEntity camera, 0, 0, - 2
light = CreateLight(1)
TurnEntity light, 45, 45, 45
sphere = CreateSphere(20)
EntityFX sphere, 2
EntityPickMode sphere, 2
surface = GetSurface(sphere, 1)
For i = 0 To CountVertices(surface) - 1
VertexColor(surface, i, Rand(0, 255), Rand(0, 255), Rand(0, 255))
Next
Dim vert_r(3)
Dim vert_g(3)
Dim vert_b(3)
While Not KeyHit(1)
TurnEntity sphere, 0, 0.1, 0
If MouseHit(1) Then
CameraPick camera, MouseX(), MouseY()
triangle = PickedTriangle()
For i = 1 To 3
vertex = TriangleVertex(surface, triangle, i)
vert_r(i) = VertexRed(surface, vertex)
vert_g(i) = VertexGreen(surface, vertex)
vert_b(i) = VertexBlue(surface, vertex)
Next
EndIf
RenderWorld
For i = 1 To 3
Text i * 100, 15, "Vertex " + i
Text i * 100, 30, "Red :" + vert_r(i)
Text i * 100, 45, "Green:" + vert_g(i)
Text i * 100, 60, "Blue :" + vert_b(i)
Next
Flip
Wend
End
camera = CreateCamera()
MoveEntity camera, 0, 0, - 2
light = CreateLight(1)
TurnEntity light, 45, 45, 45
sphere = CreateSphere(20)
EntityFX sphere, 2
EntityPickMode sphere, 2
surface = GetSurface(sphere, 1)
For i = 0 To CountVertices(surface) - 1
VertexColor(surface, i, Rand(0, 255), Rand(0, 255), Rand(0, 255))
Next
Dim vert_r(3)
Dim vert_g(3)
Dim vert_b(3)
While Not KeyHit(1)
TurnEntity sphere, 0, 0.1, 0
If MouseHit(1) Then
CameraPick camera, MouseX(), MouseY()
triangle = PickedTriangle()
For i = 1 To 3
vertex = TriangleVertex(surface, triangle, i)
vert_r(i) = VertexRed(surface, vertex)
vert_g(i) = VertexGreen(surface, vertex)
vert_b(i) = VertexBlue(surface, vertex)
Next
EndIf
RenderWorld
For i = 1 To 3
Text i * 100, 15, "Vertex " + i
Text i * 100, 30, "Red :" + vert_r(i)
Text i * 100, 45, "Green:" + vert_g(i)
Text i * 100, 60, "Blue :" + vert_b(i)
Next
Flip
Wend
End
Siehe auch

