最近在做一些有关于java3D方面的东东。
突然有个想法把Java3D 的场景保存成图片来。可是在保存的过程中出现了点问题。
javax.media.j3d.IllegalRenderingStateException: GL_VERSION
at javax.media.j3d.NativePipeline.createNewContext(Native Method)
at javax.media.j3d.NativePipeline.createNewContext(NativePipeline.java:2736)
at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4895)
at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2421)
at javax.media.j3d.Renderer.doWork(Renderer.java:895)
at javax.media.j3d.J3dThread.run(J3dThread.java:256)
Rendered to offscreen
DefaultRenderingErrorListener.errorOccurred:
CONTEXT_CREATION_ERROR: Renderer: Error creating Canvas3D graphics context
graphicsDevice = Win32GraphicsDevice[screen=0]
canvas = javax.media.j3d.Canvas3D[canvas0,0,0,400x400,invalid]
Saved image.
Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)
程序代码的:
protected void onSaveImage() {
System.out.println("application stop this !!!");
offScreenCanvas3D.renderOffScreenBuffer();
offScreenCanvas3D.waitForOffScreenRendering();
System.out.println("Rendered to offscreen");
try {
FileOutputStream fileOut = new FileOutputStream("C:\\image.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileOut);
encoder.encode(imageComponent.getImage());
fileOut.flush();
fileOut.close();
} catch (Exception e) {
System.err.println("Failed to save image: " + e);
}
这是程序代码的片段:
分享到:
相关推荐
在本主题中,我们将深入探讨如何在Qt框架中利用Canvas3D和QML3D以及Qt3D来创建丰富的3D图形效果。Qt是一个强大的跨平台应用开发框架,支持多种编程语言,包括C++和QML。Canvas3D是Qt中的一个模块,它允许开发者在...
在QT Canvas 3D中集成three.js意味着开发者可以利用three.js提供的丰富API来操作3D图形,比如场景的创建、物体的添加、光源的设置、相机控制和动画等,使QT的3D开发工作变得更加简单和高效。 QT Canvas 3D的未来...
【标题】基于Three.js的炫酷Canvas 3D线条动画特效 在当今互联网技术日新月异的时代,WebGL和JavaScript库如Three.js为开发者提供了创建互动式3D图形的强大工具。Three.js是一个广泛使用的开源JavaScript库,它使得...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行2D和3D图形绘制,提供了丰富的API来创建交互式和动态的视觉效果。在这个特定的案例中,"HTML5 Canvas 3D跳动Loading加载动画-可调节参数"是一个...
此外,WebGL是一种基于OpenGL标准的JavaScript API,它允许开发者在Canvas上进行硬件加速的3D图形渲染,但在这个案例中,我们并未直接使用WebGL,而是通过2D渲染上下文实现了3D效果。 弹性波浪的实现涉及到数学公式...
"canvas 3d动画应用"的标题表明我们将探讨如何利用Canvas进行3D动画的实现。在这个主题中,我们将深入理解Canvas API,3D变换原理,以及如何创建动态的、交互式的3D场景。 首先,Canvas API提供了JavaScript接口,...
在这个案例中,canvas被用来创建3D文字云,这意味着我们需要用到canvas的路径绘制和变换方法,如`beginPath()`、`moveTo()`、`lineTo()`、`rotate()`等,以及文本相关的`fillText()`和`strokeText()`。 3D效果的...
Canvas API本身并不直接支持3D图形,但我们可以利用WebGL(Web Graphics Library)来实现。WebGL是一种基于OpenGL标准的JavaScript API,它允许在浏览器中进行硬件加速的3D图形渲染。 1. **WebGL上下文**:首先,...
HTML5 Canvas是HTML5标准中的一个关键特性,它允许开发者在网页上进行动态图形绘制,提供了丰富的2D和3D图形处理能力。本项目“html5 canvas 3D海洋粒子波浪动画特效”正是利用这一特性,通过JavaScript编程实现了一...
【Canvas 3D卡片旋转特效】是一个网页特效资源,它利用了HTML5的Canvas元素以及相关的JavaScript技术,为网页提供了一种引人注目的视觉效果。这个特效代码旨在实现3D旋转的卡片展示,通常用于增强用户体验,比如产品...
然而,通过巧妙地运用Canvas和一些数学原理,我们也可以实现3D效果,比如3D旋转木马式的图片展示。这种效果通常用于创建引人入胜的用户界面,使应用更加生动有趣。 3D旋转木马效果涉及到的主要技术点包括: 1. **...
首先,3D效果通常涉及到矩阵变换,例如旋转、缩放和平移,这些在Canvas中可以通过`context.transform()`和`context.setTransform()`等方法实现。在这个特效中,开发者可能使用了多个连续的旋转和平移操作来模拟螺旋...
首先,要创建3D效果,我们需要理解Canvas中的二维绘图命令以及如何通过数学和透视原理来模拟3D空间。这通常涉及到坐标变换、投影和视口设置。在JavaScript中,我们可以使用矩阵运算来处理这些变换,以达到预期的3D...
例如,它可能会设置canvas的尺寸,使其适应页面,或者调整其他元素的样式以配合3D场景的视觉效果。 最后,index.html文件是整个网页的入口点,它会引用Three.js库和其他JavaScript及CSS资源,同时包含一个canvas...
在本项目中,"原生js html5 canvas 3D云动画效果" 是一个利用JavaScript、HTML5的Canvas API和3D技术实现的创新性视觉效果。Canvas是HTML5的一个重要组成部分,它允许开发者在网页上进行动态图形绘制,而无需借助...
WebGL是一种基于OpenGL标准的JavaScript API,它为Canvas提供了硬件加速的3D图形渲染能力。在这个案例中,开发者可能并没有直接使用WebGL,而是通过Canvas 2D上下文进行复杂的数学计算和图形变换,模拟出3D烟花爆炸...
HTML5 Canvas 3D 倒计时爆炸特效
Canvas 3D 是一种利用JavaScript技术在Web浏览器中创建和展示3D图形的方法。它主要基于HTML5的Canvas元素,通过JavaScript API实现3D场景的渲染。这种技术为Web开发者提供了一种无需依赖任何插件就能构建交互式3D...
1、html5 2、地球旋转 3、canvas