mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-12 22:53:27 +00:00
mesh improvement
This commit is contained in:
@@ -101,7 +101,6 @@ namespace omath::primitives
|
||||
|
||||
[[nodiscard]]
|
||||
VectorType vertex_position_to_world_space(const Vector3<float>& vertex_position) const
|
||||
requires HasPosition<VertexType>
|
||||
{
|
||||
auto abs_vec = get_to_world_matrix()
|
||||
* mat_column_from_vector<typename Mat4X4::ContainedType, Mat4X4::get_store_ordering()>(
|
||||
@@ -112,11 +111,16 @@ namespace omath::primitives
|
||||
|
||||
[[nodiscard]]
|
||||
Triangle<VectorType> make_face_in_world_space(const Ebo::const_iterator vao_iterator) const
|
||||
requires HasPosition<VertexType>
|
||||
{
|
||||
return {vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->x).position),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->y).position),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->z).position)};
|
||||
if constexpr (HasPosition<VertexType>)
|
||||
{
|
||||
return {vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->x).position),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->y).position),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->z).position)};
|
||||
}
|
||||
return {vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->x)),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->y)),
|
||||
vertex_position_to_world_space(m_vertex_buffer.at(vao_iterator->z))};
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -2,11 +2,15 @@
|
||||
// Created by Vladislav on 11.01.2026.
|
||||
//
|
||||
#include "omath/3d_primitives/box.hpp"
|
||||
#include "omath/collision/line_tracer.hpp"
|
||||
#include "omath/engines/opengl_engine/primitives.hpp"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(test, test)
|
||||
{
|
||||
auto result = omath::primitives::create_box<omath::opengl_engine::BoxMesh>({0.f, 30.f, 0.f}, {}, omath::opengl_engine::k_abs_forward,
|
||||
omath::opengl_engine::k_abs_right);
|
||||
auto result = omath::primitives::create_box<omath::opengl_engine::BoxMesh>(
|
||||
{0.f, 30.f, 0.f}, {}, omath::opengl_engine::k_abs_forward, omath::opengl_engine::k_abs_right);
|
||||
|
||||
omath::collision::Ray ray{.start = {0, 0, 0}, .end = {-100, 0, 0}};
|
||||
std::ignore = omath::collision::LineTracer::get_ray_hit_point(ray, result);
|
||||
}
|
||||
Reference in New Issue
Block a user