Render simple shapes for debugging purposes.
More...
#include <OxygenEngine/render/debug.h>
|
| void | render (oe::scene::Camera &camera, const bool flush=true) |
| | Render all debug objects and clean buffer.
|
|
void | flush () |
| | Flush buffer without rendering.
|
|
| static void | axis (const float &length=1.0f, const float &arrow_size=0.1f) |
| | Draw origin axis.
|
| static void | transform (const glm::mat4 &model, const float &length=1.0f, const float &arrow_size=0.1f) |
| | Draw a transform.
|
| static void | tbn (const glm::vec3 &origin, const glm::vec3 &tangent, const glm::vec3 &bitangent, const glm::vec3 &normal, const float &length=1.0) |
| | Render vertex TBN (Tangent, bi-tangent, normal).
|
| static void | aabb (const oe::scene::AABB &bbox, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw a bounding box.
|
| static void | point (const glm::vec3 &position, const float &size=10.0f, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw a point.
|
| static void | sphere (const glm::vec3 ¢er, const float &radius, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw a sphere.
|
| static void | box (const glm::vec3 &min, const glm::vec3 &max, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw a box between two corners.
|
| static void | line (const glm::vec3 &start, const glm::vec3 &end, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw a line between two points.
|
|
static void | arrow (const glm::vec3 &start, const glm::vec3 &end, const float &size=1.0f, const glm::vec3 &color=glm::vec3(1.0)) |
|
static void | cone (const glm::vec3 &start, const glm::vec3 &end, const float &baseAngle=1.0f, const float &apexAngle=0.0f, const glm::vec3 &color=glm::vec3(1.0)) |
| static void | frustum (const oe::scene::Camera &camera, const glm::vec3 &color=glm::vec3(1.0)) |
| | Draw the frustum pyramid of a camera.
|
|
static Debug * | getInstance () |
Render simple shapes for debugging purposes.
- Note
- "Draw" commands won't draw anything until render() is called
◆ aabb()
| void oe::render::Debug::aabb |
( |
const oe::scene::AABB & | bbox, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw a bounding box.
- Parameters
-
| bbox | Bounding box |
| color | Box color |
◆ axis()
| void oe::render::Debug::axis |
( |
const float & | length = 1.0f, |
|
|
const float & | arrow_size = 0.1f ) |
|
static |
Draw origin axis.
- Parameters
-
| length | line length |
| arrow_size | arrow thickness |
◆ box()
| void oe::render::Debug::box |
( |
const glm::vec3 & | min, |
|
|
const glm::vec3 & | max, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw a box between two corners.
- Parameters
-
| min | Box bottom corner |
| max | Box top corner |
| color | Sphere color |
◆ frustum()
| void oe::render::Debug::frustum |
( |
const oe::scene::Camera & | camera, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw the frustum pyramid of a camera.
- Parameters
-
| camera | The camera to use as frustum source |
| color | frustum color |
◆ line()
| void oe::render::Debug::line |
( |
const glm::vec3 & | start, |
|
|
const glm::vec3 & | end, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw a line between two points.
- Parameters
-
| start | first point |
| end | second point |
| color | line color |
◆ point()
| void oe::render::Debug::point |
( |
const glm::vec3 & | position, |
|
|
const float & | size = 10.0f, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw a point.
- Parameters
-
| position | Point position |
| size | Point size in pixels |
| color | Point color |
◆ render()
| void oe::render::Debug::render |
( |
oe::scene::Camera & | camera, |
|
|
const bool | flush = true ) |
Render all debug objects and clean buffer.
- Parameters
-
| flush | Clean buffer after render (set to false if you need to render debug objects multiple times without cleaning, eg. in VR or in a multipass pipeline) |
◆ sphere()
| void oe::render::Debug::sphere |
( |
const glm::vec3 & | center, |
|
|
const float & | radius, |
|
|
const glm::vec3 & | color = glm::vec3(1.0) ) |
|
static |
Draw a sphere.
- Parameters
-
| center | Sphere position |
| radius | Sphere radius |
| color | Sphere color |
◆ tbn()
| void oe::render::Debug::tbn |
( |
const glm::vec3 & | origin, |
|
|
const glm::vec3 & | tangent, |
|
|
const glm::vec3 & | bitangent, |
|
|
const glm::vec3 & | normal, |
|
|
const float & | length = 1.0 ) |
|
static |
Render vertex TBN (Tangent, bi-tangent, normal).
- Note
- Colors meaning are: normal=WHITE, tangent=YELLOW, bi-tangent=MAGENTA.
◆ transform()
| void oe::render::Debug::transform |
( |
const glm::mat4 & | model, |
|
|
const float & | length = 1.0f, |
|
|
const float & | arrow_size = 0.1f ) |
|
static |
Draw a transform.
- Parameters
-
| model | Transform model matrix |
| length | line length |
| arrow_size | arrow thickness |
The documentation for this class was generated from the following file: