Any awesome Panda3D demos - terrain/clouds/objects?

I don’t mean to start any fires here, but does anyone have a mind blowing Panda3D demo that includes large terrains plus clouds and objects on the terrain? Ideally I need terrains based on real world data. I need static cameras, probably trees (probably not grass), a lot of static objects and quite a few dynamic, slow moving objects.

I don’t need full physics; just basic solid body collision to ensure objects don’t get placed beneath the terrain. Objects will follow pre-defined paths or be positioned based on data received from network connections.

I’m looking at various engines for a simulation tech demo for training but I don’t think Panda3D can handle my requirements. Any thoughts? Cheers

Sure, have you ever played Pirates of the Caribbean Online? :slight_smile:

I do plan to create a sample program showing infinite terrain, maybe clouds and volumetric effects once (but as I didn’t find enough time for it yet, I only managed to get this far:)

Collision sounds like overkill for terrain placement - if you generate terrain based on heightfield terrain (which is probably the way to go as you say you’re working with real-world data), you can simply query the heightmap value at the position of the object. GeoMipTerrain provides an easy getElevation method for that.

Watch out for a common misunderstanding - people often look at what demos are around and if there are no good-looking ones (or ones matching what they want to do), they think the engine can’t handle it. However, it is almost entirely in the hands of the programmers and artists - it’s not up to the engine. The engine merely helps you in doing that easier - and I assure you that Panda3D can handle what you have in mind.

a static camera?? that sounds sweet. cause it allows you to optimize a terrain mesh based on the camera’s position. including perfect LOD-level for all objects, plus you can optimize the geometry batches into a few large chunks.
clouds may require some fiddling but the rest (especially if the camera is static) can be handled by panda if you follow the usual rule for optimizing scenes. if your camrea really is static as in fixed-point (rotation only) you can even work with a real image as background. setting up mixed reality. but even for 3d-backgrounds, landscape to the horizon should be no big deal if properly set up.

handling your request is not panda-specific. it’s more the hardware you run it on and the way you set up your scene. panda as few automated optimisation mechanism but allows you do optimize a lot manually if you need to.

I have played Pirates and I wasn’t impressed. Maybe my PC wasn’t up to it but the game didn’t impress me.

Thanks - yes I should have mentioned that I could query the heightmap for object placement. I think I was implying that but I didn’t word my post correctly.

I need large terrains and I need realistic far plane (can’t remember the exact words); I need realistic visible distances.

well if your camera is static. or at least moving in an limited area only, you can have as much drawing distance as you like. switching to a high-res skybox in the distance. or you pre-render the entire static parts of the scene into a skybox.
or you take real world footage skyboxes like some rc simulators do.
if done right. it looks rather impressive.

you can also use a star-circular shaped terrian mesh. premade with some 3d-editor. this way you can have dozens of miles viewing distance while keeping details as small as a grain of sand. for static camera’s the level of realism is almost unlimited. even on less powerful hardware

My planet generator/render is not really very nice yet, but it has some nice effects:

Panda can do much nicer looking things very easily if you don’t have the scale precision issues I had from working with entire planets and a camera moving a huge amount. (My main challenge what allowing vast camera movements, not making fancy effects)

If you really just have a static cameras, you can have very nice stuff. High quality premade shadow maps and lighting. You can do particle based clouds, but if you want very high quality, because of the static cameras, you can have a huge number of particles and preprocess them for accurate lighting and render to textures. If you need dynamic clouds, there are still plenty of tricks you can use.

Panda gives you full control of shaders, so there aren’t really any effects you can’t do. Some things are harder than others of course (And some that have a bit of speed overhead from python). Making a clone of CryEngine 3 would be hard, the graphical effects are theoretically achievable. There is even a deferred shading sample if you want to go there…

Most of the demos you see around are sample that are intended to be simple to understand, or explain some aspect of the engine. You are mostly looking for fancy shaders, models and textures, which really has nothing to do with the game engine.

I would say that panda is laking in a fancy looking terrain demo, but thats not because it can’t do it. It’s just not done yet. The procedural jungle project is pretty nice though: … ngleengine
but it is nowhere near the limit of whats possible.

is there some sort of code somewhere, where i could put my hands on?

Want another one? :slight_smile: … 009-67.jpg

But I’m afraid that it’s not finished yet. It will become a sample program as soon as it’s ready.

actualy im more interested in water(shader, moder and etc).
And this terrain texturing.
im also doing things with the terrain, so your code would be very useful :slight_smile:

(p.s trees look awful :smiley: )

I did not use any shaders for the water. It’s just a single plane with reflection.
I didn’t use shaders for the terrain either. This is my multitexturing code:

thakns, i will look at this after work.
i think i will hawe lots of questions :slight_smile: couse started programming 3d just last week :slight_smile:

do you use impostors here by any chance?
Oh and are you making this as a replacement for Roaming Ralph terrain? Because then I should remove it from my todo.

No. I didn’t use impostors, no shaders, no LOD, no billboards, and am not making it as Roaming Ralph terrain replacement.

ok i figured it out how to make terrain like that :slight_smile:

  1. use some heightfield with LT3D and model it with geomipterrain
  2. make some attributes map
  3. make some alpha maps for the attribute map
    4 apply aplha maps to the terrain model (u can skip first alpha map and just apply firtst texture to whole area)
  4. apply textures
    6 generate texture map and aply it.
    is that correct? or did i forget something? :slight_smile:
    i also tried this method, but havent got much time so it looks crappy