Blender  V2.93
Classes | Typedefs | Functions
util_projection.h File Reference
#include "util/util_transform.h"

Go to the source code of this file.

Classes

struct  ProjectionTransform
 
struct  PerspectiveMotionTransform
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct ProjectionTransform ProjectionTransform
 
typedef struct PerspectiveMotionTransform PerspectiveMotionTransform
 

Functions

ccl_device_inline float3 transform_perspective (const ProjectionTransform *t, const float3 a)
 
ccl_device_inline float3 transform_perspective_direction (const ProjectionTransform *t, const float3 a)
 
ccl_device_inline Transform projection_to_transform (const ProjectionTransform &a)
 
ccl_device_inline ProjectionTransform projection_transpose (const ProjectionTransform &a)
 
ProjectionTransform projection_inverse (const ProjectionTransform &a)
 
ccl_device_inline ProjectionTransform make_projection (float a, float b, float c, float d, float e, float f, float g, float h, float i, float j, float k, float l, float m, float n, float o, float p)
 
ccl_device_inline ProjectionTransform projection_identity ()
 
ccl_device_inline ProjectionTransform operator* (const ProjectionTransform &a, const ProjectionTransform &b)
 
ccl_device_inline ProjectionTransform operator* (const ProjectionTransform &a, const Transform &b)
 
ccl_device_inline ProjectionTransform operator* (const Transform &a, const ProjectionTransform &b)
 
ccl_device_inline void print_projection (const char *label, const ProjectionTransform &t)
 
ccl_device_inline ProjectionTransform projection_perspective (float fov, float n, float f)
 
ccl_device_inline ProjectionTransform projection_orthographic (float znear, float zfar)
 

Typedef Documentation

◆ PerspectiveMotionTransform

◆ ProjectionTransform

Function Documentation

◆ make_projection()

ccl_device_inline ProjectionTransform make_projection ( float  a,
float  b,
float  c,
float  d,
float  e,
float  f,
float  g,
float  h,
float  i,
float  j,
float  k,
float  l,
float  m,
float  n,
float  o,
float  p 
)

Definition at line 101 of file util_projection.h.

References Freestyle::a, Freestyle::c, e, l, and t.

Referenced by projection_identity(), and projection_perspective().

◆ operator*() [1/3]

Definition at line 159 of file util_projection.h.

References Freestyle::a, Freestyle::c, dot(), make_float4, projection_transpose(), and t.

◆ operator*() [2/3]

ccl_device_inline ProjectionTransform operator* ( const ProjectionTransform a,
const Transform b 
)

Definition at line 173 of file util_projection.h.

References Freestyle::a.

◆ operator*() [3/3]

ccl_device_inline ProjectionTransform operator* ( const Transform a,
const ProjectionTransform b 
)

Definition at line 178 of file util_projection.h.

References Freestyle::a.

◆ print_projection()

ccl_device_inline void print_projection ( const char *  label,
const ProjectionTransform t 
)

Definition at line 183 of file util_projection.h.

References label, print_float4(), and t.

◆ projection_identity()

ccl_device_inline ProjectionTransform projection_identity ( )

Definition at line 139 of file util_projection.h.

References make_projection().

Referenced by Camera::Camera(), and projection_inverse().

◆ projection_inverse()

ProjectionTransform projection_inverse ( const ProjectionTransform a)

◆ projection_orthographic()

ccl_device_inline ProjectionTransform projection_orthographic ( float  znear,
float  zfar 
)

Definition at line 204 of file util_projection.h.

References t, transform_scale(), and transform_translate().

◆ projection_perspective()

ccl_device_inline ProjectionTransform projection_perspective ( float  fov,
float  n,
float  f 
)

Definition at line 192 of file util_projection.h.

References make_projection(), tanf, and transform_scale().

◆ projection_to_transform()

ccl_device_inline Transform projection_to_transform ( const ProjectionTransform a)

◆ projection_transpose()

ccl_device_inline ProjectionTransform projection_transpose ( const ProjectionTransform a)

◆ transform_perspective()

ccl_device_inline float3 transform_perspective ( const ProjectionTransform t,
const float3  a 
)

◆ transform_perspective_direction()

ccl_device_inline float3 transform_perspective_direction ( const ProjectionTransform t,
const float3  a 
)

Definition at line 57 of file util_projection.h.

References Freestyle::a, Freestyle::c, make_float3, and t.