Only one spatial visible at a time in the root node?

OK, not that I am getting frustrated, but I am. On my old laptop which was 32bit, openGL 1, my program ran just fine. Now on my laptop at home, 64bit, openGL 4, the whole thing is foo barred.

The gui node is working correctly, but the root node is only displaying one object at a time, and not necessarily the object nearest to the cam. It looks like it favors objects not very far, but not very close. And this limit is not in a piece of an object but in the whole object.

See the following (Sorry about the poor quality)
[video]http://youtu.be/Zjp8iyaiE1k[/video]

You will need to post some code.

I setup the nodes and lighting here.

[java]viewPort.setBackgroundColor(new ColorRGBA(.0f, .0f, 0.4f, 1f));
stateManager.detach(stateManager.getState(FlyCamAppState.class));//NEEDED, DO NOT MODIFY
DataHandler.cells = new Node();
DataHandler.players = new Node();
DataHandler.cells.setName(“cellsNode”);
DataHandler.players.setName(“playersNode”);
rootNode.attachChild(DataHandler.cells);
rootNode.attachChild(DataHandler.players);
AmbientLight ambient = new AmbientLight();
ambient.setColor(new ColorRGBA(.1f, .1f, .5f, 0.5f));//Light Blue
rootNode.addLight(ambient);
DirectionalLight sun = new DirectionalLight();
sun.setDirection((new Vector3f(-0.5f, -0.5f, -0.5f)).normalizeLocal());
sun.setColor(ColorRGBA.White);
rootNode.addLight(sun);[/java]

Cam and player object here:
[java]DataHandler.players.attachChild(new Node(“Player”));
Spatial player = assetManager.loadModel(“Models/basic_man/basic_man.j3o”);
player.scale(0.079323f);
DataHandler.player.playerNode = (Node) DataHandler.players.getChild(“Player”);
Material playerMat = new Material(assetManager, “Common/MatDefs/Light/Lighting.j3md”);
playerMat.setBoolean(“UseMaterialColors”, true);
ColorRGBA c = ColorRGBA.randomColor();
playerMat.setColor(“Ambient”, c);
playerMat.setColor(“Diffuse”, c);
player.setMaterial(playerMat);
DataHandler.player.playerNode.setLocalTranslation(0f, 1f, 0f);
DataHandler.player.playerNode.attachChild(player);
rootNode.attachChild(DataHandler.player.playerNode);
DataHandler.camNode = new CameraNode(“Camera Node”, cam);
cam.setFrustumPerspective(40, settings.getWidth() / settings.getHeight(), .01f, 10f);
DataHandler.camNode.setControlDir(ControlDirection.SpatialToCamera);
DataHandler.player.playerNode.attachChild(DataHandler.camNode);
DataHandler.camNode.setLocalTranslation(new Vector3f(-1.5f, 0.5f, 0f));
DataHandler.camNode.lookAt(DataHandler.player.playerNode.getLocalTranslation(), Vector3f.UNIT_Y);[/java]

What’s in DataHandler.cells?

Note also that your frustum settings look very strange. Is your intent really to clip everything outside 10 units?

I can tell you that what you are seeing is not at all normal, though. So something is odd about your scene setup but it’s hard to tell from what’s been provided so far.

Best bet: put together a simple test case that attempts to illustrate the problem. When it works fine then you can start adding things from your app until you figure out what breaks it.

DataHandler.cells is a node i.e. DataHandler.cells = new Node();

The reason the frustum was odd is because I was testing to see if it was the problem.

At this point I have cut my program down to the base code and still having the problem. I know it is something I did though because the JME3 Tests work.

Right now I am lost at what the problem is…

This is the code I am using to build my objects

[java]public Spatial loadBlockModel(int blockType) {

    Spatial s;
    if (blockType == Info.BLOCK_GROUND0) {
        s = assetManager.loadModel("Models/Land/Square.j3o");

    } else if (blockType == Info.BLOCK_GROUND1) {
        s = assetManager.loadModel("Models/Land/Square.j3o");
    } else if (blockType == Info.BLOCK_GROUND2) {
        s = assetManager.loadModel("Models/Land/Square.j3o");
    } else if (blockType == Info.BLOCK_WALL_NORMAL) {
        s = assetManager.loadModel("Models/Land/Square.j3o");
    } else if (blockType == Info.BLOCK_WALL_NORMAL_LONG) {
        s = assetManager.loadModel("Models/Land/Square.j3o");
    } else if (blockType == Info.BLOCK_CUBE) {
        s = assetManager.loadModel("Models/generic_cube/generic_cube.j3o");
    } else {
        s = assetManager.loadModel("Models/generic_cube/generic_cube.j3o");
    }
    Material boxMat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
    boxMat.setBoolean("UseMaterialColors", true);
    ColorRGBA c = ColorRGBA.randomColor();
    boxMat.setColor("Ambient", c);
    boxMat.setColor("Diffuse", c);
    s.setMaterial(boxMat);

    return s;
}[/java] 

The spatial gets added to a Cell node inside the DataHandler.cells node.

What if you replace the models with a JME box mesh + geometry? Maybe there is something wrong with the models.

OK, now I am inclined to ask what is the difference between my models and the Box meshes?
That did work, but why and why do my models work in openGL1 but not 4?

Errorus lighting attributes would be my bet, but even then they should not be transparent.

Alternativly invalid buffers, to like an additional byte somewhere or something similar, screwing with the gc driver)

Or, they have transforms that have not been applied or something so when you place them at 0,0,0 they are actually being drawn far away from 0,0,0 but the bounding box still thinks they are 0,0,0.

Or, maybe you have normal/bump mapping and no tangents.

Any of these things is likely. Do the models look ok if you load them in scene composer?

On my openGL 1.4 computer the models are visible and pure white solids. On my openGL 4 computer the models are wireframe. This is when I look at them in the scene viewer.

Here is the model file:
Model.zip

I would really like some help here, I have not found a fix.