feat: major engine overhaul - scene demo with lighting, sphere, ground
- Scene Demo: cube + sphere + ground plane with proper lighting - Audio: XAudio2 dynamic loading + WAV playback - Physics: expanded collision system - Renderer: improved pipeline with materials - UI: extended widget system - VisualScript: enhanced serializer + block interactions - ASM: optimized math/memory/profiling routines - Window: mouse input + scroll support
This commit is contained in:
1 parent
2653926d85
commit
0669d102ce
35 files changed
+1844
-314
No files matched your search
@@ -8,6 +8,8 @@
|
||||
|
||||
// 前向声明
|
||||
typedef struct Window Window;
|
||||
typedef struct GraphicsDevice GraphicsDevice;
|
||||
typedef struct Renderer Renderer;
|
||||
|
||||
// 引擎配置
|
||||
typedef struct {
|
||||
@@ -25,6 +27,7 @@ typedef struct {
|
||||
EngineConfig config;
|
||||
Window* window;
|
||||
void* renderer;
|
||||
GraphicsDevice* graphics_device;
|
||||
double delta_time;
|
||||
double total_time;
|
||||
int fps;
|
||||
@@ -55,8 +58,16 @@ typedef void (*EngineUpdateCallback)(Engine* engine, double delta_time);
|
||||
typedef void (*EngineRenderCallback)(Engine* engine);
|
||||
typedef void (*EngineKeyCallback)(Engine* engine, int key);
|
||||
typedef void (*EngineResizeCallback)(Engine* engine, int width, int height);
|
||||
typedef void (*EngineMouseMoveCallback)(Engine* engine, int x, int y);
|
||||
typedef void (*EngineMouseButtonCallback)(Engine* engine, int button, int pressed);
|
||||
|
||||
void engine_set_update_callback(Engine* engine, EngineUpdateCallback callback);
|
||||
void engine_set_render_callback(Engine* engine, EngineRenderCallback callback);
|
||||
void engine_set_key_callback(Engine* engine, EngineKeyCallback callback);
|
||||
void engine_set_resize_callback(Engine* engine, EngineResizeCallback callback);
|
||||
void engine_set_mouse_move_callback(Engine* engine, EngineMouseMoveCallback callback);
|
||||
void engine_set_mouse_button_callback(Engine* engine, EngineMouseButtonCallback callback);
|
||||
|
||||
// 子系统访问
|
||||
GraphicsDevice* engine_get_graphics_device(Engine* engine);
|
||||
Renderer* engine_get_renderer(Engine* engine);
|
||||
Reference in new issue
Block a user