From c8ec3a741c50e74565cb3eafede0f3aaea5cbbcf Mon Sep 17 00:00:00 2001 From: kj16609 Date: Sat, 30 Mar 2024 10:00:09 -0400 Subject: [PATCH] Get traiin rendering working with random noise --- CMakeLists.txt | 10 +- models/textures/heightmap.png | Bin 207614 -> 0 bytes src/engine/Camera.cpp | 2 +- src/engine/EngineContext.cpp | 9 +- src/engine/buffers/vector/DeviceVector.hpp | 2 +- src/engine/math/noise/perlin/generator.cpp | 113 ++++++++++++++++++ src/engine/math/noise/perlin/generator.hpp | 15 +++ src/engine/model/objLoading.cpp | 7 +- .../boxes/AxisAlignedBoundingCube.cpp | 14 +-- src/engine/primitives/points/Coordinate.hpp | 3 - src/engine/systems/EntityRendererSystem.cpp | 4 +- src/engine/systems/TerrainSystem.cpp | 2 +- src/engine/texture/Texture.cpp | 24 ++-- src/engine/texture/Texture.hpp | 11 +- src/engine/texture/TextureHandle.cpp | 2 +- src/engine/texture/TextureHandle.hpp | 2 +- src/engine/tree/octtree/OctTreeNode.cpp | 92 +++++++------- src/engine/tree/octtree/OctTreeNode.hpp | 59 +++------ src/engine/tree/quadtree/QuadTree.cpp | 70 +++++++++++ src/engine/tree/quadtree/QuadTree.hpp | 39 +++++- 20 files changed, 351 insertions(+), 129 deletions(-) delete mode 100644 models/textures/heightmap.png create mode 100644 src/engine/math/noise/perlin/generator.cpp create mode 100644 src/engine/math/noise/perlin/generator.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index c2372e9..4ee801b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,7 @@ project(Game LANGUAGES CXX C) enable_testing() set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -86,5 +87,12 @@ add_custom_target(models ALL DEPENDS ${OBJ_MODELS}) add_dependencies(${PROJECT_NAME} shaders) add_dependencies(${PROJECT_NAME} models) + +add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/compile_commands.json + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/compile_commands.json ${CMAKE_SOURCE_DIR}/compile_commands.json + COMMENT "Copying build commands to src dir") + + SetVersionInfo() -CompilerPostSetup() \ No newline at end of file +CompilerPostSetup() diff --git a/models/textures/heightmap.png b/models/textures/heightmap.png deleted file mode 100644 index c25e26b55e647eb1194a4dc95b56984375e08001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207614 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 #include +#include #include "KeyboardMovementController.hpp" #include "engine/Average.hpp" @@ -38,7 +39,7 @@ namespace fgl::engine EngineContext::EngineContext() { using namespace fgl::literals::size_literals; - initGlobalStagingBuffer( 256_MiB ); + initGlobalStagingBuffer( 512_MiB ); #if ENABLE_IMGUI initImGui(); #endif @@ -293,7 +294,9 @@ namespace fgl::engine generateTerrainModel( m_terrain_system.getVertexBuffer(), m_terrain_system.getIndexBuffer() ) }; - Texture texture { Texture::loadFromFile( "models/textures/heightmap.png" ) }; + //Texture texture { Texture::loadFromFile( "models/Vally/textures/heightmap.png" ) }; + Texture texture { Texture::generateFromPerlinNoise( 1024, 1024 ) }; + Sampler sampler { vk::Filter::eLinear, vk::Filter::eLinear, vk::SamplerMipmapMode::eLinear, @@ -425,4 +428,4 @@ namespace fgl::engine ImGui::DestroyContext(); } -} // namespace fgl::engine \ No newline at end of file +} // namespace fgl::engine diff --git a/src/engine/buffers/vector/DeviceVector.hpp b/src/engine/buffers/vector/DeviceVector.hpp index 993111f..327c844 100644 --- a/src/engine/buffers/vector/DeviceVector.hpp +++ b/src/engine/buffers/vector/DeviceVector.hpp @@ -45,7 +45,7 @@ namespace fgl::engine void dropStaging() { - assert( staged ); + assert( staged && "Staging buffer has not been commanded to write yet!" ); m_staging_buffer.reset(); } diff --git a/src/engine/math/noise/perlin/generator.cpp b/src/engine/math/noise/perlin/generator.cpp new file mode 100644 index 0000000..fad1003 --- /dev/null +++ b/src/engine/math/noise/perlin/generator.cpp @@ -0,0 +1,113 @@ +// +// Created by kj16609 on 3/27/24. +// + +#include "generator.hpp" + +#include + +namespace fgl::engine +{ + glm::vec2 randomGradient( int ix, int iy ) + { + constexpr unsigned w { 8 * sizeof( unsigned ) }; + constexpr unsigned s { w / 2 }; + unsigned a { static_cast< unsigned >( ix ) }; + unsigned b { static_cast< unsigned >( iy ) }; + + a *= 3284157443; + + b ^= a << s | a >> ( w - s ); + b *= 1911520717; + + a ^= b << s | b >> ( w - s ); + a *= 2048419325; + const float val { static_cast< float >( a ) * ( std::numbers::pi_v< float > / ~( ~0u >> 1 ) ) }; + + return glm::vec2( sin( val ), cos( val ) ); + } + + float + dotGridGradiant( const glm::vec< 2, int > i_coord, const glm::vec2 coord, [[maybe_unused]] std::mt19937_64& mt ) + { + const glm::vec2 gradiant { randomGradient( i_coord.x, i_coord.y ) }; + + const glm::vec2 d { coord - static_cast< glm::vec2 >( i_coord ) }; + + return glm::dot( d, gradiant ); + } + + float interpolate( const float a0, const float a1, const float w ) + { + return ( a1 - a0 ) * ( 3.0f - w * 2.0f ) * w * w + a0; + } + + float perlin( const glm::vec2 coord, std::mt19937_64& mt ) + { + const glm::vec< 2, int > c0 { glm::round( coord - glm::vec2( 0.5f ) ) }; + const glm::vec< 2, int > c1 { c0 + glm::vec< 2, int >( 1 ) }; + + const float x_weight { coord.x - static_cast< float >( c0.x ) }; + const float y_weight { coord.y - static_cast< float >( c0.y ) }; + + const float n0 { dotGridGradiant( c0, coord, mt ) }; + const float n1 { dotGridGradiant( { c1.x, c0.y }, coord, mt ) }; + const float ix0 { interpolate( n0, n1, x_weight ) }; + + const float n2 { dotGridGradiant( { c0.x, c1.y }, coord, mt ) }; + const float n3 { dotGridGradiant( c1, coord, mt ) }; + const float ix1 { interpolate( n2, n3, x_weight ) }; + + return interpolate( ix0, ix1, y_weight ); + } + + std::vector< std::byte > + generatePerlinImage( const glm::vec< 2, std::size_t > size, const int octives, const std::size_t seed ) + { + constexpr std::size_t channel_count { 4 }; // RGBA + std::vector< std::byte > data { size.x * size.y * channel_count }; + + std::mt19937_64 mt { seed }; + + for ( std::size_t x = 0; x < size.x; ++x ) + { + for ( std::size_t y = 0; y < size.y; ++y ) + { + const auto index { ( y * size.x + x ) * 4 }; + + float val { 0.0f }; + + float freq { 1 }; + float amp { 1 }; + + constexpr float GRID_SIZE { 400.0f }; + + for ( int i = 0; i < octives; ++i ) + { + val += perlin( + { ( static_cast< float >( x ) * freq ) / GRID_SIZE, + ( static_cast< float >( y ) * freq ) / GRID_SIZE }, + mt ) + * amp; + + freq *= 2.0f; + amp /= 2.0f; + } + + val *= 1.2f; + + val = std::clamp( val, -1.0f, 1.0f ); + + const std::byte color { static_cast< std::byte >( ( val + 1.0f ) * 0.5f * 255.0f ) }; + + data[ index ] = color; + data[ index + 1 ] = color; + data[ index + 2 ] = color; + data[ index + 3 ] = std::byte( 255 ); + } + } + + return data; + } + +} // namespace fgl::engine diff --git a/src/engine/math/noise/perlin/generator.hpp b/src/engine/math/noise/perlin/generator.hpp new file mode 100644 index 0000000..6daccd9 --- /dev/null +++ b/src/engine/math/noise/perlin/generator.hpp @@ -0,0 +1,15 @@ +// +// Created by kj16609 on 3/27/24. +// + +#pragma once +#include + +namespace fgl::engine +{ + + float perlin( glm::vec2 coord, std::size_t seed = 0 ); + [[nodiscard]] std::vector< std::byte > + generatePerlinImage( const glm::vec< 2, std::size_t > size, const int octives, const std::size_t seed = 0 ); + +} // namespace fgl::engine diff --git a/src/engine/model/objLoading.cpp b/src/engine/model/objLoading.cpp index e859036..68ac598 100644 --- a/src/engine/model/objLoading.cpp +++ b/src/engine/model/objLoading.cpp @@ -89,21 +89,18 @@ namespace fgl::engine } } - for ( const auto idx : indicies ) + for ( [[maybe_unused]] const auto idx : indicies ) { assert( idx < verts.size() ); } const OrientedBoundingBox bounding_box { generateBoundingFromVerts( verts ) }; - auto& itter = m_primitives.emplace_back( + [[maybe_unused]] auto& itter = m_primitives.emplace_back( VertexBufferSuballocation( m_vertex_buffer, std::move( verts ) ), IndexBufferSuballocation( m_index_buffer, std::move( indicies ) ), bounding_box ); - itter.m_index_buffer.dropStaging(); - itter.m_vertex_buffer.dropStaging(); - std::cout << unique_verts.size() << " unique verts" << std::endl; } } // namespace fgl::engine diff --git a/src/engine/primitives/boxes/AxisAlignedBoundingCube.cpp b/src/engine/primitives/boxes/AxisAlignedBoundingCube.cpp index bb9e863..b666eb6 100644 --- a/src/engine/primitives/boxes/AxisAlignedBoundingCube.cpp +++ b/src/engine/primitives/boxes/AxisAlignedBoundingCube.cpp @@ -14,18 +14,10 @@ namespace fgl::engine { const Coordinate< CType > centered_coordinate { coordinate - this->getPosition() }; - const bool is_high_x { centered_coordinate.x > this->span() }; - const bool is_high_y { centered_coordinate.x > this->span() }; - const bool is_high_z { centered_coordinate.x > this->span() }; + const bool top_in_range { glm::all( glm::lessThanEqual( centered_coordinate.vec(), this->scale() ) ) }; + const bool bottom_in_range { glm::all( glm::greaterThanEqual( centered_coordinate.vec(), -this->scale() ) ) }; - const bool is_low_x { centered_coordinate.x < -this->span() }; - const bool is_low_y { centered_coordinate.x < -this->span() }; - const bool is_low_z { centered_coordinate.x < -this->span() }; - - const bool is_high { is_high_x || is_high_y || is_high_z }; - const bool is_low { is_low_x || is_low_y || is_low_z }; - - return !is_high && !is_low; + return top_in_range && bottom_in_range; } //template class AxisAlignedBoundingCube< CoordinateSpace::Model >; diff --git a/src/engine/primitives/points/Coordinate.hpp b/src/engine/primitives/points/Coordinate.hpp index 10c31c5..0b8d754 100644 --- a/src/engine/primitives/points/Coordinate.hpp +++ b/src/engine/primitives/points/Coordinate.hpp @@ -5,7 +5,6 @@ #pragma once #include -#include #include @@ -13,11 +12,9 @@ #include "engine/primitives/CoordinateSpace.hpp" #include "engine/primitives/Scale.hpp" #include "engine/primitives/matricies/Matrix.hpp" -#include "engine/primitives/matricies/MatrixEvolvedTypes.hpp" namespace fgl::engine { - class Vector; class NormalVector; diff --git a/src/engine/systems/EntityRendererSystem.cpp b/src/engine/systems/EntityRendererSystem.cpp index 5a09574..f9b9682 100644 --- a/src/engine/systems/EntityRendererSystem.cpp +++ b/src/engine/systems/EntityRendererSystem.cpp @@ -41,8 +41,8 @@ namespace fgl::engine using namespace fgl::literals::size_literals; - initVertexBuffer( 128_MiB ); - initIndexBuffer( 64_MiB ); + initVertexBuffer( 512_MiB ); + initIndexBuffer( 128_MiB ); initDrawParameterBuffer( 1_KiB ); } diff --git a/src/engine/systems/TerrainSystem.cpp b/src/engine/systems/TerrainSystem.cpp index f70a81b..1bb704d 100644 --- a/src/engine/systems/TerrainSystem.cpp +++ b/src/engine/systems/TerrainSystem.cpp @@ -31,7 +31,7 @@ namespace fgl::engine using namespace fgl::literals::size_literals; initVertexBuffer( 16_MiB ); - initIndexBuffer( 512_B ); + initIndexBuffer( 2_MiB ); this->m_index_buffer->setDebugName( "Terrain index buffer" ); this->m_vertex_buffer->setDebugName( "Terrain vertex buffer" ); diff --git a/src/engine/texture/Texture.cpp b/src/engine/texture/Texture.cpp index 1673dea..57bb800 100644 --- a/src/engine/texture/Texture.cpp +++ b/src/engine/texture/Texture.cpp @@ -18,6 +18,7 @@ #pragma GCC diagnostic ignored "-Weffc++" #pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wconversion" +#include "engine/math/noise/perlin/generator.hpp" #include "imgui/imgui_impl_vulkan.h" #pragma GCC diagnostic pop @@ -26,7 +27,7 @@ namespace fgl::engine inline static std::unordered_map< std::string, std::weak_ptr< TextureHandle > > texture_map; - std::tuple< std::vector< unsigned char >, int, int, int > loadTexture( const std::filesystem::path& path ) + std::tuple< std::vector< std::byte >, int, int, int > loadTexture( const std::filesystem::path& path ) { ZoneScoped; if ( !std::filesystem::exists( path ) ) throw std::runtime_error( "Failed to open file: " + path.string() ); @@ -39,7 +40,7 @@ namespace fgl::engine const auto data_c { stbi_load( path_str.data(), &x, &y, &channels, 4 ) }; - std::vector< unsigned char > data {}; + std::vector< std::byte > data {}; data.resize( x * y * 4 ); std::memcpy( data.data(), data_c, x * y * 4 ); @@ -67,7 +68,7 @@ namespace fgl::engine } } - auto data { loadTexture( path ) }; + const auto data { loadTexture( path ) }; Texture tex { data }; tex.m_handle->m_image_view->setName( path.string() ); @@ -76,18 +77,27 @@ namespace fgl::engine return std::move( tex ); } - Texture::Texture( std::shared_ptr< TextureHandle > handle ) : m_handle( handle ) + Texture Texture::generateFromPerlinNoise( int x_size, int y_size ) + { + const std::vector< std::byte > data { generatePerlinImage( { x_size, y_size }, 15 ) }; + + Texture tex { data, x_size, y_size, 4 }; + + return std::move( tex ); + } + + Texture::Texture( std::shared_ptr< TextureHandle > handle ) : m_handle( std::move( handle ) ) {} - Texture::Texture( std::tuple< std::vector< unsigned char >, int, int, int > tuple ) : + Texture::Texture( const std::tuple< std::vector< std::byte >, int, int, int >& tuple ) : Texture( std::get< 0 >( tuple ), std::get< 1 >( tuple ), std::get< 2 >( tuple ), std::get< 3 >( tuple ) ) {} - Texture::Texture( std::vector< unsigned char >& data, const int x, const int y, const int channels ) : + Texture::Texture( const std::vector< std::byte >& data, const int x, const int y, const int channels ) : Texture( data, vk::Extent2D( x, y ), channels ) {} - Texture::Texture( std::vector< unsigned char >& data, const vk::Extent2D extent, const int channels ) : + Texture::Texture( const std::vector< std::byte >& data, const vk::Extent2D extent, const int channels ) : m_handle( std::make_shared< TextureHandle >( data, extent, channels ) ) {} diff --git a/src/engine/texture/Texture.hpp b/src/engine/texture/Texture.hpp index 517a523..649123d 100644 --- a/src/engine/texture/Texture.hpp +++ b/src/engine/texture/Texture.hpp @@ -22,13 +22,13 @@ namespace fgl::engine //! Has this texture been submitted to the GPU? bool submitte_to_gpu { false }; - Texture( std::tuple< std::vector< unsigned char >, int, int, int > ); - Texture( std::shared_ptr< TextureHandle > handle ); + [[nodiscard]] Texture( const std::tuple< std::vector< std::byte >, int, int, int >& ); + [[nodiscard]] Texture( std::shared_ptr< TextureHandle > handle ); public: - Texture( std::vector< unsigned char >& data, const int x, const int y, const int channels ); - Texture( std::vector< unsigned char >& data, const vk::Extent2D extent, const int channels ); + [[nodiscard]] Texture( const std::vector< std::byte >& data, const int x, const int y, const int channels ); + [[nodiscard]] Texture( const std::vector< std::byte >& data, const vk::Extent2D extent, const int channels ); Texture( const Texture& ) = delete; Texture& operator=( const Texture& ) = delete; @@ -50,7 +50,8 @@ namespace fgl::engine void createImGuiSet(); - static Texture loadFromFile( const std::filesystem::path& path ); + [[nodiscard]] static Texture generateFromPerlinNoise( int x_size, int y_size ); + [[nodiscard]] static Texture loadFromFile( const std::filesystem::path& path ); static DescriptorSet& getTextureDescriptorSet(); }; diff --git a/src/engine/texture/TextureHandle.cpp b/src/engine/texture/TextureHandle.cpp index a4bf0af..28cad44 100644 --- a/src/engine/texture/TextureHandle.cpp +++ b/src/engine/texture/TextureHandle.cpp @@ -19,7 +19,7 @@ namespace fgl::engine { TextureHandle::TextureHandle( - const std::vector< unsigned char >& data, const vk::Extent2D extent, [[maybe_unused]] const int channels ) : + const std::vector< std::byte >& data, const vk::Extent2D extent, [[maybe_unused]] const int channels ) : m_extent( extent ) { ZoneScoped; diff --git a/src/engine/texture/TextureHandle.hpp b/src/engine/texture/TextureHandle.hpp index 3463c11..1487f50 100644 --- a/src/engine/texture/TextureHandle.hpp +++ b/src/engine/texture/TextureHandle.hpp @@ -33,7 +33,7 @@ namespace fgl::engine public: - TextureHandle( const std::vector< unsigned char >& data, const vk::Extent2D extent, const int channels ); + TextureHandle( const std::vector< std::byte >& data, const vk::Extent2D extent, const int channels ); ~TextureHandle(); }; diff --git a/src/engine/tree/octtree/OctTreeNode.cpp b/src/engine/tree/octtree/OctTreeNode.cpp index d9791ef..f3f1411 100644 --- a/src/engine/tree/octtree/OctTreeNode.cpp +++ b/src/engine/tree/octtree/OctTreeNode.cpp @@ -11,6 +11,7 @@ #include "engine/debug/drawers.hpp" #include "engine/model/Model.hpp" #include "engine/primitives/Frustum.hpp" +#include "engine/tree/quadtree/QuadTree.hpp" namespace fgl::engine { @@ -49,8 +50,8 @@ namespace fgl::engine #endif } - void OctTreeNode:: - getAllLeafsInFrustum( const Frustum< CoordinateSpace::World >& frustum, std::vector< NodeLeaf* >& out_leafs ) + void OctTreeNode::getAllLeafsInFrustum( + const Frustum< CoordinateSpace::World >& frustum, std::vector< OctTreeNodeLeaf* >& out_leafs ) { //Check if we are inside of the frustum. if ( !isInFrustum( frustum ) ) return; @@ -61,8 +62,8 @@ namespace fgl::engine { case 0: // NodeArray { - assert( std::holds_alternative< NodeArray >( m_node_data ) ); - NodeArray& node_array { std::get< NodeArray >( m_node_data ) }; + assert( std::holds_alternative< OctTreeNodeArray >( m_node_data ) ); + OctTreeNodeArray& node_array { std::get< OctTreeNodeArray >( m_node_data ) }; //Search deeper node_array[ LEFT ][ FORWARD ][ TOP ]->getAllLeafsInFrustum( frustum, out_leafs ); @@ -80,8 +81,8 @@ namespace fgl::engine } case 1: // NodeLeaf { - assert( std::holds_alternative< NodeLeaf >( m_node_data ) ); - NodeLeaf& leaf { std::get< NodeLeaf >( m_node_data ) }; + assert( std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) ); + OctTreeNodeLeaf& leaf { std::get< OctTreeNodeLeaf >( m_node_data ) }; leafs.reserve( LEAF_RESERVE_SIZE ); leafs.emplace_back( &leaf ); @@ -96,28 +97,45 @@ namespace fgl::engine std::unreachable(); } + bool OctTreeNode::contains( const WorldCoordinate coord ) const + { + return this->m_bounds.contains( coord ); + } + + OctTreeNode& OctTreeNode::operator[]( const WorldCoordinate coord ) + { + assert( std::holds_alternative< OctTreeNodeArray >( m_node_data ) ); + const auto test_dim { glm::greaterThanEqual( coord.vec(), this->m_bounds.getPosition().vec() ) }; + + auto& node_array { std::get< OctTreeNodeArray >( m_node_data ) }; + const auto& node { node_array[ test_dim.x ][ test_dim.y ][ test_dim.z ] }; + assert( node ); + + return *node.get(); + } + OctTreeNode::OctTreeNode( const WorldCoordinate center, float span, OctTreeNode* parent ) : m_fit_bounding_box( center, glm::vec3( span, span, span ) ), m_bounds( center, span ), - m_node_data( NodeLeaf() ), + m_node_data( OctTreeNodeLeaf() ), m_parent( parent ) { - assert( std::holds_alternative< NodeLeaf >( m_node_data ) ); - std::get< NodeLeaf >( m_node_data ).reserve( MAX_NODES_IN_LEAF ); + assert( std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) ); + std::get< OctTreeNodeLeaf >( m_node_data ).reserve( MAX_NODES_IN_LEAF ); } void OctTreeNode::split( int depth ) { ZoneScoped; - if ( std::holds_alternative< NodeArray >( m_node_data ) ) return; - auto& game_objects { std::get< NodeLeaf >( m_node_data ) }; + if ( std::holds_alternative< OctTreeNodeArray >( m_node_data ) ) return; + auto& game_objects { std::get< OctTreeNodeLeaf >( m_node_data ) }; //Figure out the half span const float half_span { m_bounds.span() / 2.0f }; const Coordinate< CoordinateSpace::World > center { m_bounds.getPosition() }; - NodeArray new_nodes {}; + OctTreeNodeArray new_nodes {}; const float left_x { center.x - half_span }; const float right_x { center.x + half_span }; @@ -162,9 +180,9 @@ namespace fgl::engine const bool is_up { obj_coordinate.z > center.z }; std::unique_ptr< OctTreeNode >& node { new_nodes[ is_right ][ is_forward ][ is_up ] }; - assert( std::holds_alternative< NodeLeaf >( node->m_node_data ) ); + assert( std::holds_alternative< OctTreeNodeLeaf >( node->m_node_data ) ); - std::get< NodeLeaf >( node->m_node_data ).emplace_back( std::move( obj ) ); + std::get< OctTreeNodeLeaf >( node->m_node_data ).emplace_back( std::move( obj ) ); } this->m_node_data = std::move( new_nodes ); @@ -178,9 +196,9 @@ namespace fgl::engine OctTreeNode* OctTreeNode::addGameObject( GameObject&& obj ) { assert( this->canContain( obj ) ); - if ( std::holds_alternative< NodeLeaf >( m_node_data ) ) + if ( std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) ) { - auto& objects { std::get< NodeLeaf >( m_node_data ) }; + auto& objects { std::get< OctTreeNodeLeaf >( m_node_data ) }; assert( objects.capacity() == MAX_NODES_IN_LEAF ); if ( objects.size() + 1 >= MAX_NODES_IN_LEAF ) { @@ -195,15 +213,7 @@ namespace fgl::engine } else { - const auto& center { m_bounds.getPosition() }; - const auto& obj_coordinate { obj.m_transform.translation }; - const bool is_right { obj_coordinate.x >= center.x }; - const bool is_forward { obj_coordinate.y >= center.y }; - const bool is_up { obj_coordinate.z >= center.z }; - - auto& nodes { std::get< NodeArray >( m_node_data ) }; - - return nodes[ is_right ][ is_forward ][ is_up ]->addGameObject( std::move( obj ) ); + return ( *this )[ obj.getPosition() ].addGameObject( std::forward< GameObject >( obj ) ); } } @@ -212,7 +222,7 @@ namespace fgl::engine #if ENABLE_IMGUI if ( !isEmpty() && frustum.intersects( m_fit_bounding_box ) ) { - if ( ( draw_inview_bounds || std::holds_alternative< NodeLeaf >( this->m_node_data ) ) && m_parent ) + if ( ( draw_inview_bounds || std::holds_alternative< OctTreeNodeLeaf >( this->m_node_data ) ) && m_parent ) { if ( draw_leaf_fit_bounds ) debug::world::drawBoundingBox( m_fit_bounding_box ); if ( draw_leaf_real_bounds ) debug::world::drawBoundingBox( m_bounds ); @@ -231,10 +241,10 @@ namespace fgl::engine OctTreeNode* OctTreeNode::findID( const GameObject::ID id ) { ZoneScoped; - if ( std::holds_alternative< NodeLeaf >( this->m_node_data ) ) + if ( std::holds_alternative< OctTreeNodeLeaf >( this->m_node_data ) ) { //We are the last node. Check if we have the ID - const auto& game_objects { std::get< NodeLeaf >( m_node_data ) }; + const auto& game_objects { std::get< OctTreeNodeLeaf >( m_node_data ) }; if ( std::find_if( game_objects.begin(), @@ -249,9 +259,9 @@ namespace fgl::engine return nullptr; } } - else if ( std::holds_alternative< NodeArray >( this->m_node_data ) ) + else if ( std::holds_alternative< OctTreeNodeArray >( this->m_node_data ) ) { - const auto& node_array { std::get< NodeArray >( this->m_node_data ) }; + const auto& node_array { std::get< OctTreeNodeArray >( this->m_node_data ) }; for ( std::size_t x = 0; x < 2; ++x ) { @@ -273,8 +283,8 @@ namespace fgl::engine auto OctTreeNode::getGameObjectItter( const GameObject::ID id ) { - assert( std::holds_alternative< NodeLeaf >( this->m_node_data ) ); - auto& game_objects { std::get< NodeLeaf >( this->m_node_data ) }; + assert( std::holds_alternative< OctTreeNodeLeaf >( this->m_node_data ) ); + auto& game_objects { std::get< OctTreeNodeLeaf >( this->m_node_data ) }; return std::find_if( game_objects.begin(), game_objects.end(), [ id ]( const GameObject& obj ) { return id == obj.getId(); } ); } @@ -288,7 +298,7 @@ namespace fgl::engine { auto itter { getGameObjectItter( id ) }; auto game_object { std::move( *itter ) }; - auto& game_objects { std::get< NodeLeaf >( this->m_node_data ) }; + auto& game_objects { std::get< OctTreeNodeLeaf >( this->m_node_data ) }; game_objects.erase( itter ); return game_object; } @@ -301,18 +311,18 @@ namespace fgl::engine return m_parent->getRoot(); } - void OctTreeNode::getAllLeafs( std::vector< NodeLeaf* >& objects ) + void OctTreeNode::getAllLeafs( std::vector< OctTreeNodeLeaf* >& objects ) { ZoneScoped; - if ( std::holds_alternative< NodeLeaf >( m_node_data ) ) + if ( std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) ) { - auto& leaf { std::get< NodeLeaf >( m_node_data ) }; + auto& leaf { std::get< OctTreeNodeLeaf >( m_node_data ) }; //No point in us giving back an empy leaf if ( leaf.size() > 0 ) objects.emplace_back( &leaf ); } else { - auto& nodes { std::get< NodeArray >( m_node_data ) }; + auto& nodes { std::get< OctTreeNodeArray >( m_node_data ) }; for ( std::size_t x = 0; x < 2; ++x ) { @@ -332,11 +342,11 @@ namespace fgl::engine { ZoneScoped; const auto old_bounds { m_fit_bounding_box }; - if ( std::holds_alternative< NodeArray >( m_node_data ) ) + if ( std::holds_alternative< OctTreeNodeArray >( m_node_data ) ) { ZoneScopedN( "Process Array" ); bool bounding_box_changed { false }; - auto& nodes { std::get< NodeArray >( m_node_data ) }; + auto& nodes { std::get< OctTreeNodeArray >( m_node_data ) }; for ( std::size_t x = 0; x < 2; ++x ) { for ( std::size_t y = 0; y < 2; ++y ) @@ -380,10 +390,10 @@ namespace fgl::engine return false; } - else if ( std::holds_alternative< NodeLeaf >( m_node_data ) ) + else if ( std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) ) { ZoneScopedN( "Process Leaf" ); - auto& game_objects { std::get< NodeLeaf >( m_node_data ) }; + auto& game_objects { std::get< OctTreeNodeLeaf >( m_node_data ) }; if ( game_objects.size() == 0 ) return false; diff --git a/src/engine/tree/octtree/OctTreeNode.hpp b/src/engine/tree/octtree/OctTreeNode.hpp index 4196b60..ef838df 100644 --- a/src/engine/tree/octtree/OctTreeNode.hpp +++ b/src/engine/tree/octtree/OctTreeNode.hpp @@ -29,38 +29,10 @@ namespace fgl::engine class OctTreeNode; class GameObject; - template < typename T > - class OctTreeAllocator : public std::allocator< T > - { - std::vector< std::vector< std::byte > > blocks; - using BlockIDX = int; + using OctTreeNodeArray = std::array< std::array< std::array< std::unique_ptr< OctTreeNode >, 2 >, 2 >, 2 >; + using OctTreeNodeLeaf = std::vector< GameObject >; - //! Map for each pointer to their respective blocks - std::unordered_map< T*, BlockIDX > m_block_map; - }; - - template < typename T > - using unique_alloc_ptr = std::unique_ptr< T, std::function< void( T* ) > >; - - template < typename T, typename... Ts > - unique_alloc_ptr< T > make_unique_from_allocator( OctTreeAllocator< T >& allocator, Ts... args ) - { - T* ptr = allocator.allocate( 1 ); - allocator.construct( ptr, args... ); - - auto deleter = [ &allocator ]( const auto* ptr_i ) -> void - { - allocator.destroy( ptr_i ); - allocator.deallocate( ptr_i, 1 ); - }; - - return std::unique_ptr< T, decltype( deleter ) >( ptr, deleter ); - } - - using NodeArray = std::array< std::array< std::array< std::unique_ptr< OctTreeNode >, 2 >, 2 >, 2 >; - using NodeLeaf = std::vector< GameObject >; - - static_assert( sizeof( NodeArray ) == sizeof( OctTreeNode* ) * 2 * 2 * 2 ); + static_assert( sizeof( OctTreeNodeArray ) == sizeof( OctTreeNode* ) * 2 * 2 * 2 ); static_assert( sizeof( OctTreeNode* ) == sizeof( std::uint64_t ) ); struct FrameInfo; @@ -75,8 +47,8 @@ namespace fgl::engine //! Real bounds of the node AxisAlignedBoundingCube< CoordinateSpace::World > m_bounds; - using NodeDataT = NodeArray; - using LeafDataT = NodeLeaf; + using NodeDataT = OctTreeNodeArray; + using LeafDataT = OctTreeNodeLeaf; std::variant< NodeDataT, LeafDataT > m_node_data; @@ -117,14 +89,19 @@ namespace fgl::engine bool isEmpty() const { - return std::holds_alternative< NodeLeaf >( m_node_data ) && std::get< NodeLeaf >( m_node_data ).empty(); + return std::holds_alternative< OctTreeNodeLeaf >( m_node_data ) + && std::get< OctTreeNodeLeaf >( m_node_data ).empty(); } auto getGameObjectItter( const GameObject::ID id ); - void getAllLeafs( std::vector< NodeLeaf* >& out_leafs ); + void getAllLeafs( std::vector< OctTreeNodeLeaf* >& out_leafs ); void getAllLeafsInFrustum( - const Frustum< CoordinateSpace::World >& frustum, std::vector< NodeLeaf* >& out_leafs ); + const Frustum< CoordinateSpace::World >& frustum, std::vector< OctTreeNodeLeaf* >& out_leafs ); + + bool contains( const WorldCoordinate coord ) const; + + OctTreeNode& operator[]( const WorldCoordinate coord ); public: @@ -135,20 +112,20 @@ namespace fgl::engine constexpr static std::size_t LEAF_RESERVE_SIZE { 1024 }; - [[nodiscard]] inline std::vector< NodeLeaf* > getAllLeafs() + [[nodiscard]] inline std::vector< OctTreeNodeLeaf* > getAllLeafs() { ZoneScoped; - std::vector< NodeLeaf* > leafs; + std::vector< OctTreeNodeLeaf* > leafs; leafs.reserve( LEAF_RESERVE_SIZE ); this->getAllLeafs( leafs ); return leafs; } - [[nodiscard]] inline std::vector< NodeLeaf* > getAllLeafsInFrustum( const Frustum< CoordinateSpace::World >& - frustum ) + [[nodiscard]] inline std::vector< OctTreeNodeLeaf* > getAllLeafsInFrustum( const Frustum< + CoordinateSpace::World >& frustum ) { ZoneScoped; - std::vector< NodeLeaf* > leafs; + std::vector< OctTreeNodeLeaf* > leafs; leafs.reserve( LEAF_RESERVE_SIZE ); this->getAllLeafsInFrustum( frustum, leafs ); return leafs; diff --git a/src/engine/tree/quadtree/QuadTree.cpp b/src/engine/tree/quadtree/QuadTree.cpp index 7e719a5..846272b 100644 --- a/src/engine/tree/quadtree/QuadTree.cpp +++ b/src/engine/tree/quadtree/QuadTree.cpp @@ -3,3 +3,73 @@ // #include "QuadTree.hpp" + +namespace fgl::engine +{ + bool QuadTreeNode::contains( const WorldCoordinate coord ) const + { + const auto centered_coordinate { coord - m_center }; + + const bool top_in_range { glm::all( glm::lessThanEqual( centered_coordinate.vec(), m_node_bounds ) ) }; + const bool bottom_in_range { glm::all( glm::greaterThanEqual( centered_coordinate.vec(), -m_node_bounds ) ) }; + return top_in_range && bottom_in_range; + } + + QuadTreeNode& QuadTreeNode::operator[]( const WorldCoordinate pos ) + { + assert( std::holds_alternative< QuadTreeNodeArray >( m_node_data ) ); + const auto test_dim { glm::greaterThanEqual( pos.vec(), this->m_center.vec() ) }; + + auto& node_array { std::get< QuadTreeNodeArray >( m_node_data ) }; + const auto& node { node_array[ test_dim.x ][ test_dim.y ] }; + assert( node ); + + return *node.get(); + } + + void QuadTreeNode::split( const int depth ) + { + if ( std::holds_alternative< QuadTreeNodeArray >( m_node_data ) ) return; + + auto leaf_data { std::move( std::get< QuadTreeNodeLeaf >( m_node_data ) ) }; + + QuadTreeNodeArray new_nodes { + { { { std::make_unique< QuadTreeNode >(), std::make_unique< QuadTreeNode >() } }, + { { std::make_unique< QuadTreeNode >(), std::make_unique< QuadTreeNode >() } } } + }; + + m_node_data = std::move( new_nodes ); + + [[assume( leaf_data.size() <= MAX_QUAD_NODES_IN_LEAF )]]; + + for ( auto& item : leaf_data ) + { + const auto item_pos { item.getPosition() }; + + auto& node { ( *this )[ item_pos ] }; + assert( std::holds_alternative< QuadTreeNodeLeaf >( node.m_node_data ) ); + + node.addGameObject( std::move( item ) ); + } + + if ( depth > 1 ) split( depth - 1 ); + } + + void QuadTreeNode::addGameObject( GameObject&& obj ) + { + assert( contains( obj.getPosition() ) ); + + if ( std::holds_alternative< QuadTreeNodeLeaf >( m_node_data ) ) + { + std::get< QuadTreeNodeLeaf >( m_node_data ).emplace_back( std::forward< GameObject >( obj ) ); + return; + } + else + { + assert( std::holds_alternative< QuadTreeNodeArray >( m_node_data ) ); + ( *this )[ obj.getPosition() ].addGameObject( std::forward< GameObject >( obj ) ); + return; + } + } + +} // namespace fgl::engine diff --git a/src/engine/tree/quadtree/QuadTree.hpp b/src/engine/tree/quadtree/QuadTree.hpp index a0f8d69..d2368d0 100644 --- a/src/engine/tree/quadtree/QuadTree.hpp +++ b/src/engine/tree/quadtree/QuadTree.hpp @@ -2,10 +2,39 @@ // Created by kj16609 on 3/11/24. // -#ifndef GAME_QUADTREE_HPP -#define GAME_QUADTREE_HPP +#pragma once -class QuadTree -{}; +#include "engine/GameObject.hpp" -#endif //GAME_QUADTREE_HPP +namespace fgl::engine +{ + + enum class CoordinateSpace; + class QuadTreeNode; + + template < CoordinateSpace CType > + struct Frusutm; + + using QuadTreeNodeArray = std::array< std::array< std::unique_ptr< QuadTreeNode >, 2 >, 2 >; + using QuadTreeNodeLeaf = std::vector< GameObject >; + + constexpr std::size_t MAX_QUAD_NODES_IN_LEAF { 8 }; + + class QuadTreeNode + { + WorldCoordinate m_center { constants::WORLD_CENTER }; + Scale m_node_bounds { std::numeric_limits< float >::infinity() }; + std::variant< QuadTreeNodeArray, QuadTreeNodeLeaf > m_node_data { QuadTreeNodeLeaf() }; + + bool contains( const WorldCoordinate coord ) const; + + public: + + QuadTreeNode& operator[]( const WorldCoordinate pos ); + + void split( const int depth = 1 ); + + void addGameObject( GameObject&& obj ); + }; + +} // namespace fgl::engine