MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2) 外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言 含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
This commit is contained in:
commit
2d56cb3bc9
91 files changed
+9988
No files matched your search
@@ -0,0 +1,63 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(MiMoEngineASM C)
|
||||
|
||||
set(CMAKE_C_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
add_compile_options(-O2 -Wall -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_SOURCE_DIR}/Engine
|
||||
${CMAKE_SOURCE_DIR}/Engine/include
|
||||
${CMAKE_SOURCE_DIR}/Engine/ASM
|
||||
)
|
||||
|
||||
set(ENGINE_SOURCES
|
||||
Engine/Math/math_impl.c
|
||||
Engine/Core/engine.c
|
||||
Engine/Core/logger.c
|
||||
Engine/Core/timer.c
|
||||
Engine/Window/window.c
|
||||
Engine/Rendering/graphics_device.c
|
||||
Engine/Rendering/renderer.c
|
||||
Engine/Rendering/shader.c
|
||||
Engine/Rendering/mesh.c
|
||||
Engine/Rendering/texture.c
|
||||
Engine/Rendering/camera.c
|
||||
Engine/ECS/world.c
|
||||
Engine/Input/input.c
|
||||
Engine/Physics/physics.c
|
||||
Engine/Audio/audio.c
|
||||
Engine/UI/ui.c
|
||||
Engine/Scripting/lua_engine.c
|
||||
Engine/VisualScript/block_core.c
|
||||
Engine/VisualScript/block_types.c
|
||||
Engine/VisualScript/block_workspace.c
|
||||
Engine/VisualScript/block_interaction.c
|
||||
Engine/VisualScript/block_renderer.c
|
||||
Engine/VisualScript/block_palette.c
|
||||
Engine/VisualScript/block_executor.c
|
||||
Engine/VisualScript/block_serializer.c
|
||||
Engine/VisualScript/block_editor.c
|
||||
Engine/Editor/editor_2d.c
|
||||
Engine/Editor/bitmap_font.c
|
||||
Engine/Editor/editor.c
|
||||
Engine/Editor/uilayer.c
|
||||
Engine/Editor/glyph_atlas.c
|
||||
)
|
||||
|
||||
add_library(Engine STATIC ${ENGINE_SOURCES})
|
||||
|
||||
set(LINK_LIBS Engine d3d11 dxgi d3dcompiler ole32 oleaut32 uuid gdi32 user32 kernel32 winmm)
|
||||
|
||||
add_executable(MiMoEngine_ASM Demo/main.c)
|
||||
target_link_libraries(MiMoEngine_ASM ${LINK_LIBS})
|
||||
set_target_properties(MiMoEngine_ASM PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
||||
|
||||
add_executable(MiMoEditor Demo/editor_main.c)
|
||||
target_link_libraries(MiMoEditor ${LINK_LIBS})
|
||||
set_target_properties(MiMoEditor PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
||||
|
||||
add_executable(MiMoCompatTest WIN32 Demo/compat_test.c)
|
||||
target_link_libraries(MiMoCompatTest ${LINK_LIBS})
|
||||
set_target_properties(MiMoCompatTest PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build)
|
||||
Reference in new issue
Block a user