Skip to content

Class SDFField

ClassList > SDFField

  • #include <SDFField.h>

Inherits the following classes: ObjectID, Transform3D

Public Types inherited from ObjectID

See ObjectID

Type Name
enum GOType
Enumeration of scene object types.

Public Types inherited from Transform

See Transform

Type Name
enum TransType
Flags for enabling/disabling transform components.

Public Attributes

Type Name
GLuint sdf_depth = 0
GLuint sdf_height = 0
GLuint sdf_subdiv = 1
GLuint sdf_width = 0

Public Attributes inherited from ObjectID

See ObjectID

Type Name
bool is_rendered = true
Included in rendering pipeline.
bool is_viewport = true
Visible in viewport (editor-only)
std::string o_name
Display name in editor UI .
GOType o_type = NONE\_GO
Runtime type identifier.

Public Attributes inherited from Transform3D

See Transform3D

Type Name
glm::mat4 o_InvTransform = { 1.0f }
Cached inverse world transform matrix.
glm::mat4 o_Transform = { 1.0f }
Cached world transform matrix.
glm::vec3 o_dir_right = { 1.0f, 0.0f, 0.0f }
Right direction vector (X+)
glm::vec3 o_dir_up = { 0.0f, 1.0f, 0.0f }
Up direction vector (Y+)
glm::vec3 o_position = { 0.0f }
World position.
glm::vec3 o_rot = { 0.0f }
Euler rotation angles (radians): pitch, yaw, roll.
glm::vec3 o_scale = { 1.0f }
Local scale (non-uniform allowed)

Public Attributes inherited from Transform

See Transform

Type Name
bool is_TransF_changed = true
Transform matrix needs recomputation.
bool is_Uniform_changed = true
Uniform (non-scaled) transform needs recomputation.
bool is_invTransF_changed = true
Inverse transform needs recomputation.
bool is_invUniform_changed = true
Inverse uniform transform needs recomputation.
bool use_position = { true }
Enable position component in transform computation.
bool use_rotation = { true }
Enable rotation component in transform computation.
bool use_scale = { true }
Enable scale component in transform computation.

Public Functions

Type Name
void Bind (GLuint _base=-1)
void BindShader ()
void BindTargetTrans (const glm::mat4 & _trans, bool _is_closure)
GLuint GetSDFIndex (GLuint x, GLuint y, GLuint z)
void LoadSDF (const std::vector< float > & _data)
std::vector< float > ReadSDF ()
float ReadSDFAt (GLuint x, GLuint y, GLuint z)
void RenderSDF (const Camera * cam)
void ResetBuffer ()
void ResetDistance ()
void Resize (GLuint width, GLuint depth, GLuint height)
SDFField ()
SDFField (GLuint width, GLuint depth, GLuint height)
void SDFLinearGrad ()
void SDFRadialGrad ()
void Subdivide (GLuint _iter)
void Unbind ()
void UnbindShader ()
~SDFField ()

Public Functions inherited from ObjectID

See ObjectID

Type Name
virtual void * GetMaterial ()
Returns pointer to object's material, if applicable.
virtual void * GetShader ()
Returns pointer to object's shader, if applicable.
virtual void * GetTransform ()
Returns pointer to object's transform, if applicable.
ObjectID ()
Constructs an ObjectID with default values.
void SetVisible (bool v, bool r)
Sets visibility flags for viewport and rendering.
~ObjectID ()
Destroys the ObjectID .

Public Functions inherited from UID

See UID

Type Name
int GetObjectID () const
Returns the unique ID of this object.
UID ()
Constructs a UID and assigns a unique ID.
virtual ~UID () = default
Virtual destructor for polymorphic use.

Public Functions inherited from Transform3D

See Transform3D

Type Name
virtual bool ApplyAllTransform () override
Recomputes transform and all parent transforms.
virtual bool ApplyTransform (bool _forced=false) override
Recomputes transform matrix if dirty.
Transform3D * GetChildTransPtr ()
Returns pointer to first child transform.
virtual bool GetInvTransform () override const
Computes inverse transform matrix.
Transform3D * GetParentTransPtr ()
Returns pointer to parent transform.
Transform3D * GetTransformPtr ()
Returns pointer to this transform.
void LookAt (const glm::vec3 & tar, const glm::vec3 & up={0, 0, 1})
Orients transform to look at target position.
void Move (const glm::vec3 & d_pos)
Translates position by offset.
void SetParent (Transform3D * _p_trans, bool _keep_offset=true)
Sets parent transform for hierarchy.
bool SetPos (const glm::vec3 & pos)
Sets world position.
bool SetPos1D (float _1d, GLuint _dim)
Sets single axis of position.
bool SetRot (const glm::vec3 & rot)
Sets rotation via Euler angles.
bool SetRot1D (float _1d, GLuint _dim)
Sets single axis of rotation.
bool SetScale (const glm::vec3 & scale)
Sets local scale.
bool SetScale1D (float _1d, GLuint _dim)
Sets single axis of scale.
bool SetTrans (const glm::mat4 & _trans, bool pos=true, bool rot=true, bool scl=true)
Sets transform from 4x4 matrix.
void Spin (const glm::vec3 & anch, const glm::vec3 & axis, const float & angle)
Rotates around arbitrary axis through anchor point.
void Spin (const glm::vec3 & anch, const glm::vec2 & angle, bool global_up=true)
Rotates around anchor with pitch/yaw.
void Trans (const glm::mat4 & _trans)
Applies transformation matrix to current transform.
Transform3D ()
Constructs a Transform3D with identity values.
virtual void UnsetParent (bool _keep_offset=true) override
Removes parent transform relationship.
virtual int _debug () override const
Debug utility for transform state inspection.
~Transform3D ()
Destroys the Transform3D .

Public Functions inherited from Transform

See Transform

Type Name
virtual bool ApplyAllTransform () = 0
Recomputes transform and all parent transforms.
virtual bool ApplyTransform (bool _forced=false) = 0
Recomputes transform matrix if dirty.
virtual bool GetInvTransform () const = 0
Computes inverse transform matrix.
virtual void UnsetParent (bool _keep_offset=true) = 0
Removes parent transform relationship.
void UseTranformComp (bool _enable, TransType _type)
Enables or disables specific transform components.
virtual int _debug () const = 0
Debug utility for transform state inspection.

Public Static Functions inherited from UID

See UID

Type Name
int GetTotalAllocated ()
Returns total number of UIDs allocated.

Public Attributes Documentation

variable sdf_depth

GLuint SDFField::sdf_depth;

variable sdf_height

GLuint SDFField::sdf_height;

variable sdf_subdiv

GLuint SDFField::sdf_subdiv;

variable sdf_width

GLuint SDFField::sdf_width;

Public Functions Documentation

function Bind

void SDFField::Bind (
    GLuint _base=-1
) 

function BindShader

void SDFField::BindShader () 

function BindTargetTrans

void SDFField::BindTargetTrans (
    const glm::mat4 & _trans,
    bool _is_closure
) 

function GetSDFIndex

GLuint SDFField::GetSDFIndex (
    GLuint x,
    GLuint y,
    GLuint z
) 

function LoadSDF

void SDFField::LoadSDF (
    const std::vector< float > & _data
) 

function ReadSDF

std::vector< float > SDFField::ReadSDF () 

function ReadSDFAt

float SDFField::ReadSDFAt (
    GLuint x,
    GLuint y,
    GLuint z
) 

function RenderSDF

void SDFField::RenderSDF (
    const Camera * cam
) 

function ResetBuffer

void SDFField::ResetBuffer () 

function ResetDistance

void SDFField::ResetDistance () 

function Resize

void SDFField::Resize (
    GLuint width,
    GLuint depth,
    GLuint height
) 

function SDFField [1/2]

SDFField::SDFField () 

function SDFField [2/2]

SDFField::SDFField (
    GLuint width,
    GLuint depth,
    GLuint height
) 

function SDFLinearGrad

void SDFField::SDFLinearGrad () 

function SDFRadialGrad

void SDFField::SDFRadialGrad () 

function Subdivide

void SDFField::Subdivide (
    GLuint _iter
) 

function Unbind

void SDFField::Unbind () 

function UnbindShader

void SDFField::UnbindShader () 

function ~SDFField

SDFField::~SDFField () 


The documentation for this class was generated from the following file src/scene/SDFField.h