Hilfe

FlipMesh

B3D

Aufruf

FlipMesh mesh%

Parameter

mesh% Identität eines Gitterobjekts (mesh)


Rückgabewert

-


Beschreibung

Der Befehl FlipMesh kehrt alle Dreiecke eines Gitterobjekts um.

Abhängig von der Anordnung der Ecken wird ein Dreieck nur von bestimmter Seite sichtbar. Ein Dreieck hat drei Punkte, die durch Vertex definiert werden. Die Vertexpunkte werden miteinander verbunden v0 bis v2. Ist die Reihenfolge der Punkte im Uhrzeigersinn (relativ zum Betrachter), so ist ein Dreieck sichtbar. Ist die Reihenfolge gegen den Uhrzeigersinn, so bleibt ein Dreieck unsichtbar.

Der Grund für die sichtbaren Dreiecke liegt auf der Hand: Dadurch wird die Anzahl der Dreiecke deutlich reduziert. Zudem wird somit nur die Seite gerendert, die auch tatsächlich sichtbar sein kann.

Falls nun ein Objekt von innen zu sehen sein soll, dann muss man die Dreiecke nach innen umkehren - mit dem Befehl FlipMesh.

Soll ein Objekt von innen und von außen sichtbar bleiben, dann muss man zwei Objekte erstellen, wobei ein Objekt mit dem Befehl FlipMesh umgekehrt wird. Dadurch wird jedoch die Polygonanzahl verdoppelt!


Mit EntityFX und Flag 16 kann man Backface Culling ganz ausschalten.


Beispiel

Standardbeispiel:

Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
sphere = CreateSphere()
ScaleEntity sphere, 100, 100, 100
sky_tex = LoadTexture("sky.bmp")
EntityTexture sphere, sky_tex
FlipMesh sphere
Color 0, 0, 0

While Not KeyHit(1)
   RenderWorld
   Text 0, 0, "Dies ist die Ansicht einer Kugel - von innen!!!"
   Flip
Wend
End


Siehe auch

CopyEntity, EntityFX, LoadMesh

Übersicht 3D Grafik Mesh