Sky

This is from jME v0.1.2


/*
      Sky - can have box or dome
      */
      SkyDome sd = new SkyDome(128F, 5F, 5F, 1.0F, 1.0F);
      sd.setTexture("sky.jpg");
      sd.setTextureSpeed(0.5F, 0.5F);
      sd.setDomeRotation(0.125F);
      camera.setSky(sd);



I haven't had the chance to look at jME 0.2 yet (because hopefully the lwjgl guys are looking at my error output from my matrox card), but don't think it has the Sky back yet.

If you want the terrain stuff as well I'll post it.

Sorry didn’t read it all here’s the whole thing as I said it only works with jME 0.1


   protected void initGame()
   {
      ffhm = new FaultFractalHeightMap(1025, 64, 0, 255, 0.15F);//create a heightmap
      gmap = new Geomipmap(ffhm, 17, camera);//controls rendering of heightmap
      ffhm.setHeightScale(0.5f); //reduce depths/heights

      float y = ffhm.getInterpolatedHeight(800.0F/2.0F, 800.0F/2.0F); //find height/y axis value for the x,z point

      //create the texture generator and supply the heightmap.
      pt = new ProceduralTexture(ffhm);
      pt.addTexture(new ImageIcon("1.jpg"), -128, 0, 128); //bottom areas
      pt.addTexture(new ImageIcon("2.jpg"), 0, 128, 255); //images to colour terrain
      pt.addTexture(new ImageIcon("3.jpg"), 128, 255, 384); //top areas
      pt.createTexture(128);
      gmap.setDetailTexture("cover.jpg", 64); //image to texture terrain

      /*
      Sky - can have box or dome
      */
      SkyDome sd = new SkyDome(128F, 5F, 5F, 1.0F, 1.0F);
      sd.setTexture("sky.jpg");
      sd.setTextureSpeed(0.5F, 0.5F);
      sd.setDomeRotation(0.125F);
      camera.setSky(sd);

      /*
      Water - can have Mesh or Plane
      */
      WaterPlane wp = new WaterPlane(2050, 50f, 0.25f); //size, base height, varience (from base height)
      wp.setColor(new Vector(1.0f,1.0f,1.0f)); //using a texture so want full brightness.
      wp.setTransparency(0.65f);
      wp.setTexture("water003.jpeg");
      wp.setWaveSpeed(0.05f); //how fast to rise and fall
      wp.setTextureAnimation(1.0f, 1.0f); //how fast to move in the x,z direction
      
      /*
      Lighting of terrain - will place sun in corner of terrain map & generate shadows
      */
      SlopeLighting sl = new SlopeLighting(ffhm, 1, 1, 0.6f, 0.9f, 10);
      //2nd + 3rd parameters describe direction of sun & 4th & 5th the intensity
      gmap.setLightMap(sl);
      



FaultFractalHeightMap + Geomipmap are obviously global & you need tofind some nice looking jpgs for water, sky, terrain, etc...

Ok thanks,

I got the terrain thing to work and the skydome works better now, but the only thing I need is a simple plane ( locale ) ( endless desert / ocean ).



How can I do this. ?

aah, my bad, simple locale was too short :slight_smile:

You shouldn’t need a simplelocale if you are using terrain.



jME 0.1 is very good to get nice stuff up. Mojo has redesigned the structure of jME & 0.2 is the new version but doesn’t have all the nice visual stuff back in it yet.

If you want a simple “infinite” plane, try making a simple locale with very large dimensions. You won’t slow anything down as it will be the same amount of vertices (4) no matter the size of the quad. The only thing that might get you into trouble is fill-rate, but that’s typically not a problem anymore on modern graphics cards.



As for skys, I will be adding sky box and sky domes around the same phase as terrain. Until then, the old jME base line is your best bet.

Where can I find the old baseline? I tried digging around the cvs attic, but there’s a maze of possible paths to follow…



I’m interested in trying to look at SkyBox and SkyDome.



Of course, maybe I should just leave it alone and wait for the new implementation.



-Mike

The old baseline has been removed after nearly every feature had been implemented and then some. However, I do have a copy here and if you truely want a copy of the skys (dome and box), I can send you a copy. They are completely incompatible with the new stuff though. We are planning a whole suite of atomospheric effects, but yes, currently there is nothing. Just let me know if you want to older classes, and I’ll be more than happy to send them to you.

No, I’ll go ahead and wait.



For now I’ve taken the exceedly lame approach of:



            Sphere skyDome = new Sphere("skybox", 40, 40, terrainwidth * 2);
            skyDome.setSolidColor(new ColorRGBA(0, 0, 1, 1));
            skyDome.setModelBound(new BoundingBox());
            skyDome.updateModelBound();
            Node skyScene = new Node("Sky");
            skyScene.attachChild(skyDome);
            skyScene.setForceView(true);



I don't think I'm clever enough to do it properly yet. :)

-Mike