material.enable_render
Wird dieses Flag gesetzt, dann wird die Material-Event-Funktion zu Beginn jedes
Renderns von Entities ausgeführt, wenn das Material einen Effekt enthält
und einer Entity zugewiesen ist. Damit können Effekte aufgrund von Entity
Skills oder Entity World Matrizen berechnet werden.
Wertebereich:
on - Material-Even- Funktion zu Beginn jedes Renderns der Entity
ausführen
off - Material-Event-Funktion einmal pro Entity ausführen.
Typ:
Flag
Edition:
C P
Bemerkungen:
- Gibt die Event Funktion den Wert 1 zurück, wurde die Entity
nicht gerendert. Auf diese Weise kann eine eigene Renderfunktion implementiert
werden. Für das Rendern der Entity muss 0 zurückgegeben werden.
- Zum Zeitpunkt des Events sind die Texture und Render Stages der 3D Hardware
bereits gesetzt. Ändern von Entity-Parametern im Event hat daher keinen
Einfluss auf den nachfolgenden Renderprozess - hierfür sollte ENABLE_TREE
verwendet werden.
- Der Debugger kann für ENABLE_RENDER Events nicht eingesetzt
werden.
Beispiel:
// erzeuge eine Matrix, die den Camera Raum zum World Raum transformiert.
function mtl_env_view()
{
mat_set(mtl.matrix,matViewInv);
// setzte den Übersetzungsteil der Matrix zurück
mtl.matrix41 = 0; // 0 == float(0)
mtl.matrix42 = 0;
mtl.matrix43 = 0;
return(0); // Render die Entity
}
function mtl_env_init()
{
bmap_to_cubemap(mtl.skin1);
mtl.event = mtl_env_view;
mtl.enable_render = on; // starte den Event zu Beginn jedes Rendern von Entities }
material mtl_envcube // Umgebungs Würfel
{
skin1 = bmp_envcube;
event = mtl_env_init;
...
}
Siehe auch:
material.event, material.matrix
► Aktuelle Version Online