21 lines
589 B
C++
21 lines
589 B
C++
#pragma once
|
|
|
|
#include "asset/object/model.h"
|
|
#include "vulkan/vertex.h"
|
|
|
|
namespace veng {
|
|
class Physics {
|
|
public:
|
|
void invokeOnColisionEvent(gsl::span<Model*> models);
|
|
|
|
bool RayTrace(const glm::vec3& rayOrigin, const glm::vec3& rayDir,
|
|
const glm::vec3& v0, const glm::vec3& v1, const glm::vec3& v2,
|
|
std::float_t& outDistance);
|
|
|
|
private:
|
|
bool IsPointInsideMesh_(const glm::vec3& point,
|
|
const std::vector<veng::Vertex>& vertices,
|
|
const std::vector<std::uint32_t>& indices);
|
|
};
|
|
} // namespace veng
|