Enhance graphics library functionality and structure

Added new function signatures in `assimp-vc143-mt.lib` for improved logging, parsing, and vector operations.
Added new metadata and configuration information in `assimp-vc143-mt.dll` for versioning and licensing compliance.
Added Sobol sequence generation in `Sobol.c` for quasi-random sampling.
Added window message handling in `Window.c` for rendering graphics.
Added ray-triangle intersection tests in `RayIntersection.c` for collision detection.
Added functions for loading mesh data in `Mesh.c` to support 3D model import.
Added functions for managing triangle collections in `Triangle.c` to enhance geometric data handling.
Added light evaluation functions in `LightEvaluation.c` and `SkyLight.c` for realistic rendering.
Added sampling and evaluation functions for simple lit materials in `SimpleLit.c`.
Changed various header files to include copyright and licensing information.
Changed existing functions in multiple files to improve performance and clarity.
Removed unused code in several files to streamline the library.
This commit is contained in:
2025-04-18 01:54:26 +09:00
parent b915d56f73
commit bfc94f0008
138 changed files with 28915 additions and 534 deletions

View File

@@ -7,26 +7,31 @@ project(${PROJECT_NAME} LANGUAGES C)
find_package(OpenMP REQUIRED)
set(EXTERNAL_DIR "${CMAKE_SOURCE_DIR}/external/")
set(SOURCE_DIR "${CMAKE_SOURCE_DIR}/source/")
set(HEADER_DIR "${CMAKE_SOURCE_DIR}/header/")
set(EXTERNAL_DIR "${CMAKE_SOURCE_DIR}/external")
set(SOURCE_DIR "${CMAKE_SOURCE_DIR}/source")
set(HEADER_DIR "${CMAKE_SOURCE_DIR}/header")
set(LIBRARY_PATH "${CMAKE_SOURCE_DIR}/lib")
# Recursively find all .c files in the Sources directory
file(GLOB_RECURSE SOURCES "${SOURCE_DIR}/*.c")
# Define the executable instead of a library
add_executable(${PROJECT_NAME} ${SOURCES})
add_executable(${PROJECT_NAME} WIN32 ${SOURCES})
# Include directories
target_include_directories(${PROJECT_NAME} PRIVATE ${EXTERNAL_DIR})
target_include_directories(${PROJECT_NAME} PRIVATE ${HEADER_DIR})
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBRARY_PATH}/cglm.lib)
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBRARY_PATH}/assimp-vc143-mt.lib)
if(OpenMP_C_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE OpenMP::OpenMP_C)
endif()
# Specify the output directory for the EXE file
set_target_properties(${PROJECT_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
)
file(COPY ${LIBRARY_PATH}/cglm.dll DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/)
file(COPY ${LIBRARY_PATH}/assimp-vc143-mt.dll DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/)