scene¶
This module provides scene functionality for rendering in GIANT.
Description¶
In GIANT, a scene is used to describe the location and orientation of objects with respect to each other and some defined frame (usually the camera frame) at a given moment in time. This then facilitates rendering multiple objects in a scene, doing single bounce ray tracing to a light source, and other similar tasks. Additionally, the scene makes it easy to tie functions that specify the location/orientation of an object at given times so that they can be used to automatically place things in the scene at a requested image time.
Use¶
To use the scene in GIANT you simply create SceneObject
instances for any targets and the light source for
your scene (currently only a single light source is allowed). You then create a Scene
around these objects.
This then gives you the ability to call the most commonly used methods of the scene Scene.trace()
to trace rays
through all of the targets in the scene and Scene.get_illumination_inputs()
to do a single bounce ray trace and
create the inputs required to estimate the intensity for each rendered ray using illumination
.
In general, besides initializing your Scene
and SceneObject
instances, you won’t interact directly
with the scene classes much, as this is done for you in the rest of GIANT.
Classes
This enumeration provides options for the different corrections that can be used when calculating the apparent position of an object in a scene |
|
This is a container for |
|
This class provides a quick and easy interface for changing the position and orientation of various objects. |
Function
Correct an inertial position to include the time of flight for light to travel between the target and the camera. |
|
Correct for stellar aberration using rotations. |
|
Correct for stellar aberration using linear addition. |
Constants
The speed of light in kilometers per second |