bmap
Definiert ein Renderziel für den View. Der View rendert in die Bitmap und
nicht auf den Bildschirm. Auf diese Weise können Views auf Entities,
Panels oder Umgebungsmaps gerendert werden. Auch kann eine View-Rendering-Kette
für komplexe Prä- und Postprozessing-Effekte, wie etwa das Shadow-Mapping,
definiert werden.
Typ:
BMAP*
oder A7.10 char*
Bemerkungen:
- A7.10 LC
In einer VIEW-definition kann alternativ zu einem Bitmap-Pointer
der
Name
einer
Bilddatei
oder
ein Bitmap-Formatstring (siehe BMAP )angegeben werden.
- Die
Bitmap wird automatisch in ein Render-Zielformat konvertiert und ist für Pixel-Operationen
nicht mehr ansprechbar. Die Parameter pos_x/pos_y und size_x/size_y des
Views definieren einen Offset- und Zielbereich auf der Bmap. A7.10 Um
in eine Umgebungsmap zu rendern, setzen Sie die View-pos_x-Parameter
auf die Pixelposition des Anfangs der Fläche in die Sie hineinrendern
wollen.
- Nach dem Rendern ist der globale render_target-Pointer
auf die Bmap gesetzt und macht sie mittels des Texturparameters
TargetMap für shaders und
kommende View-stages verfügbar. Dies läßt
sich zum Kombinieren weiterer Effekte mit dem Bildinhhalt verwenden.
- Hat ein View einen nachfolgenden stage ohne
den Flag PROCESS_SCREEN aber keine
zugewiesene view.bmap, wird automatisch ein Renderziel mit
der derzeitigen Größe des Views erstellt.
- Das Renderziel verwendet normalerweise denselben Z-Buffer wie der Bildschirm und darf daher nicht größer sein, als die Bildschirmauflösung. Falls doch, erstellen Sie bitte über bmap_zbuffer einen Z-Buffer.
- 3D-Hardware kann dieselbe Textur meist nicht als Renderquelle und
Renderziel verwenden. Daher sollten Sie nicht direkt auf eine im
selben View sichtbare Entity-Textur rendern.
- Um die bmap in ein für Pixel zugängliches Format zurück
zu konvertieren, setzen Sie den Parameter view.bmap auf
NULL zurück
und verwenden Die Funktion bmap_to_format.
- Um in eine bestimmte Fläche einer kubischen Umgebungsmap zu rendern, verwenden sie den Parameter view.pos_x, um den Pixel-Offset der Fläche anzugeben.
- Für vielfältige Renderziele verwenden Sie bitte die Parameter target1...target3.
Edition:
A6 P A7 C
Beispiele (lite-C):
VIEW* viewDepth =
{
bmap = "#256x256x14"; // create a 256x256 floating point render target
flags = SHOW | SHADOW | NOSHADOW;
material = mtlDepth;
}
...
VIEW* remote_camera = { layer = 1; }
...
remote_camera.bmap = bmap_for_entity(monitorsprite,0); // render view on monitorsprite
set(remote_camera,SHOW); // render this view
Siehe auch:
VIEW, BMAP, stage, PROCESS_SCREEN / PROCESS_TARGET, bmap_for_entity, bmap_to_format, bmap_rendertarget, bmap_zbuffer
► Aktuelle Version Online