Frame Buffer¶
-
template<IsSpectral TSpectral>
class FrameBuffer¶ -
Public Functions
-
FrameBuffer() = delete¶
-
inline Resolution resolution() const¶
-
inline int width() const¶
-
inline int height() const¶
-
inline void enable_depth(bool enable = true)¶
-
inline bool has_depth() const¶
-
inline void enable_albedo(bool enable = true)¶
-
inline bool has_albedo() const¶
-
inline void enable_geometry_ids(bool enable = true)¶
Enable the IDs of the geometry (mesh or ellipsoid) each pixel sees.
This and the model, instance and part IDs are those of the nearest surface the pixel’s camera rays hit, the one depth() records (see ObjectIds). A pixel that sees nothing, or only a light, holds NO_OBJECT_ID.
-
inline bool has_geometry_ids() const¶
-
inline void enable_model_ids(bool enable = true)¶
Enable the IDs of the model each pixel sees: NO_OBJECT_ID where the primitive seen was placed directly rather than by a model.
-
inline bool has_model_ids() const¶
-
inline void enable_instance_ids(bool enable = true)¶
Enable the IDs of the instance in the scene graph that placed what each pixel sees.
-
inline bool has_instance_ids() const¶
-
inline void enable_part_ids(bool enable = true)¶
Enable the IDs of the part each pixel sees: the innermost instance that placed the primitive, within a model, or the instance itself for a primitive placed directly.
-
inline bool has_part_ids() const¶
-
inline bool has_object_ids() const¶
Whether any of the object ID images is enabled.
-
inline void set_object_ids(int x, int y, const ObjectIds &ids)¶
Record the IDs of what pixel (x, y) sees in the enabled object ID images.
-
inline void enable_camera_normals(bool enable = true)¶
-
inline bool has_camera_normals() const¶
-
inline void enable_world_normals(bool enable = true)¶
-
inline bool has_world_normals() const¶
-
inline void enable_received_direct_power(bool enable = true)¶
Enable the direct-illumination component of received power.
Also enables received_power(), which the direct and indirect components are a decomposition of: the renderer’s unresolved-source, veiling-glare and sensor stages all key off the total, and the invariant received_power == received_direct_power + received_indirect_power only holds if the total is actually produced.
-
inline bool has_received_direct_power() const¶
-
inline void enable_received_indirect_power(bool enable = true)¶
Enable the indirect-illumination component of received power.
See enable_received_direct_power() for why this also enables the total.
-
inline bool has_received_indirect_power() const¶
-
inline void enable_received_power(bool enable = true)¶
-
inline bool has_received_power() const¶
-
inline void enable_sensor_response(bool enable = true)¶
Enable or disable the sensor response.
Enabling it also enables received_power(), which the sensor reads out. Disabling it leaves received_power() as it is.
-
inline bool has_sensor_response() const¶
-
inline void clear()¶
-
FrameBuffer() = delete¶