Class 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 = trueIncluded in rendering pipeline. |
| bool | is_viewport = trueVisible in viewport (editor-only) |
| std::string | o_name Display name in editor UI . |
| GOType | o_type = NONE\_GORuntime 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 = trueTransform matrix needs recomputation. |
| bool | is_Uniform_changed = trueUniform (non-scaled) transform needs recomputation. |
| bool | is_invTransF_changed = trueInverse transform needs recomputation. |
| bool | is_invUniform_changed = trueInverse 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