This commit is contained in:
ZY4N
2024-12-22 16:58:40 +01:00
parent 2704814de2
commit db8db8f9d7
161 changed files with 17102 additions and 0 deletions

196
CMakeLists.txt Executable file
View File

@@ -0,0 +1,196 @@
cmake_minimum_required(VERSION 3.27)
project(z3d)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast -pedantic -Wall -Werror ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmacro-prefix-map=${CMAKE_CURRENT_SOURCE_DIR}/=")
add_executable(z3d main.cpp
include/assets/components/material_components.hpp
include/assets/components/point_cloud_vertex_components.hpp
include/assets/components/mesh_vertex_components.hpp
include/assets/dynamic_read_buffers/dynamic_material_buffer.hpp
include/assets/dynamic_read_buffers/dynamic_mesh_buffer.hpp
include/assets/dynamic_read_buffers/dynamic_point_cloud_buffer.hpp
include/assets/data_loaders/kitti_loader.hpp
include/assets/data_loaders/obj_loader.hpp
include/assets/data_loaders/stl_loader.hpp
include/assets/data_loaders/uos_loader.hpp
include/assets/components/mesh_vertex_components.hpp
include/scene/camera.hpp
include/scene/flying_camera.hpp
include/opengl/handles/mesh_handle.hpp
include/opengl/handles/point_cloud_handle.hpp
include/opengl/handles/shader_program_handle.hpp
include/opengl/handles/texture_handle.hpp
include/opengl/data/mesh_data.hpp
include/opengl/data/point_cloud_data.hpp
include/opengl/data/shader_program_data.hpp
include/opengl/data/texture_data.hpp
include/scene/lighting_setup.hpp
include/rendering/batch_renderers/mesh_batch_renderer.hpp
include/opengl/error.hpp
include/rendering/batches/mesh_batch.hpp
include/rendering/batches/point_cloud_batch.hpp
include/util/arx.hpp
include/util/extra_arx_parsers.hpp
include/util/for_each.hpp
include/util/function.hpp
include/util/image.hpp
include/util/logger.hpp
include/util/string_indexer.hpp
include/util/string_literal.hpp
include/util/uix.hpp
source/assets/data_loaders/stl_loader.cpp
source/assets/data_loaders/obj_loader.cpp
source/scene/flying_camera.cpp
source/opengl/data/point_cloud_data.cpp
source/opengl/handles/shader_program_handle.ipp
source/opengl/data/texture_data.ipp
source/opengl/data/mesh_data.cpp
include/opengl/error.hpp
source/opengl/data/shader_program_data.cpp
source/opengl/handles/mesh_handle.ipp
source/opengl/handles/point_cloud_handle.ipp
source/opengl/handles/texture_handle.ipp
include/assets/data/surface_properties.hpp
include/util/unroll_bool_template.hpp
include/rendering/batch_renderers/point_cloud_batch_renderer.hpp
source/rendering/batches/mesh_batch.ipp
source/rendering/batches/point_cloud_batch.ipp
include/opengl/shader_program_variable.hpp
include/opengl/type_utils.hpp
include/util/binary_ifstream.hpp
source/assets/data_loaders/kitti_loader.cpp
include/assets/data_loaders/generic/generic_3dtk_loader.hpp
include/assets/data_loaders/uosr_loader.hpp
include/assets/data_loaders/uos_normal_loader.hpp
include/assets/data_loaders/uos_rgb_loader.hpp
include/assets/dynamic_data_loaders/dynamic_mesh_loader.hpp
source/assets/dynamic_data_loaders/dynamic_mesh_loader.cpp
source/assets/dynamic_data_loaders/dynamic_mesh_loader.cpp
include/assets/dynamic_data_loaders/dynamic_point_cloud_loader.hpp
include/assets/dynamic_data_loaders/generic/base_dynamic_loader.hpp
source/assets/dynamic_data_loaders/generic/base_dynamic_loader.ipp
source/assets/dynamic_data_loaders/dynamic_point_cloud_loader.cpp
include/opengl/handles/matrix_handles.hpp
include/viewer/instance.hpp
include/opengl/data/material_data.hpp
include/opengl/handles/material_handle.hpp
include/opengl/handles/surface_properties_handle.hpp
include/opengl/handles/alpha_handle.hpp
source/opengl/data/material_data.ipp
include/util/specialised_lambda.hpp
include/viewer/asset_types.hpp
source/viewer/instance.cpp
include/viewer/asset_loader.hpp
source/viewer/asset_loader.cpp
include/assets/data_loaders/glsl_loader.hpp
include/assets/dynamic_read_buffers/dynamic_shader_buffer.hpp
source/assets/data_loaders/glsl_loader.cpp
include/viewer/settings.hpp
include/opengl/data/shader_data.hpp
source/opengl/data/shader_data.ipp
source/opengl/data/point_cloud_data.ipp
source/opengl/data/shader_data.cpp
include/opengl/handles/shader_handle.hpp
include/util/string_lookup.hpp
include/viewer/dynamic_shader_program_loading.hpp
source/viewer/dynamic_shader_program_loading.cpp
source/opengl/handles/shader_program_handle.cpp
include/opengl/shader_program_lookup.hpp
source/opengl/shader_program_lookup.cpp
include/shader_program/attributes/mesh_attributes.hpp
include/shader_program/attributes/point_cloud_attributes.hpp
include/shader_program/uniforms/mesh_uniforms.hpp
include/shader_program/uniforms/point_cloud_uniforms.hpp
include/shader_program/capabilities/mesh_capabilities.hpp
include/shader_program/capabilities/point_cloud_capabilities.hpp
include/rendering/requirements/mesh_requirements.hpp
include/rendering/requirements/point_cloud_requirements.hpp
include/rendering/modes/mesh_modes.hpp
include/rendering/modes/point_cloud_modes.hpp
source/rendering/batch_renderers/mesh_batch_renderer.cpp
source/rendering/batch_renderers/point_cloud_batch_renderer.cpp
include/rendering/shader_program_lookups/mesh_lookup.hpp
include/rendering/shader_program_lookups/mesh_lookup.hpp
source/rendering/shader_program_lookups/mesh_lookup.cpp
source/rendering/shader_program_lookups/point_cloud_lookup.cpp
include/rendering/shader_program_lookups/point_cloud_lookup.hpp
include/geometry/aabb.hpp
source/geometry/normal_estimation.cpp
include/geometry/normal_estimation.hpp
include/assets/components/texture_components.hpp
include/util/enum_operators.hpp
include/assets/dynamic_read_buffers/dynamic_texture_buffer.hpp
source/assets/dynamic_read_buffers/dynamic_mesh_buffer.ipp
source/assets/dynamic_read_buffers/dynamic_material_buffer.ipp
include/assets/dynamic_read_buffers/dynamic_vertex_buffer.hpp
source/assets/dynamic_read_buffers/dynamic_model_buffer.ipp
source/assets/dynamic_read_buffers/dynamic_texture_buffer.ipp
source/assets/dynamic_read_buffers/dynamic_point_cloud_buffer.ipp
include/assets/data_loaders/mtl_loader.hpp
include/assets/dynamic_data_loaders/dynamic_material_loader.hpp
include/util/id_type.hpp
include/assets/dynamic_data_stores/generic/generic_dynamic_store.hpp
source/assets/dynamic_data_stores/generic/generic_dynamic_store.ipp
include/assets/dynamic_data_stores/dynamic_material_store.hpp
include/assets/dynamic_data_stores/dynamic_mesh_store.hpp
include/assets/dynamic_data_stores/dynamic_point_cloud_store.hpp
include/util/result.hpp
source/assets/data_loaders/mtl_loader.cpp
include/util/line_parser.hpp
include/assets/dynamic_data_loaders/dynamic_texture_loader.hpp
source/assets/dynamic_data_loaders/dynamic_texture_loader.cpp
include/assets/dynamic_data_stores/dynamic_texture_store.hpp
include/opengl/data_uploaders/texture_data_uploader.hpp
include/assets/dynamic_data_stores/dynamic_vertex_store.hpp
include/assets/prefetch_lookups/mesh_prefetch_lookup.hpp
include/assets/prefetch_lookups/point_cloud_prefetch_lookup.hpp
include/assets/prefetch_lookups/material_prefetch_lookup.hpp
include/assets/prefetch_lookups/texture_prefetch_lookup.hpp
include/assets/prefetch_lookups/pose_prefetch_lookup.hpp
include/assets/dynamic_data_stores/dynamic_pose_store.hpp
include/assets/data_loaders/kitti_pose_loader.hpp
include/assets/data_loaders/threedtk_pose_loader.hpp
source/assets/data_loaders/threedtk_pose_loader.cpp
include/assets/dynamic_read_buffers/dynamic_pose_buffer.hpp
source/assets/data_loaders/kitti_pose_loader.cpp
include/assets/prefetch_queue.hpp
include/util/string_list.hpp
include/assets/dynamic_data_stores/dynamic_material_library_store.hpp
include/assets/dynamic_data_stores/generic/generic_dynamic_component_store.hpp
source/assets/dynamic_data_stores/generic/generic_dynamic_component_store.ipp
source/assets/dynamic_data_stores/dynamic_material_store.cpp
include/assets/dynamic_data_stores/generic/generic_dynamic_component_array_store.hpp
source/assets/dynamic_data_stores/generic/generic_dynamic_component_array_store.ipp
source/assets/dynamic_data_stores/dynamic_mesh_store.cpp
include/assets/dynamic_data_stores/generic/generic_dynamic_indexed_component_array_store.hpp
source/assets/dynamic_data_stores/dynamic_point_cloud_store.cpp
include/assets/dynamic_read_buffers/dynamic_material_library_buffer.hpp
include/assets/dynamic_data_loaders/dynamic_material_library_loader.hpp
include/assets/prefetch_lookups/material_library_prefetch_lookup.hpp
include/assets/prefetch_lookups/shader_prefetch_lookup.hpp
include/assets/dynamic_data_stores/dynamic_shader_store.hpp
include/assets/data_loaders/generic/generic_3dtk_loader.hpp
source/assets/data_loaders/generic/generic_3dtk_loader.ipp
include/assets/prefetch_lookup.hpp
source/assets/prefetch_lookups/pose_prefetch_lookup.cpp
include/assets/dynamic_data_store.hpp
)
target_include_directories(z3d PRIVATE include)
target_include_directories(z3d PRIVATE source) # for ipp headers
target_include_directories(z3d PRIVATE libraries/include/glm)
target_include_directories(z3d PRIVATE libraries/include/stb)
find_package(GLEW REQUIRED)
find_package(OpenGL REQUIRED)
find_package(SFML REQUIRED COMPONENTS graphics system)
find_package(Eigen3 3.4 REQUIRED NO_MODULE)
include_directories(${SFML_INCLUDE_DIR})
include_directories(SYSTEM ${eigen_INCLUDE_DIR})
target_link_libraries(z3d Eigen3::Eigen sfml-graphics sfml-system sfml-window ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES})