Adjust model initialization: adopt constants::DEFAULT_MODEL_SCALE, increase buffer sizes, and extend GPU buffer initialization with debug names.
This commit is contained in:
@@ -30,7 +30,7 @@ namespace fgl::engine
|
||||
vk::BufferUsageFlagBits::eStorageBuffer | vk::BufferUsageFlagBits::eTransferDst,
|
||||
vk::MemoryPropertyFlagBits::eDeviceLocal | vk::MemoryPropertyFlagBits::eHostVisible ),
|
||||
m_vertex_buffer(
|
||||
2_MiB,
|
||||
2_GiB,
|
||||
vk::BufferUsageFlagBits::eVertexBuffer | vk::BufferUsageFlagBits::eStorageBuffer
|
||||
| vk::BufferUsageFlagBits::eTransferDst,
|
||||
vk::MemoryPropertyFlagBits::eDeviceLocal ),
|
||||
@@ -38,11 +38,14 @@ namespace fgl::engine
|
||||
1_GiB,
|
||||
vk::BufferUsageFlagBits::eIndexBuffer | vk::BufferUsageFlagBits::eTransferDst,
|
||||
vk::MemoryPropertyFlagBits::eDeviceLocal ),
|
||||
m_generated_instance_info( constructPerFrame< DeviceVector< PerVertexInstanceInfo > >( m_vertex_buffer ) ),
|
||||
m_primitive_info( m_long_buffer ),
|
||||
m_primitive_instances( m_short_buffer ),
|
||||
m_model_instances( m_short_buffer ),
|
||||
m_generated_instance_info( constructPerFrame< DeviceVector< PerVertexInstanceInfo > >( m_vertex_buffer ) )
|
||||
m_model_instances( m_short_buffer )
|
||||
{
|
||||
m_vertex_buffer->setDebugName( "Vertex buffer" );
|
||||
m_index_buffer->setDebugName( "Index buffer" );
|
||||
|
||||
m_primitives_desc = PRIMITIVE_SET.create();
|
||||
m_primitives_desc->bindStorageBuffer( 0, m_primitive_info );
|
||||
m_primitives_desc->update();
|
||||
@@ -93,7 +96,7 @@ namespace fgl::engine
|
||||
|
||||
WorldTransform transform {};
|
||||
transform.translation = Coordinate< CoordinateSpace::World >( glm::vec3( 0.0, 0.0, 0.0 ) );
|
||||
transform.scale = glm::vec3( 0.007 );
|
||||
transform.scale = glm::vec3( constants::DEFAULT_MODEL_SCALE );
|
||||
transform.rotation = { glm::quat( 1.0, 0.0, 0.0, 0.0 ) };
|
||||
|
||||
const ModelInstanceInfo model_info { transform.mat4() };
|
||||
|
||||
@@ -87,6 +87,7 @@ namespace fgl::engine
|
||||
static_assert( offsetof( PerVertexInstanceInfo, material_id ) == 64 );
|
||||
static_assert( sizeof( MaterialID ) == 4 );
|
||||
|
||||
// Padding check
|
||||
static_assert( sizeof( PerVertexInstanceInfo ) == 64 + ( 4 * 4 ) );
|
||||
|
||||
struct ModelGPUBuffers
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace fgl::engine
|
||||
|
||||
struct ModelInstanceInfo
|
||||
{
|
||||
glm::mat4 m_matrix { glm::mat4( 0.007 ) };
|
||||
glm::mat4 m_matrix { glm::mat4( constants::DEFAULT_MODEL_SCALE ) };
|
||||
};
|
||||
|
||||
using ModelInstanceInfoIndex = IndexedVector< ModelInstanceInfo >::Index;
|
||||
|
||||
@@ -602,12 +602,13 @@ namespace fgl::engine
|
||||
std::make_unique< components::ModelComponent >( std::move( model ) )
|
||||
};
|
||||
|
||||
const auto transform { loadTransform( node_idx, root ) };
|
||||
// component->updateTransform( transform );
|
||||
|
||||
obj.addComponent( std::move( component ) );
|
||||
|
||||
obj.addFlag( IsVisible | IsEntity );
|
||||
|
||||
const auto transform { loadTransform( node_idx, root ) };
|
||||
|
||||
// obj.getTransform() = transform;
|
||||
|
||||
if ( node.name.empty() )
|
||||
|
||||
@@ -17,6 +17,8 @@ namespace fgl::engine::constants
|
||||
|
||||
constexpr glm::vec3 DEFAULT_VEC3 { std::numeric_limits< float >::signaling_NaN() };
|
||||
|
||||
constexpr float DEFAULT_MODEL_SCALE { 0.07f };
|
||||
|
||||
constexpr glm::vec3 WORLD_CENTER { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
// X RIGHT
|
||||
|
||||
Reference in New Issue
Block a user