From 082478cdb636d5680a5213ad2d3e8458c0a16edc Mon Sep 17 00:00:00 2001 From: tzdwindows 7 <3076584115@qq.com> Date: Mon, 13 Oct 2025 10:56:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(render):=20=E5=AE=9E=E7=8E=B0=E9=AB=98?= =?UTF-8?q?=E6=80=A7=E8=83=BDOpenGL=E6=B8=B2=E6=9F=93=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加ModelGLPanel类支持离屏OpenGL渲染 - 集成LWJGL3.3.6版本并更新相关依赖 - 实现模型树节点转换功能 - 添加纹理读取与显示错误处理机制 - 引入CommonMark库支持Markdown解析 -优化物理系统注释信息 - 禁用部分调试日志输出 - 添加测试用例TestModelGLPanel --- build.gradle | 18 +- .../vivid2D/render/ModelGLPanel.java | 379 ++++++++++++++++++ .../vivid2D/render/ModelRender.java | 2 +- .../vivid2D/render/model/Model2D.java | 9 + .../vivid2D/render/model/ModelPart.java | 9 + .../vivid2D/render/model/util/Mesh2D.java | 3 +- .../render/model/util/PhysicsSystem.java | 2 +- .../vivid2D/render/model/util/Texture.java | 2 - .../vivid2D/test/TestModelGLPanel.java | 29 ++ src/main/resources/vivid2D/Vivid2D.png | Bin 0 -> 59800 bytes 10 files changed, 440 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/chuangzhou/vivid2D/render/ModelGLPanel.java create mode 100644 src/main/java/com/chuangzhou/vivid2D/test/TestModelGLPanel.java create mode 100644 src/main/resources/vivid2D/Vivid2D.png diff --git a/build.gradle b/build.gradle index 923e960..f8d1001 100644 --- a/build.gradle +++ b/build.gradle @@ -40,6 +40,7 @@ dependencies { testImplementation platform('org.junit:junit-bom:5.10.0') testImplementation 'org.junit.jupiter:junit-jupiter' + implementation 'org.commonmark:commonmark:0.24.0' implementation 'org.commonjava.googlecode.markdown4j:markdown4j:2.2-cj-1.1' implementation 'com.google.code.gson:gson:2.8.9' @@ -81,13 +82,16 @@ dependencies { implementation 'com.github.javaparser:javaparser-core:3.25.1' implementation 'com.1stleg:jnativehook:2.1.0' implementation 'org.json:json:20230618' - implementation 'org.lwjgl:lwjgl:3.3.1' - implementation 'org.lwjgl:lwjgl-stb:3.3.3' - implementation 'org.lwjgl:lwjgl-glfw:3.3.1' - implementation 'org.lwjgl:lwjgl-opengl:3.3.1' - implementation 'org.lwjgl:lwjgl:3.3.1:natives-windows' - implementation 'org.lwjgl:lwjgl-glfw:3.3.1:natives-windows' - implementation 'org.lwjgl:lwjgl-opengl:3.3.1:natives-windows' + implementation 'org.lwjgl:lwjgl:3.3.6' + implementation 'org.lwjgl:lwjgl-stb:3.3.6' + implementation 'org.lwjgl:lwjgl-glfw:3.3.6' + implementation 'org.lwjgl:lwjgl-opengl:3.3.6' + implementation 'org.lwjgl:lwjgl-jawt:3.3.5' + + runtimeOnly 'org.lwjgl:lwjgl:3.3.6:natives-windows' + runtimeOnly 'org.lwjgl:lwjgl-glfw:3.3.6:natives-windows' + runtimeOnly 'org.lwjgl:lwjgl-opengl:3.3.6:natives-windows' + runtimeOnly 'org.lwjgl:lwjgl-stb:3.3.6:natives-windows' implementation 'com.badlogicgames.gdx:gdx:1.12.1' implementation 'org.joml:joml:1.10.7' implementation 'org.bytedeco:javacv-platform:1.5.7' diff --git a/src/main/java/com/chuangzhou/vivid2D/render/ModelGLPanel.java b/src/main/java/com/chuangzhou/vivid2D/render/ModelGLPanel.java new file mode 100644 index 0000000..62e0f96 --- /dev/null +++ b/src/main/java/com/chuangzhou/vivid2D/render/ModelGLPanel.java @@ -0,0 +1,379 @@ +package com.chuangzhou.vivid2D.render; + +import com.chuangzhou.vivid2D.render.model.Model2D; +import org.lwjgl.glfw.*; +import org.lwjgl.opengl.GL; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL13; +import org.lwjgl.system.MemoryUtil; + +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.nio.ByteBuffer; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.atomic.AtomicReference; + +/** + * 修复版高性能 OpenGL 渲染面板 + */ +public class ModelGLPanel extends JPanel { + + private final AtomicReference modelRef = new AtomicReference<>(); + private long windowId; + private volatile boolean running = true; + private Thread renderThread; + private final int width; + private final int height; + + private BufferedImage currentFrame; + private boolean contextInitialized = false; + private final CompletableFuture contextReady = new CompletableFuture<>(); + private final String modelPath; + + /** + * 构造函数:使用模型路径 + */ + public ModelGLPanel(String modelPath, int width, int height) { + this.modelPath = modelPath; + this.width = width; + this.height = height; + initialize(); + } + + /** + * 构造函数:使用已加载模型 + */ + public ModelGLPanel(Model2D model, int width, int height) { + this.modelPath = null; + this.width = width; + this.height = height; + this.modelRef.set(model); + initialize(); + } + + private void initialize() { + setLayout(new BorderLayout()); + setPreferredSize(new Dimension(width, height)); + + // 初始化 GLFW + if (!GLFW.glfwInit()) { + throw new RuntimeException("无法初始化 GLFW"); + } + + // 创建渲染线程 + startRendering(); + } + + /** + * 创建离屏 OpenGL 上下文 + */ + private void createOffscreenContext() throws Exception { + // 设置窗口提示 + GLFW.glfwDefaultWindowHints(); + GLFW.glfwWindowHint(GLFW.GLFW_VISIBLE, GLFW.GLFW_FALSE); + GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MAJOR, 3); + GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_VERSION_MINOR, 3); + GLFW.glfwWindowHint(GLFW.GLFW_OPENGL_PROFILE, GLFW.GLFW_OPENGL_CORE_PROFILE); + GLFW.glfwWindowHint(GLFW.GLFW_OPENGL_FORWARD_COMPAT, GL11.GL_TRUE); + GLFW.glfwWindowHint(GLFW.GLFW_SAMPLES, 4); + + // 创建离屏窗口 + windowId = GLFW.glfwCreateWindow(width, height, "Offscreen Render", MemoryUtil.NULL, MemoryUtil.NULL); + if (windowId == MemoryUtil.NULL) { + throw new Exception("无法创建离屏 OpenGL 上下文"); + } + + // 设置为当前上下文并初始化 + GLFW.glfwMakeContextCurrent(windowId); + GL.createCapabilities(); + + // 初始化 OpenGL 状态 + GL11.glEnable(GL11.GL_DEPTH_TEST); + + // 检查是否支持多重采样 + if (GL.getCapabilities().OpenGL13) { + GL11.glEnable(GL13.GL_MULTISAMPLE); + System.out.println("多重采样已启用"); + } else { + System.out.println("不支持多重采样,跳过启用"); + } + + GL11.glViewport(0, 0, width, height); + + ModelRender.initialize(); + + contextInitialized = true; + + // 在正确的上下文中加载模型 + loadModelInContext(); + + // 通知上下文已准备就绪 + contextReady.complete(null); + } + + /** + * 在 OpenGL 上下文中加载模型 + */ + private void loadModelInContext() { + try { + if (modelPath != null) { + Model2D model = Model2D.loadFromFile(modelPath); + modelRef.set(model); + System.out.println("模型加载成功: " + modelPath); + } + } catch (Exception e) { + System.err.println("模型加载失败: " + e.getMessage()); + e.printStackTrace(); + + // 创建错误模型或使用默认模型 + createErrorModel(); + } + } + + /** + * 创建错误模型作为回退 + */ + private void createErrorModel() { + try { + // 这里可以创建一个简单的默认模型 + // 或者保持 modelRef 为 null,在渲染时显示错误信息 + System.out.println("使用默认错误模型"); + } catch (Exception e) { + System.err.println("创建错误模型失败: " + e.getMessage()); + } + } + + /** + * 启动渲染线程 + */ + private void startRendering() { + renderThread = new Thread(() -> { + try { + createOffscreenContext(); + + // 等待上下文就绪后再开始渲染循环 + contextReady.get(); + + // 高性能渲染循环 + while (running && !GLFW.glfwWindowShouldClose(windowId)) { + renderFrame(); + + // 控制帧率 + try { + Thread.sleep(1000 / 60); // 60 FPS + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + cleanup(); + } + }); + + renderThread.setDaemon(true); + renderThread.setName("GL-Render-Thread"); + renderThread.start(); + } + + /** + * 渲染单帧并读取到 BufferedImage + */ + private void renderFrame() { + if (!contextInitialized || windowId == 0) return; + + // 确保在当前上下文中 + GLFW.glfwMakeContextCurrent(windowId); + + Model2D currentModel = modelRef.get(); + if (currentModel != null) { + try { + // 清除缓冲区 + GL11.glClearColor(0.18f, 0.18f, 0.25f, 1f); + GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); + + // 渲染模型 + ModelRender.render(1.0f / 60f, currentModel); + + // 读取像素数据到 BufferedImage + readPixelsToImage(); + } catch (Exception e) { + System.err.println("渲染错误: " + e.getMessage()); + renderErrorFrame(e.getMessage()); + } + } else { + // 没有模型时显示默认背景 + renderDefaultBackground(); + } + + // 在 Swing EDT 中更新显示 + SwingUtilities.invokeLater(this::repaint); + } + + /** + * 渲染错误帧 + */ + private void renderErrorFrame(String errorMessage) { + GL11.glClearColor(0.3f, 0.1f, 0.1f, 1f); + GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); + readPixelsToImage(); + + // 创建错误图像 + BufferedImage errorImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + Graphics2D g2d = errorImage.createGraphics(); + g2d.setColor(Color.DARK_GRAY); + g2d.fillRect(0, 0, width, height); + g2d.setColor(Color.RED); + g2d.drawString("渲染错误: " + errorMessage, 10, 20); + g2d.dispose(); + currentFrame = errorImage; + } + + /** + * 渲染默认背景 + */ + private void renderDefaultBackground() { + GL11.glClearColor(0.1f, 0.1f, 0.15f, 1f); + GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); + readPixelsToImage(); + } + + /** + * 读取 OpenGL 像素数据到 BufferedImage + */ + private void readPixelsToImage() { + try { + ByteBuffer buffer = ByteBuffer.allocateDirect(width * height * 4); + GL11.glReadPixels(0, 0, width, height, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer); + + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + + // 转换像素数据 + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + int i = (x + (height - y - 1) * width) * 4; // 翻转 Y 轴 + + int r = buffer.get(i) & 0xFF; + int g = buffer.get(i + 1) & 0xFF; + int b = buffer.get(i + 2) & 0xFF; + + int rgb = (r << 16) | (g << 8) | b; + image.setRGB(x, y, rgb); + } + } + + currentFrame = image; + } catch (Exception e) { + System.err.println("读取像素数据错误: " + e.getMessage()); + // 创建错误图像 + BufferedImage errorImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + Graphics2D g2d = errorImage.createGraphics(); + g2d.setColor(Color.BLACK); + g2d.fillRect(0, 0, width, height); + g2d.setColor(Color.RED); + g2d.drawString("像素读取失败", 10, 20); + g2d.dispose(); + currentFrame = errorImage; + } + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + + if (currentFrame != null) { + // 绘制当前帧到面板 + g.drawImage(currentFrame, 0, 0, getWidth(), getHeight(), null); + } else { + // 显示加载中信息 + g.setColor(Color.DARK_GRAY); + g.fillRect(0, 0, getWidth(), getHeight()); + g.setColor(Color.WHITE); + g.drawString("初始化中...", getWidth() / 2 - 30, getHeight() / 2); + } + + // 如果模型为空,显示提示 + if (modelRef.get() == null) { + g.setColor(Color.YELLOW); + g.drawString("模型未加载", 10, 20); + } + } + + /** + * 设置模型(线程安全) + */ + public void setModel(Model2D model) { + // 等待上下文就绪后再设置模型 + contextReady.thenRun(() -> { + modelRef.set(model); + System.out.println("模型已更新"); + }); + } + + /** + * 获取当前渲染的模型 + */ + public Model2D getModel() { + return modelRef.get(); + } + + /** + * 重新设置面板大小 + */ + public void resize(int newWidth, int newHeight) { + setPreferredSize(new Dimension(newWidth, newHeight)); + revalidate(); + + // 在渲染线程中更新视口 + contextReady.thenRun(() -> { + if (contextInitialized && windowId != 0) { + GLFW.glfwMakeContextCurrent(windowId); + GL11.glViewport(0, 0, newWidth, newHeight); + + // 重新创建帧缓冲图像 + currentFrame = null; + } + }); + } + + /** + * 等待渲染上下文准备就绪 + */ + public CompletableFuture waitForContext() { + return contextReady; + } + + /** + * 检查是否正在运行 + */ + public boolean isRunning() { + return running && contextInitialized; + } + + /** + * 清理资源 + */ + public void dispose() { + running = false; + if (renderThread != null) { + try { + renderThread.join(2000); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + cleanup(); + } + + private void cleanup() { + if (windowId != 0) { + GLFW.glfwDestroyWindow(windowId); + windowId = 0; + } + GLFW.glfwTerminate(); + System.out.println("OpenGL 资源已清理"); + } +} \ No newline at end of file diff --git a/src/main/java/com/chuangzhou/vivid2D/render/ModelRender.java b/src/main/java/com/chuangzhou/vivid2D/render/ModelRender.java index dd90b79..e40b45f 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/ModelRender.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/ModelRender.java @@ -792,7 +792,7 @@ public final class ModelRender { private static void checkGLError(String op) { int e = GL11.glGetError(); if (e != GL11.GL_NO_ERROR) { - logger.error("OpenGL error during {}: {}", op, getGLErrorString(e)); + //logger.error("OpenGL error during {}: {}", op, getGLErrorString(e)); } } diff --git a/src/main/java/com/chuangzhou/vivid2D/render/model/Model2D.java b/src/main/java/com/chuangzhou/vivid2D/render/model/Model2D.java index bfc9b82..8eff6ec 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/model/Model2D.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/model/Model2D.java @@ -1,5 +1,6 @@ package com.chuangzhou.vivid2D.render.model; +import javax.swing.tree.DefaultMutableTreeNode; import com.chuangzhou.vivid2D.render.model.data.ModelData; import com.chuangzhou.vivid2D.render.model.data.ModelMetadata; import com.chuangzhou.vivid2D.render.model.util.*; @@ -350,6 +351,14 @@ public class Model2D { } } + public DefaultMutableTreeNode toTreeNode() { + DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(this.name != null ? this.name : "模型"); + for (ModelPart part : parts) { + rootNode.add(part.toTreeNode()); + } + return rootNode; + } + /** * 捕获当前模型状态到姿态 */ diff --git a/src/main/java/com/chuangzhou/vivid2D/render/model/ModelPart.java b/src/main/java/com/chuangzhou/vivid2D/render/model/ModelPart.java index b34035a..6427c65 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/model/ModelPart.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/model/ModelPart.java @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import javax.swing.tree.DefaultMutableTreeNode; /** * 2D模型部件,支持层级变换和变形器 @@ -133,6 +134,14 @@ public class ModelPart { return new ArrayList<>(children); } + public DefaultMutableTreeNode toTreeNode() { + DefaultMutableTreeNode node = new DefaultMutableTreeNode(this.name != null ? this.name : "部件"); + for (ModelPart child : children) { + node.add(child.toTreeNode()); + } + return node; + } + /** * 根据名称查找子部件 */ diff --git a/src/main/java/com/chuangzhou/vivid2D/render/model/util/Mesh2D.java b/src/main/java/com/chuangzhou/vivid2D/render/model/util/Mesh2D.java index 48beeb8..2822963 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/model/util/Mesh2D.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/model/util/Mesh2D.java @@ -1,6 +1,5 @@ package com.chuangzhou.vivid2D.render.model.util; -import com.chuangzhou.vivid2D.render.model.ModelPart; import org.joml.Vector2f; import java.nio.FloatBuffer; @@ -503,7 +502,7 @@ public class Mesh2D { org.lwjgl.system.MemoryUtil.memFree(fb); } } else { - logger.warn("警告: 着色器中未找到 uModelMatrix 或 uModel uniform"); + //logger.warn("警告: 着色器中未找到 uModelMatrix 或 uModel uniform"); } // 绘制 diff --git a/src/main/java/com/chuangzhou/vivid2D/render/model/util/PhysicsSystem.java b/src/main/java/com/chuangzhou/vivid2D/render/model/util/PhysicsSystem.java index f300d64..0d0f83c 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/model/util/PhysicsSystem.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/model/util/PhysicsSystem.java @@ -17,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap; * - 在碰撞处理里同时更新位置与速度(冲量响应),并避免在碰撞后覆盖冲量 * - 约束迭代次数可调,布料等需要多个迭代(默认 3) * - * @author tzdwindows 7 (modified) + * @author tzdwindows 7 */ public class PhysicsSystem { // ==================== 物理参数 ==================== diff --git a/src/main/java/com/chuangzhou/vivid2D/render/model/util/Texture.java b/src/main/java/com/chuangzhou/vivid2D/render/model/util/Texture.java index b6d160c..33a59bb 100644 --- a/src/main/java/com/chuangzhou/vivid2D/render/model/util/Texture.java +++ b/src/main/java/com/chuangzhou/vivid2D/render/model/util/Texture.java @@ -6,14 +6,12 @@ import org.lwjgl.opengl.GL12; import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL14; import org.lwjgl.opengl.GL30; -import org.lwjgl.opengl.GL45; import org.lwjgl.stb.STBImage; import org.lwjgl.stb.STBImageWrite; import org.lwjgl.system.MemoryUtil; import java.io.File; import java.nio.ByteBuffer; -import java.nio.FloatBuffer; import java.nio.IntBuffer; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/chuangzhou/vivid2D/test/TestModelGLPanel.java b/src/main/java/com/chuangzhou/vivid2D/test/TestModelGLPanel.java new file mode 100644 index 0000000..1d8e256 --- /dev/null +++ b/src/main/java/com/chuangzhou/vivid2D/test/TestModelGLPanel.java @@ -0,0 +1,29 @@ +package com.chuangzhou.vivid2D.test; + +import com.chuangzhou.vivid2D.render.ModelGLPanel; +import com.chuangzhou.vivid2D.render.model.Model2D; + +import javax.swing.*; + +public class TestModelGLPanel { + + private static final String MODEL_PATH = "C:\\Users\\Administrator\\Desktop\\trump_texture.model"; + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + JFrame frame = new JFrame("ModelGLPanel Demo"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + //com.chuangzhou.vivid2D.render.model.Model2D model = com.chuangzhou.vivid2D.render.model.Model2D.loadFromFile(MODEL_PATH); + ModelGLPanel glPanel = null; + try { + Model2D model2D = new Model2D("Hi"); + glPanel = new ModelGLPanel(MODEL_PATH, 800, 600); + } catch (Exception e) { + throw new RuntimeException(e); + } + frame.add(glPanel); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + }); + } +} diff --git a/src/main/resources/vivid2D/Vivid2D.png b/src/main/resources/vivid2D/Vivid2D.png new file mode 100644 index 0000000000000000000000000000000000000000..a8dcfaf9246f3c933408dc5df98d4e858ccc364a GIT binary patch literal 59800 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