23 glm::vec3 position {0.0f};
25 glm::vec4 tint {1.0f};
30 glm::vec<3, float, glm::packed_highp> position;
31 glm::vec<4, float, glm::packed_highp> color;
34static_assert(std::is_standard_layout_v<debug::Vertex>,
"DebugVertex must be standard layout");
37 glm::mat4 model {1.0f};
38 glm::vec4 tint {1.0f};
42void TOAST_API drawSolidSphere(glm::vec3 center,
float radius, glm::vec4 color);
43void TOAST_API drawShapeBox(
const glm::mat4& transform, glm::vec4 color,
bool fill);
44void TOAST_API drawCapsule(
const glm::mat4& transform,
float radius,
float height, glm::vec4 color,
bool fill);
46void TOAST_API drawOrientedBox(
const glm::mat4& transform,
const glm::vec3& extents,
const glm::vec4& color);
48void TOAST_API drawLine(glm::vec3 a, glm::vec3 b, glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f});
49void TOAST_API drawBox(glm::vec3 min, glm::vec3 max, glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f});
50void TOAST_API drawSphere(glm::vec3 center,
float radius, glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f},
int segments = 24);
51void TOAST_API drawAxes(
const glm::mat4& transform);
53void TOAST_API drawBillboard(
54 glm::vec3 world_position,
float size, assets::Handle<assets::Texture> texture, glm::vec4 tint = {1.0f, 1.0f, 1.0f, 1.0f}
58 drawMesh(
const assets::Handle<assets::Mesh>& mesh,
const glm::mat4& transform, glm::vec4 tint = {1.0f, 1.0f, 1.0f, 1.0f});
60void TOAST_API drawMesh(toast::UID mesh,
const glm::mat4& transform, glm::vec4 tint = {1.0f, 1.0f, 1.0f, 1.0f});
63 drawBillboard(glm::vec3 world_position,
float size, toast::UID texture, glm::vec4 tint = glm::vec4 {1.0f, 1.0f, 1.0f, 1.0f});
65void TOAST_API drawArrow(glm::vec3 from, glm::vec3 to, glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f},
float head_size = 0.2f);
67void TOAST_API drawCone(
68 glm::vec3 apex, glm::vec3 direction,
float length,
float half_angle_degrees, glm::vec4 color = {1.0f, 1.0f, 1.0f, 1.0f},
73 drawFrustum(
const toast::Camera& camera,
float aspect, glm::vec4 color = {1.0f, 1.0f, 0.0f, 1.0f},
float far_override = 0.0f);
75void TOAST_API drawFrustumFromMatrix(
const glm::mat4& view_projection, glm::vec4 color = {1.0f, 1.0f, 0.0f, 1.0f});
Type-safe smart pointer for assets.
Definition core_types.hpp:149
Asset representing a texture, currently holding raw KTX2 bytes.
Definition texture.hpp:22
Base types for the asset system.
Definition debug_draw.hpp:22
Definition debug_draw.hpp:36
Definition debug_draw.hpp:29