summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
diff options
context:
space:
mode:
author Julian Sikorski <belegdol+github@gmail.com>2019-10-13 13:50:38 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2019-10-13 07:50:38 -0400
commit0837e7451a84f95c29dbdb9bd6b8b931fee1635d (patch)
tree626bcbd250a7fbebdf5958a288d2f438d4f9fb5a /3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
parentc913ccb59d713ce0b91135520719ac5385e54358 (diff)
WIP: sync bgfx, bx and bimg with latest upstream (#5723)
* Sync with bgfx upstream revision b91d0b6 * Sync with bx upstream revision d60912b * Sync with bimg upstream revision bd81f60 * Add astc-codec decoder * Rename VertexDecl to VertexLayout * Rename UniformType enum Int1 to Sampler. * Add NVN stub * Fix unused-const-variable error on macOS * Drop redundant explicit language parameters buildoptions_cpp are only applied to c++ files and buildoptions_objcpp are only applied to objective c++ files. As such, hardcoding -x offers no benefit while preventing overrides (such as one needed by 3rdparty/bgfx/src/renderer_vk.cpp on macOS) from working. * Re-introduce -x c++ in places where C code is compiled as C++ to prevent clang from throwing a warning * Build bgfx as Objective-C++ on macOS It is needed due to included headers * Enable Direct3D12 and Vulkan bgfx rendering backends * Enable building of spirv shaders * Properly escape /c in cmd call * Comment out dx12 bgfx renderer * Honor VERBOSE setting during shaders build * Only invert hlsl shader XYZ_TO_sRGB matrix for opengl * Add spirv shaders * OpenGL ES needs transposed matrix too * Metal needs transposed matrix as well
Diffstat (limited to '3rdparty/bgfx/examples/common/debugdraw/debugdraw.h')
-rw-r--r--3rdparty/bgfx/examples/common/debugdraw/debugdraw.h44
1 files changed, 31 insertions, 13 deletions
diff --git a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
index 9bc68ae19e3..0404c8936fe 100644
--- a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
+++ b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
+ * Copyright 2011-2019 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
@@ -7,6 +7,7 @@
#define DEBUGDRAW_H_HEADER_GUARD
#include <bx/allocator.h>
+#include <bgfx/bgfx.h>
#include "../bounds.h"
struct Axis
@@ -50,7 +51,7 @@ GeometryHandle ddCreateGeometry(uint32_t _numVertices, const DdVertex* _vertices
///
void ddDestroy(GeometryHandle _handle);
-
+///
struct DebugDrawEncoder
{
///
@@ -108,13 +109,13 @@ 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();
@@ -138,6 +139,9 @@ struct DebugDrawEncoder
void draw(const Sphere& _sphere);
///
+ void draw(const Triangle& _triangle);
+
+ ///
void draw(const Cone& _cone);
///
@@ -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