Signed Distance Fields 1.0
|
True signed distance field for a hemi-disc. More...
#include <sdf.h>
Public Member Functions | |
SDFHemiDisc2 (const Vector2 &, const Vector2 &, const double) | |
Create a half-disc. | |
virtual | ~SDFHemiDisc2 () |
Destructor. | |
double | Signed (const Vector2 &) const |
Compute the signed Euclidean distance function. | |
QString | GetShader (PrimitiveManager *, std::list< QString > *, bool *) const |
Compute the GLSL code to render the node. | |
virtual int | Memory () const |
Return the size of a sub-tree. | |
virtual SDFNode2 * | Copy () const |
Deep copy. | |
![]() | |
SDFEuclidean2 () | |
Create an Euclidean primitive. | |
virtual | ~SDFEuclidean2 () |
Destructor. | |
![]() | |
SDFPrimitive2 () | |
Create a primitive. | |
virtual | ~SDFPrimitive2 () |
Destructor. | |
virtual QString | GetCostShader (PrimitiveManager *, std::list< QString > *, bool *) const |
Compute the GLSL code to compute the cost of a call to sdf. | |
virtual void | ComputeCostSigned (const Vector2 &) |
Compute the number of reccursive calls to Signed(). | |
![]() | |
SDFNode2 () | |
Create a generic node. | |
virtual | ~SDFNode2 () |
Destructor. | |
virtual Vector2 | Gradient (const Vector2 &) const |
Compute the gradient of the field. | |
virtual bool | Inside (const Vector2 &) const |
Check if a point is inside or outside. | |
virtual QString | GetGradientShader (PrimitiveManager *, std::list< QString > *, bool *=nullptr) const |
Compute the GLSL code to compute the gradient the sdf. | |
virtual double | K () const |
Return the Lipschitz constant of the node. | |
Box2 | GetBox () const |
Return the bounding box of the node. | |
virtual int | Nodes () const |
Compute the number of nodes in the sub-tree. | |
Additional Inherited Members | |
![]() | |
Box2 | box = Box2::Infinity |
Box bounding the surface. | |
double | k = 1.0 |
Lipschitz constant. | |
int | cost = 1 |
Cost of the node. | |
![]() | |
static constexpr double | Epsilon = 0.01 |
Small constant used for bounding volumes. | |
True signed distance field for a hemi-disc.
Create a half-disc.
c | Center. |
a | Axis. |
r | Radius. |
|
virtual |
Compute the GLSL code to render the node.
Reimplemented from SDFNode2.
|
virtual |
Return the size of a sub-tree.
Reimplemented from SDFNode2.
|
virtual |
Compute the signed Euclidean distance function.
By default compute the signed distance to the bounding box of the primitive.
p | Point. |
Reimplemented from SDFEuclidean2.