display_scene_3d — Anzeigen einer 3D-Szene.
display_scene_3d( : : WindowHandle, Scene3D, CameraIndex : )
display_scene_3d zeigt die 3D-Szene Scene3D im Fenster
WindowHandle aus der Sicht der Kamera mit dem Index
CameraIndex an.
Zu beachten ist, dass in manchen Fällen das Seitenverhältnis von
WindowHandle ähnlich zur Breite und Höhe der Kamera
sein sollte, um die gewünschten Ergebnisse zu erhalten.
Ein Beispiel in der Dokumentation von
create_scene_3d zeigt einen kurzen Ablauf.
display_scene_3d benötigt OpenGL 2.1, GLSL 1.2 und die OpenGL
Extensions GL_EXT_framebuffer_object und GL_EXT_framebuffer_blit.
Andernfalls wird automatisch der Kompatibilitätsmodus mit geringeren
Anforderungen an OpenGL benutzt.
Bei Grafikkarten mit geringem Speicher können bei großer Auflösung des Renderfensters folgende Fehlermeldungen auftreten:
Low-Level Fehler: 'Incomplete attachment'
Unbehandelte Ausnahme: 'Benötigtes Framebuffer Objekt wird nicht unterstützt'
Lösungen:
Um die Anforderungen an den Speicher der Grafikkarte zu verringern, kann
mit set_scene_3d_param der Parameter 'quality' auf
'low' gesetzt oder der Kompatibilitätsmodus verwendet werden.
Die Systemvariable (siehe set_system)
'opengl_compatibility_mode_enable' kann auf 'true' gesetzt
werden, um den Kompatibilitätsmodus permanent einzuschalten.
Dieser Modus benötigt OpenGL 1.1.
Im Kompatibilitätsmodus werden die Parameter 'object_index_persistence', 'depth_persistence' und 'quality' nicht unterstützt.
Auf Linux Remote Desktop wird 'disp_background' nicht unterstützt.
WindowHandle (input_control) window → (handle)
Fensteridentifikator.
Scene3D (input_control) scene_3d → (handle)
Handle der 3D-Szene.
CameraIndex (input_control) integer → (string / integer)
Index der Kamera zum Anzeigen der 3D-Szene.
Sind die Parameterwerte korrekt, dann liefert display_scene_3d
den Wert 2 (
H_MSG_TRUE)
. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
create_scene_3d,
render_scene_3d
3D Metrology