#pragma once #include "glm/glm.hpp" #include "glm/gtc/quaternion.hpp" #include "DeerRender/Components.h" #include "DeerRender/World.h" namespace Deer { namespace Scripting { void vec3_constructor(void*); void vec3_constructor_params(float, float, float, void*); void mat4_constructor(void*); glm::mat4 mat4_getRelativeMatrix(glm::mat4&, glm::mat4&); glm::vec3 mat4_getPosition(glm::mat4&); glm::vec3 vec3_add(glm::vec3&, glm::vec3&); glm::vec3 vec3_sub(const glm::vec3&, glm::vec3&); glm::vec3 vec3_neg(glm::vec3&); glm::vec3 vec3_mult(float, glm::vec3&); void quat_construct(glm::quat*); void quat_copyConstruct(glm::quat*, glm::quat*); void quat_constructFromValue(float, float, float, float, glm::quat*); glm::vec3 quat_getEuler(glm::quat*); void quat_setEuler(glm::vec3, glm::quat*); glm::quat quat_multiply(glm::quat*, glm::quat*); void transform_construct(TransformComponent*); void camera_construct(CameraComponent*); void sceneCamera_Construct(WorldCamera*); glm::vec3 transform_relative(glm::vec3, TransformComponent*); void emptyDestructor(); } // namespace Scripting } // namespace Deer