Blender  V3.3
Classes | Typedefs | Functions
cycles/util/projection.h File Reference
#include "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 (ccl_private const ProjectionTransform *t, const float3 a)
 
ccl_device_inline float3 transform_perspective_direction (ccl_private 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 
)

◆ operator*() [1/3]

◆ operator*() [2/3]

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

Definition at line 161 of file cycles/util/projection.h.

References Freestyle::a, and usdtokens::b().

◆ operator*() [3/3]

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

Definition at line 166 of file cycles/util/projection.h.

References Freestyle::a, and usdtokens::b().

◆ print_projection()

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

Definition at line 171 of file cycles/util/projection.h.

References label, print_float4(), and t.

◆ projection_identity()

ccl_device_inline ProjectionTransform projection_identity ( )

Definition at line 127 of file cycles/util/projection.h.

References make_projection().

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

◆ projection_inverse()

ProjectionTransform projection_inverse ( const ProjectionTransform a)

Definition at line 93 of file transform.cpp.

References M, projection_identity(), projection_matrix4_inverse(), R, and UNLIKELY.

◆ projection_orthographic()

ccl_device_inline ProjectionTransform projection_orthographic ( float  znear,
float  zfar 
)

Definition at line 192 of file cycles/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 180 of file cycles/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 ( ccl_private const ProjectionTransform t,
const float3  a 
)

◆ transform_perspective_direction()

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

Definition at line 45 of file cycles/util/projection.h.

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