feat(render): 实现摄像机系统和文字渲染功能

- 添加 Camera 类,支持位置、缩放、Z轴控制- 在 ModelRender 中集成摄像机投影矩阵计算
- 实现屏幕坐标到世界坐标的转换方法
- 添加默认文字渲染器和字体加载逻辑
- 在渲染面板中添加摄像机控制的鼠标手势支持
- 支持通过鼠标滚轮进行摄像机缩放操作
- 添加摄像机状态显示和调试信息渲染
- 实现多选框渲染逻辑的重构和优化
-修复坐标系变换相关的边界框计算问题
- 增加摄像机启用/禁用快捷键支持cyon 等- 添加对 Linux 和 macOS 的 LWJGL 原生库支持
- 将任务定义方式从 task 改为 tasks.register 以提高性能
- 更新部分 JavaFX 和其他图形库的版本
-优化依赖项排列顺序,增强可读性与逻辑分组
This commit is contained in:
tzdwindows 7
2025-10-24 20:05:40 +08:00
parent 2278c5d0c7
commit 210ac72a38
12 changed files with 1911 additions and 312 deletions

View File

@@ -37,13 +37,15 @@ public class ModelTest {
// Test 3: Test compressed file operations with textures
testCompressedFileOperationsWithTexture();
//testModelSaveLoadIntegrity(model, "test_model.vmdl")
// Other existing tests...
testAnimationSystem();
testPhysicsSystem();
testComplexTransformations();
testPerformance();
Model2D model = createTestModel();
printModelState(model);
//testAnimationSystem();
//testPhysicsSystem();
//testComplexTransformations();
//testPerformance();
//Model2D model = createTestModel();
//printModelState(model);
} finally {
// Cleanup OpenGL
cleanupOpenGL();
@@ -311,7 +313,6 @@ public class ModelTest {
System.out.println("OpenGL initialized successfully");
System.out.println("OpenGL Version: " + org.lwjgl.opengl.GL11.glGetString(org.lwjgl.opengl.GL11.GL_VERSION));
glInitialized = true;
} catch (Exception e) {
System.err.println("Failed to initialize OpenGL: " + e.getMessage());
// Continue without OpenGL for other tests
@@ -581,7 +582,6 @@ public class ModelTest {
try {
// Load model
Model2D model = Model2D.loadFromFile("test_character.model");
System.out.println("Testing animation system:");
// Test parameter-driven animation