|
jeffhoye
|
 |
« on: 12. December 2011, 08:42:09 pm » |
|
Hi guys, I've spent the last ~6 months trying to get Xith3D running on my dev box, and have finally narrowed down the problem. When I run most Xith3D programs, my graphics drivers crash (black screen for a few seconds), and this error appears in the Windows Event Viewer
Display driver amdkmdap stopped responding and has successfully recovered.
Here's a very simple program that exposes the problem:
public class XithTest extends RenderLoop {
public XithTest() { Xith3DEnvironment env = new Xith3DEnvironment(this);
Canvas3D canvas = Canvas3DFactory.createWindowed(800, 600, "Multipass Rendering");
env.addCanvas(canvas);
BaseRenderPassConfig paraPassConfig = new BaseRenderPassConfig( ProjectionPolicy.PERSPECTIVE_PROJECTION); env.addBranchGraph(createParallelScene(), paraPassConfig); }
private BranchGroup createParallelScene() { Point3f[] vertices = new Point3f[] { new Point3f(1, -1, 0), new Point3f(1, 1, 0), new Point3f(-1, 1, 0) }; final TriangleArray geom = new TriangleArray(vertices.length); geom.makeInterleaved(Geometry.COORDINATES, false, null, null); // geom.setOptimization( Optimization.USE_DISPLAY_LISTS ); geom.setCoordinates(0, vertices); Shape3D rect = new Shape3D(geom);
return (new BranchGroup(rect));
}
public static void main(String[] args) { System.out.println(System.getProperties()); XithTest rl = new XithTest(); rl.begin(); } }
Ok, so the interesting thing is that it works fine if I un-comment this: // geom.setOptimization( Optimization.USE_DISPLAY_LISTS );
My setup: AMD 4780x2 Vista 64-bit Java(TM) SE Runtime Environment java.vm.version=20.4-b02 Also tried the 64-bit runtime Xith3D from svn r1851 Tried lwjgl in Xith3D repository, and also newest version (2.8.2) Drivers are up to date; any 3D intensive games that I run work well. Any lwjgl programs I've tried work fine.
I've spent several days attempting to debug/fix the problem from the driver side, but I've exhausted all the advice I could find online on Graphics Card/Driver forums. The strange thing is that I've gotten it to work a few times, only to find it stop working after a few days. A few months back, I posted a less specific problem on this forum (that causes the same issue). At the time, updating the drivers seemed to fix it -- but a few days later the problem returned.
I'm very excited to get Xith3D working with my game, so I would really appreciate any help.
Can you think of any reason that geometry without Optimization.USE_DISPLAY_LISTS causes the driver crash? The problem is very pervasive -- any Geometry that uses Quad doesn't use that optimization and therefore causes the crash. I'm not very skilled with lwjgl, but if you can post a simple program that may reproduce the problem there, I'd be happy to take it up with them, if we can show the problem is in lwjgl.
Thanks in advance! -Jeff
|