Ooh, nice.
However... do you know how to do that, that efficently and well? I've certainly got no idea. And I've never seen anything that detailed and varied generated and rendered in realtime, either.
Some New Planets
Moderator: pyramid
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Well, he's not sharing the code...
http://www.fl-tw.com/Infinity/infinity_faq.php#q5
...but he describes a lot of what he does in general terms in his journal pages (previous link). Basically, he projects a cube onto a sphere, for a planet, and then subdivides the 6 squares by powers of two. From full size to fully detailed view (2 meters above ground) he spans 18 octaves of perlin noise.
He obtains normals from height data, then decides on terrain type based on altitude, slope, and latitude. This yields a material between water and snow, including desert, grassland, forest, hills and mountains (rock). He has a number of texture "layers" and each material may blend 2 or more layers.
He also describes procedures he's tried and is using for clouds, nebulas, and cities. Just about everything in the Infinity engine is generated procedurally in real-time. And a lot of it quite realistic. He was describing his cloud generation algorithm and it starts with voxels where he has 3 booleans: One for humidity, one for dew point, one for cloud presence; and a cellular automata that models the way clouds come and go. Then he blurs those booleans to get alpha values. Then he switches over from voxels to particles. Something like that. And the clouds look realistic from below and from above; and he wants to eventually be able to fly through them also. His problem being, currently, that when flying through a cloud the particle system overwhelms the videocard's fill rate.
http://www.fl-tw.com/Infinity/infinity_faq.php#q5
...but he describes a lot of what he does in general terms in his journal pages (previous link). Basically, he projects a cube onto a sphere, for a planet, and then subdivides the 6 squares by powers of two. From full size to fully detailed view (2 meters above ground) he spans 18 octaves of perlin noise.
He obtains normals from height data, then decides on terrain type based on altitude, slope, and latitude. This yields a material between water and snow, including desert, grassland, forest, hills and mountains (rock). He has a number of texture "layers" and each material may blend 2 or more layers.
He also describes procedures he's tried and is using for clouds, nebulas, and cities. Just about everything in the Infinity engine is generated procedurally in real-time. And a lot of it quite realistic. He was describing his cloud generation algorithm and it starts with voxels where he has 3 booleans: One for humidity, one for dew point, one for cloud presence; and a cellular automata that models the way clouds come and go. Then he blurs those booleans to get alpha values. Then he switches over from voxels to particles. Something like that. And the clouds look realistic from below and from above; and he wants to eventually be able to fly through them also. His problem being, currently, that when flying through a cloud the particle system overwhelms the videocard's fill rate.
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.