Hello I need to make a ray to be visible for debugging. I have try it like this
[java]debugLines=new ArrayList<Geometry>();
for(int i=0;i<rays.size();i++)
{
debugLines.add(new Geometry("line"+i, new Line(rays.get(i).getOrigin(),
rays.get(i).getOrigin().add(rays.get(i).getDirection().normalize().mult(lungime)))));
Material mat=MaterialsBank.UNSHAEDED.clone();
mat.setColor("ColorMap", ColorRGBA.Blue);
debugLines.get(i).setMaterial(mat);
parent.attachChild(debugLines.get(i));
}[/java]
[java]public interface MaterialsBank
{
Material UNSHAEDED=new Material(MyGame.assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
Material LIGHTING=new Material(MyGame.assetManager, "Common/MatDefs/Light/Lighting.j3md");
Material PARTICLE=new Material(MyGame.assetManager, "Common/MatDefs/Misc/Particle.j3md");
// Material SOLID=new Material(MyGame.assetManager, "Common/MatDefs/Misc/SolidColor.j3md");
}[/java]
but i get this exception…
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.IllegalStateException: No material is set for Geometry: line0
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:802)
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:794)
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:794)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1117)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1168)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:254)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:149)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:182)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:223)
at java.lang.Thread.run(Unknown Source)
I think there is something wrong with my material
Thank you.
You’re better off managing the geometry and setting it’s material followed by adding it to the list…
sorry for the topic. problem solved. i must use ShowNormals.j3md insted of Unshaded.j3md
1 Like
The problem didn’t go away, only if you changed the loop. The stack-trace says that no material is set for the specific geometry.