Clarisse 4.0 SP12 SDK  4.0.5.12.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
ModuleCamera Class Reference

This class implements a camera object in Clarisse. More...

Inheritance diagram for ModuleCamera:
ModuleSceneItem ModuleGlObject ModuleProjectItem ModuleObject OfModule ResourceUser EventObject CoreCustomData CoreBaseObject CoreBaseType

Public Member Functions

RayGeneratorCameracreate_ray_generator (const CtxMotionBlur *motion_blur=0) const
 Returns a ray generator configured for the current camera.
 
void configure_ray_generator (RayGeneratorCamera *ray_gen, const CtxMotionBlur *motion_blur=0) const
 Configure a ray generator with the current camera.
 
bool project_local_point (const CtxEval &eval_ctx, const GMathVec3d &local_position, GMathVec3d &camera_position, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts the coordinates of a point from local to camera space.
 
bool unproject_local_point (const CtxEval &eval_ctx, const GMathVec3d &camera_position, GMathVec3d &local_position, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts the coordinates of a point from camera space to local.
 
bool project_point (const CtxEval &eval_ctx, const GMathVec3d &world_position, GMathVec3d &camera_position, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts the coordinates of a point from world to camera space.
 
bool unproject_point (const CtxEval &eval_ctx, const GMathVec3d &camera_position, GMathVec3d &world_position, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts the coordinates of a point from camera space to world.
 
bool project_local_sample (const CtxEval &eval_ctx, const GMathVec3d &local_position, const GMathVec3d &local_dpdu, const GMathVec3d &local_dpdv, GMathVec3d &camera_position, GMathVec3d &camera_dpdu, GMathVec3d &camera_dpdv, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts a sample from local to camera space.
 
bool unproject_local_sample (const CtxEval &eval_ctx, const GMathVec3d &camera_position, const GMathVec3d &camera_dpdu, const GMathVec3d &camera_dpdv, GMathVec3d &local_position, GMathVec3d &local_dpdu, GMathVec3d &local_dpdv, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts a sample from camera space to local.
 
bool project_sample (const CtxEval &eval_ctx, const GMathVec3d &world_position, const GMathVec3d &world_dpdu, const GMathVec3d &world_dpdv, GMathVec3d &camera_position, GMathVec3d &camera_dpdu, GMathVec3d &camera_dpdv, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts a sample from world to camera space.
 
bool unproject_sample (const CtxEval &eval_ctx, const GMathVec3d &camera_position, const GMathVec3d &camera_dpdu, const GMathVec3d &camera_dpdv, GMathVec3d &world_position, GMathVec3d &world_dpdu, GMathVec3d &world_dpdv, const double &aspect_ratio=1.0, const double &delta_time=0.0) const
 Converts a sample from camera space to world.
 
void get_fovs (const double &ratio, double &h_fov, double &v_fov)
 Retrieves the field of view values.
 
void get_offsets (double &h_offset, double &v_offset)
 Retrieves the camera films offsets.
 
void get_camera_configuration (CameraConfig &config)
 
void get_proj_matrix (const float image_ratio, GMathMatrix4x4d &wtn)
 
- Public Member Functions inherited from ModuleSceneItem
void register_component_implementation ()
 
bool is_translatable () const
 return true if the item can be translated
 
bool is_rotatable () const
 return true if the item can be rotated
 
bool is_scalable () const
 return true if the item can be scaled
 
bool is_pivot_translatable () const
 return true if the pivot of the item can be translated
 
bool is_pivot_rotatable () const
 return true if the pivot of the item can be rotated
 
bool is_pivot_scalable () const
 return true if the pivot of the item can be scaled
 
ModuleSceneItemget_parent () const
 Returns the apparent scene item kinematic parent object if any, with respect to attr muted value or parent disabled state.
 
void set_parent (ModuleSceneItem *item, const ParentInPlaceMode &mode=PARENT_IN_PLACE_FORCED_OFF)
 Set the kinematic parent for this item.
 
ModuleSceneItemget_serialized_parent () const
 Returns the actual scene item kinematic parent object if any, without considering attr muted value or parent disabled state.
 
void set_rotation_order (const GMathRotationOrder &order)
 
void set_rotation_offset_order (const GMathRotationOrder &order)
 
GMathRotationOrder get_rotation_order () const
 
GMathRotationOrder get_rotation_offset_order () const
 
void set_transform (const GMathTransform &xform)
 
void set_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item translation in the given space.
 
void set_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item rotation in the given space.
 
void set_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item scaling in the given space.
 
void set_shearing (const GMathVec3d &sh, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item scaling in the given space.
 
void change_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 
void change_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 
void change_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 
void change_shearing (const GMathVec3d &sh, const Space &space=SPACE_LOCAL, void *requester=0)
 
void set_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item translation offset in the given space.
 
void set_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item rotation offset in the given space.
 
void set_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the item scaling offset in the given space.
 
void change_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 
void change_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 
void change_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 
void set_rotation_pivot (const GMathVec3d &r, const Space &space=SPACE_LOCAL)
 Set the position of the rotation pivot in the given space.
 
void set_scaling_pivot (const GMathVec3d &s, const Space &space=SPACE_LOCAL)
 Set the position of the scaling pivot in the given space.
 
void change_rotation_pivot (const GMathVec3d &r, const Space &space=SPACE_LOCAL)
 
void change_scaling_pivot (const GMathVec3d &s, const Space &space=SPACE_LOCAL)
 
void reset_rotation_pivot ()
 Reset the rotation pivot to its initial position.
 
void reset_scaling_pivot ()
 Reset the scaling pivot to its initial position.
 
void inplace_set_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the kinematic translation without moving the object (offset the translation)
 
void inplace_set_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the kinematic rotation without moving the object (offset the rotatation)
 
void inplace_set_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the kinematic scaling without moving the object (offset the scale)
 
void inplace_change_translation (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 
void inplace_change_rotation (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 
void inplace_change_scaling (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 
void inplace_set_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the translation offset without moving the object.
 
void inplace_set_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the rotation offset without moving the object.
 
void inplace_set_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 Set the scaling offset without moving the object.
 
void inplace_change_translation_offset (const GMathVec3d &t, const Space &space=SPACE_LOCAL, void *requester=0)
 
void inplace_change_rotation_offset (const GMathVec3d &r, const Space &space=SPACE_LOCAL, void *requester=0)
 
void inplace_change_scaling_offset (const GMathVec3d &s, const Space &space=SPACE_LOCAL, void *requester=0)
 
void set_matrix (const GMathMatrix4x4d &matrix, const Space &space)
 Extract translation, rotation, scale and shear values from the given matrix.
 
GMathTransform get_transform (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
GMathTransform get_transform_at (const double &time) const
 
GMathTransform compute_transform_at (const double &time) const
 
void get_translation (GMathVec3d &t, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item translation in the given space.
 
void get_rotation (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item rotation in the given space.
 
void get_scaling (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item scale in the given space.
 
void get_shearing (GMathVec3d &sh, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item shear in the given space.
 
void get_translation_offset (GMathVec3d &t, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item translation in the given space.
 
void get_rotation_offset (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item rotation in the given space.
 
void get_scaling_offset (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item scaling in the given space.
 
void get_rotation_pivot (GMathVec3d &r, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the position of the rotation pivot in the given space.
 
void get_scaling_pivot (GMathVec3d &s, const Space &space=SPACE_LOCAL, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the position of the scaling pivot in the given space.
 
void get_rotation_pivot_matrix (GMathMatrix4x4d &r, const Space &space, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item rotation pivot matrix in the given space.
 
void get_scaling_pivot_matrix (GMathMatrix4x4d &r, const Space &space, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 Returns the item scaling pivot matrix in the given space.
 
const GMathMatrix4x4d & get_kinematic_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
const GMathMatrix4x4d & get_object_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
const GMathMatrix4x4d & get_global_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
const GMathMatrix4x4d & get_inv_global_matrix (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
const GMathMatrix4x4d get_reference_global_matrix () const
 
void get_global_position (GMathVec3d &position, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
void get_global_orientation (GMathMatrix4x4d &orientation, const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_CURRENT) const
 
void get_translation_at (GMathVec3d &t, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item translation at the given time in the given space.
 
void get_rotation_at (GMathVec3d &r, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item rotation at the given time in the given space.
 
void get_scaling_at (GMathVec3d &s, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item scale at the given time in the given space.
 
void get_shearing_at (GMathVec3d &sh, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item shear at the given time in the given space.
 
void get_translation_offset_at (GMathVec3d &t, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item translation in the given space.
 
void get_rotation_offset_at (GMathVec3d &r, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item rotation in the given space.
 
void get_scaling_offset_at (GMathVec3d &s, const double &time, const Space &space=SPACE_LOCAL) const
 Returns the item scaling in the given space.
 
void get_model_matrix_at (GMathMatrix4x4d &matrix, const double &time) const
 
GMathMatrix4x4d get_kinematic_matrix_at (const double &time) const
 Returns the item kinematic matrix at the given time.
 
GMathMatrix4x4d get_object_matrix_at (const double &time) const
 Returns the item object matrix at the given time.
 
GMathMatrix4x4d get_global_matrix_at (const double &time) const
 Returns the item global matrix at the given time.
 
CoreBasicArray< GMathMatrix4x4d > get_global_matrix_motion_blur_samples (const CtxEval &eval_ctx) const
 Return samples of the global matrix used for the motion blur.
 
GMathMatrix4x4d get_global_matrix_motion_blur_at (const CtxEval &eval_ctx, const double &delta_time) const
 Returns the global matrix for the motion blur at the given time.
 
void get_global_position_at (GMathVec3d &position, const double &time) const
 
void get_global_orientation (GMathMatrix4x4d &orientation, const double &time) const
 
const GMathVec3d & get_display_color () const
 
bool is_display_visible () const
 
bool is_display_pickable () const
 
bool is_constrained () const
 
short get_xform_constraint_modifier () const
 
bool is_animated () const
 
bool is_motion_blur_enabled () const
 
bool is_motion_blur_required () const
 
bool is_motion_blurred () const
 
bool is_locally_motion_blurred () const
 
bool is_animation_motion_blurred () const
 
bool has_kinematic_expression () const
 
bool has_local_animation () const
 
void enable_motion_blur (const bool &flag)
 
void require_motion_blur (const int &increment)
 
void require_motion_blur (const bool &flag)
 
void set_matrices_as_dirty (const OfAttr::ValuePage &page=OfAttr::VALUE_PAGE_PREVIOUS)
 
virtual size_t get_memory_size () const
 
const unsigned int & get_object_count () const
 
const unsigned int & get_object_id () const
 
bool is_visibility_driven () const
 
CoreString get_kinematic_full_name () const
 return the fullname of the item in the transformation hierarchy (world://item)
 
void set_kinematic_full_name_dirty ()
 
bool is_kinematic_full_name_dirty () const
 
bool is_inherit_transform () const
 
unsigned int get_reference_frame () const
 
double get_reference_time () const
 
void update_animation_motion_blur (const bool has_animation_motion_blur)
 update_animation_motion_blur Set the flag ANIMATED_MODEL_MATRIX according to has_animation_motion_blur. If the item has change is animation state then it will propagate motion blur dirtiness
 
- Public Member Functions inherited from ModuleGlObject
virtual bool pre_paint_gl (GlUtilsCtx &ctx) const
 
virtual bool paint_gl (GlUtilsCtx &ctx) const
 
virtual bool destroy_gl_data (GlUtilsGlCtx &gl_ctx) const
 

Additional Inherited Members

- Public Types inherited from ModuleSceneItem
enum  Space {
  SPACE_LOCAL,
  SPACE_GLOBAL
}
 
enum  VisibilityMode {
  VISIBILITY_MODE_OVERRIDE = 0,
  VISIBILITY_MODE_USE_PROPERTY,
  VISIBILITY_MODE_USE_PREFERENCES,
  VISIBILITY_MODE_COUNT
}
 VisibilityMode describes how driven visibility attributes are set. More...
 
enum  ParentInPlaceMode {
  PARENT_IN_PLACE_PREFERENCE,
  PARENT_IN_PLACE_FORCED_ON,
  PARENT_IN_PLACE_FORCED_OFF
}
 The ParentInPlaceMode enum.
 
- Static Public Member Functions inherited from ModuleSceneItem
static const unsigned int & get_object_count (OfApp &application)
 
static ModuleSceneItemget_scene_item (OfApp &application, const unsigned int &id)
 return the scene item from the specified id
 
static void get_all_scene_items (OfApp &application, CoreVector< ModuleSceneItem * > &items)
 return the most up-to-date array of scene items
 
static VisibilityMode get_visibility_mode (const OfObject &object)
 
- Protected Member Functions inherited from ModuleSceneItem
virtual void on_attribute_change (const OfAttr &attr, int &dirtiness, const int &dirtiness_flags)
 
virtual void module_constructor (OfObject &object)
 
void in_place_set_parent (const ModuleSceneItem *new_parent_module, const bool &in_place)
 
- Static Protected Member Functions inherited from ModuleSceneItem
static bool is_in_place_parenting (OfApp &app, const ModuleSceneItem::ParentInPlaceMode &parent_in_place_mode)
 Compensate the transform of the parent to make sure the object doesn't move in the world.
 

Detailed Description

This class implements a camera object in Clarisse.

Member Function Documentation

void ModuleCamera::get_camera_configuration ( CameraConfig config)
inline

Retrieves the configuration for a camera. This is only used when exporting to Alembic!

Parameters
configCamera configuration structure to fill.
void ModuleCamera::get_fovs ( const double &  ratio,
double &  h_fov,
double &  v_fov 
)
inline

Retrieves the field of view values.

Parameters
[in]ratioSize ratio of the render. (width/height)
[out]h_fovhorizontal fov value.
[out]v_fovvertical fov value.
Note
The ratio parameter is used if the camera needs to compute one of the two FOV values from the other.
bool ModuleCamera::project_local_point ( const CtxEval eval_ctx,
const GMathVec3d &  local_position,
GMathVec3d &  camera_position,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const
inline

Converts the coordinates of a point from local to camera space.

Parameters
[in]eval_ctxa valid evaluation context
[in]local_positionPosition of the point in local coordinates.
[out]camera_positionPosition of the point in camera coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::project_local_sample ( const CtxEval eval_ctx,
const GMathVec3d &  local_position,
const GMathVec3d &  local_dpdu,
const GMathVec3d &  local_dpdv,
GMathVec3d &  camera_position,
GMathVec3d &  camera_dpdu,
GMathVec3d &  camera_dpdv,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const
inline

Converts a sample from local to camera space.

Parameters
[in]eval_ctxa valid evaluation context
[in]local_positionPosition of the point in local coordinates.
[in]local_dpduU partial derivatives in local coordinates.
[in]local_dpdvV partial derivatives in local coordinates.
[out]camera_positionPosition of the point in camera coordinates.
[out]camera_dpduU partial derivatives in camera coordinates.
[out]camera_dpdvV partial derivatives in camera coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::project_point ( const CtxEval eval_ctx,
const GMathVec3d &  world_position,
GMathVec3d &  camera_position,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const

Converts the coordinates of a point from world to camera space.

Parameters
[in]eval_ctxa valid evaluation context
[in]world_positionPosition of the point in world coordinates.
[out]camera_positionPosition of the point in camera coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::project_sample ( const CtxEval eval_ctx,
const GMathVec3d &  world_position,
const GMathVec3d &  world_dpdu,
const GMathVec3d &  world_dpdv,
GMathVec3d &  camera_position,
GMathVec3d &  camera_dpdu,
GMathVec3d &  camera_dpdv,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const

Converts a sample from world to camera space.

Parameters
[in]eval_ctxa valid evaluation context
[in]world_positionPosition of the point in world coordinates.
[in]world_dpduU partial derivatives in world coordinates.
[in]world_dpdvV partial derivatives in world coordinates.
[out]camera_positionPosition of the point in camera coordinates.
[out]camera_dpduU partial derivatives in camera coordinates.
[out]camera_dpdvV partial derivatives in camera coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::unproject_local_point ( const CtxEval eval_ctx,
const GMathVec3d &  camera_position,
GMathVec3d &  local_position,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const
inline

Converts the coordinates of a point from camera space to local.

Parameters
[in]eval_ctxa valid evaluation context
[in]camera_positionPosition of the point in camera coordinates.
[out]world_positionPosition of the point in local coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::unproject_local_sample ( const CtxEval eval_ctx,
const GMathVec3d &  camera_position,
const GMathVec3d &  camera_dpdu,
const GMathVec3d &  camera_dpdv,
GMathVec3d &  local_position,
GMathVec3d &  local_dpdu,
GMathVec3d &  local_dpdv,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const
inline

Converts a sample from camera space to local.

Parameters
[in]eval_ctxa valid evaluation context
[in]camera_positionPosition of the point in camera coordinates.
[in]camera_dpduU partial derivatives in camera coordinates.
[in]camera_dpdvV partial derivatives in camera coordinates.
[out]local_positionPosition of the point in local coordinates.
[out]local_dpduU partial derivatives in local coordinates.
[out]local_dpdvV partial derivatives in local coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::unproject_point ( const CtxEval eval_ctx,
const GMathVec3d &  camera_position,
GMathVec3d &  world_position,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const

Converts the coordinates of a point from camera space to world.

Parameters
[in]eval_ctxa valid evaluation context
[in]camera_positionPosition of the point in camera coordinates.
[out]world_positionPosition of the point in world coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time
bool ModuleCamera::unproject_sample ( const CtxEval eval_ctx,
const GMathVec3d &  camera_position,
const GMathVec3d &  camera_dpdu,
const GMathVec3d &  camera_dpdv,
GMathVec3d &  world_position,
GMathVec3d &  world_dpdu,
GMathVec3d &  world_dpdv,
const double &  aspect_ratio = 1.0,
const double &  delta_time = 0.0 
) const

Converts a sample from camera space to world.

Parameters
[in]eval_ctxa valid evaluation context
[in]camera_positionPosition of the point in camera coordinates.
[in]camera_dpduU partial derivatives in camera coordinates.
[in]camera_dpdvV partial derivatives in camera coordinates.
[out]world_positionPosition of the point in world coordinates.
[out]world_dpduU partial derivatives in world coordinates.
[out]world_dpdvV partial derivatives in world coordinates.
[in]aspect_ratioratio of the camera space.
[in]delta_timetime relative to the current frame time