summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/common/debugdraw/debugdraw.h')
-rw-r--r--3rdparty/bgfx/examples/common/debugdraw/debugdraw.h62
1 files changed, 40 insertions, 22 deletions
diff --git a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
index 9bc68ae19e3..7770ed15e51 100644
--- a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
+++ b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
@@ -1,13 +1,14 @@
/*
- * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
- * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
+ * Copyright 2011-2022 Branimir Karadzic. All rights reserved.
+ * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
*/
#ifndef DEBUGDRAW_H_HEADER_GUARD
#define DEBUGDRAW_H_HEADER_GUARD
#include <bx/allocator.h>
-#include "../bounds.h"
+#include <bx/bounds.h>
+#include <bgfx/bgfx.h>
struct Axis
{
@@ -50,7 +51,7 @@ GeometryHandle ddCreateGeometry(uint32_t _numVertices, const DdVertex* _vertices
///
void ddDestroy(GeometryHandle _handle);
-
+///
struct DebugDrawEncoder
{
///
@@ -108,37 +109,40 @@ struct DebugDrawEncoder
void moveTo(float _x, float _y, float _z = 0.0f);
///
- void moveTo(const void* _pos);
+ void moveTo(const bx::Vec3& _pos);
///
void lineTo(float _x, float _y, float _z = 0.0f);
///
- void lineTo(const void* _pos);
+ void lineTo(const bx::Vec3& _pos);
///
void close();
///
- void draw(const Aabb& _aabb);
+ void draw(const bx::Aabb& _aabb);
+
+ ///
+ void draw(const bx::Cylinder& _cylinder);
///
- void draw(const Cylinder& _cylinder);
+ void draw(const bx::Capsule& _capsule);
///
- void draw(const Capsule& _capsule);
+ void draw(const bx::Disk& _disk);
///
- void draw(const Disk& _disk);
+ void draw(const bx::Obb& _obb);
///
- void draw(const Obb& _obb);
+ void draw(const bx::Sphere& _sphere);
///
- void draw(const Sphere& _sphere);
+ void draw(const bx::Triangle& _triangle);
///
- void draw(const Cone& _cone);
+ void draw(const bx::Cone& _cone);
///
void draw(GeometryHandle _handle);
@@ -156,37 +160,37 @@ struct DebugDrawEncoder
void drawArc(Axis::Enum _axis, float _x, float _y, float _z, float _radius, float _degrees);
///
- void drawCircle(const void* _normal, const void* _center, float _radius, float _weight = 0.0f);
+ void drawCircle(const bx::Vec3& _normal, const bx::Vec3& _center, float _radius, float _weight = 0.0f);
///
void drawCircle(Axis::Enum _axis, float _x, float _y, float _z, float _radius, float _weight = 0.0f);
///
- void drawQuad(const float* _normal, const float* _center, float _size);
+ void drawQuad(const bx::Vec3& _normal, const bx::Vec3& _center, float _size);
///
- void drawQuad(SpriteHandle _handle, const float* _normal, const float* _center, float _size);
+ void drawQuad(SpriteHandle _handle, const bx::Vec3& _normal, const bx::Vec3& _center, float _size);
///
- void drawQuad(bgfx::TextureHandle _handle, const float* _normal, const float* _center, float _size);
+ void drawQuad(bgfx::TextureHandle _handle, const bx::Vec3& _normal, const bx::Vec3& _center, float _size);
///
- void drawCone(const void* _from, const void* _to, float _radius);
+ void drawCone(const bx::Vec3& _from, const bx::Vec3& _to, float _radius);
///
- void drawCylinder(const void* _from, const void* _to, float _radius);
+ void drawCylinder(const bx::Vec3& _from, const bx::Vec3& _to, float _radius);
///
- void drawCapsule(const void* _from, const void* _to, float _radius);
+ void drawCapsule(const bx::Vec3& _from, const bx::Vec3& _to, float _radius);
///
void drawAxis(float _x, float _y, float _z, float _len = 1.0f, Axis::Enum _highlight = Axis::Count, float _thickness = 0.0f);
///
- void drawGrid(const void* _normal, const void* _center, uint32_t _size = 20, float _step = 1.0f);
+ void drawGrid(const bx::Vec3& _normal, const bx::Vec3& _center, uint32_t _size = 20, float _step = 1.0f);
///
- void drawGrid(Axis::Enum _axis, const void* _center, uint32_t _size = 20, float _step = 1.0f);
+ void drawGrid(Axis::Enum _axis, const bx::Vec3& _center, uint32_t _size = 20, float _step = 1.0f);
///
void drawOrb(float _x, float _y, float _z, float _radius, Axis::Enum _highlight = Axis::Count);
@@ -194,4 +198,18 @@ struct DebugDrawEncoder
BX_ALIGN_DECL_CACHE_LINE(uint8_t) m_internal[50<<10];
};
+///
+class DebugDrawEncoderScopePush
+{
+public:
+ ///
+ DebugDrawEncoderScopePush(DebugDrawEncoder& _dde);
+
+ ///
+ ~DebugDrawEncoderScopePush();
+
+private:
+ DebugDrawEncoder& m_dde;
+};
+
#endif // DEBUGDRAW_H_HEADER_GUARD