Hi!
I have got following proble. Whenever I try to set a new Camera object to a renderer in an already running rendering loop, I get the Exception attached at the end of this message
I already tried to debug the code to get more information. The problem is the method switchMode in RenderRecord
public void switchMode(int mode) {
final GL gl = GLU.getCurrentGL();
if (!matrixValid || this.matrixMode != mode) {
gl.glMatrixMode(mode);
this.matrixMode = mode;
matrixValid = true;
}
}
matrixValid==true and my matrixMode == 0x1701 which is GL_PROJECTION parameter in the GL11 class...
gl.glMatrixMode(mode) is called, the NullPointerException is thrown.
Does anyone know why this happens? The strange thing is that if I call renderer.setCamera(camera) at the init process, everything is ok....
Thanks a lot,
Equilibrium
java.lang.NullPointerException
at org.lwjgl.opengl.GL11.glMatrixMode(GL11.java:1960)
at com.jme.scene.state.lwjgl.records.RendererRecord.switchMode(RendererRecord.java:57)
at com.jme.renderer.lwjgl.LWJGLCamera.doFrustumChange(LWJGLCamera.java:194)
at com.jme.renderer.lwjgl.LWJGLCamera.apply(LWJGLCamera.java:156)
at com.jme.renderer.lwjgl.LWJGLRenderer.setCamera(LWJGLRenderer.java:242)
at at.netcrystals.praxiteles.objects.PraxitelesCamera.makeActiveCamera(PraxitelesCamera.java:233)
at at.netcrystals.praxiteles.actions.MakeCameraActiveAction.performAction(MakeCameraActiveAction.java:17)
at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:589)
at org.netbeans.modules.openide.util.ActionsBridge.implPerformAction(ActionsBridge.java:83)
at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:64)
at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:585)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
[catch] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)