NEWS         TESTS         INTERVIEWS         DOSSIERS         GALLERY 3D         3D SITES
 Q&A Frank Kane Sundog Software, SilverLining
September 2006
 

 

 

"For the clouds themselves, we simulate how the direct and indirect sunlight or moonlight scatters though the cloud. We actually model the size of the droplets within the cloud and their density as we do this.
We also throw in a few "little touches" like simulating glare on bright stars and planets at night that lead to a convincing scene.
"

< SilverLining Realtime 3D clouds

   
Q1 Please give a brief description of Sundog Software.
A1 We're a small software development company devoted to realistic real-time rendering of natural scenes. Our flagship product is
SilverLining, a C++ class library for OpenGL and DirectX9 developers that offers real-time rendering of 3D clouds and the sky, based on a physical simulation of any given time and location. It offers a nice touch of reality for flight simulator applications, or any application that renders interactive outdoor scenes. We're based in Seattle, Washington, in the United States.
   
Q2 SilverLining cloud simulator offers a very realistic rendering. How do you get such a nice result?
A2 Thank you! The quality is the result of years of dogged determination more than anything; fine-tuning the results for performance and visual quality was over half the project.
But, I think you're looking for more specific techniques. The visual quality stems from modeling and simulating the illumination of the sky and clouds all the way from the light outside of Earth's atmosphere to the point where it hits the camera. We start with an ephemeris model that computes the location of the sun, moon, stars, and planets relative to the camera for any given time and location. We then simulate how the light from the sun and moon is scattered as it passes through the atmosphere; this direct and indirect light is passed back to the application to allow you to render the rest of your scene consistently with the conditions being simulated, which is a big part of the final effect. This light also has a relatively sophisticated tone-mapping operator applied to it, which accounts for the fact that a night lit by a full moon still appears pretty bright to humans, even though it's orders of magnitude darker than daytime.
Once we have the natural light sources figured out, we have another simulation (implemented largely in a vertex shader on systems that support them) that distributes the light throughout the sky - this is what gives you the red sunsets and blue gradients during the day in the sky in SilverLining. For the clouds themselves, we simulate how the direct and indirect sunlight or moonlight scatters though the cloud. We actually model the size of the droplets within the cloud and their density as we do this.
We also throw in a few "little touches" like simulating glare on bright stars and planets at night that lead to a convincing scene.
So the short answer is attention to detail, not settling for less than a real simulation of reality, and lots and lots of iterating on different approaches until we found the ones that looked best.
   
Q3 For displaying those clouds smoothly, what kind of GPU do we need?
A3 Well, of course the better your GPU the faster it will run, but we don't require anything special at all. If your GPU supports shader
model 3.0, that does help noticably in the DirectX9 version. But everything in SilverLining has fallback code, so it'll run on just
about anything. I have a Dell Latitude D610 laptop and I even get 30-60 frames per second on it. We've tested SilverLining on a wide variety of cards from ATI and NVidia with good results. Just be aware that the less capable your GPU is, the more we need to compute on the CPU instead.
It's interesting to note that although we have a few good computers at Sundog Software, we intentionally did the bulk of the development using an ancient surplus HP Vectra we got for $10 with a Celeron processor and an older ATI card. This kept us focused on maintaining high performance on low end systems.
   
Q4 What is the advantage of SilverLining clouds compared to those seen in FlightSimulator?
A4 Microsoft is my neighbor, and I have a lot of respect for what they accomplished in Flight Simulator. The main difference between their approach and ours is that we wanted to create a product that was suitable not just for entertainment purposes but also for real visual simulation applications. Flight Simulator's cloud models are created offline by a team of artists; SilverLining's cloud models are "grown" in real-time using a cellular automata system and a simulation of cloud distribution. So no two clouds look alike in SilverLining. Our lighting of the clouds is also much more rigorous than what you see in Flight Simulator. Also, Flight Simulator exploits some assumptions about how their camera moves in their techniques for maintaining high performance. Our solution is more general and maintains good performance without visual anomalies from any camera angle. Really, the main difference is that SilverLining's results come from the laws of physics, not from a team of artists - so it's more general-purpose.
   
Q5 How is it possible to integrate your clouds in a realtime 3d content? Do you provide your own 3D engine, or is it possible to integrate the clouds in an existing engine such as Ogre 3D, Delta3D...
A5 SilverLining was designed to integrate easily into any 3D application using any 3D engine. As long as you can tell SilverLining if your 3D engine is using DirectX or OpenGL under the hood, and you can call us when your frame starts and when your frame ends, we figure out the rest.
SilverLining determines on its own what your camera location is, what your projection matrix is, and saves off and restores any state your renderer may have had when it's called. So while SilverLining does manage its own rendering once you call into our API, it does so in a way that's compatible with any rendering engine you may be using.
For customers who desire tighter integration nevertheless, we do provide access to individual cloud objects, and licensees receive the
full source code which enables pretty much anything.
   
Q6 What kind of level of details do you get in cloud simulation?
A6 Static levels of detail (LOD's) are hard to do without "popping" anomalies as they switch in and out, so we focused instead on making every 3D cloud render really quickly so LOD's aren't necessary in the first place. We use every trick in the book - rendering an entire cloud as a single triangle strip, using vertex buffer objects, etc. So the clouds don't lose any detail with distance really.
The one trick we do employ that's similar to LOD is the use of dynamically generated imposters. Basically, if a cloud gets far enough away, we'll render it to an offscreen texture map and display it as a billboard. The texture is redrawn whenever the camera angle or lighting conditions change enough to be noticable.
   
Q7 Do you manage to render also sky without clouds (sunset, night...)?
A7 Absolutely! Decks of cumulus congestus, cumulus mediocris, cumulonimbus, cirrus, and stratus clouds are all added individually to
the scene. It's certainly OK to not add any clouds at all to the scene, in which case you'll still get our physical simulation of
natural light sources and the sky. We simulate the sky for any time of day at any location. Sunset, night, you name it. Our attention to
detail to the night sky is pretty fanatical, really. We even model things like galactic and planetary light, and light reflected from the
Earth off the moon!
   
Q8 What are the typical users of SilverLining (entertainment, architecture, GIS)?
A8 We've been really amazed by the variety of companies that are integrating SilverLining into their applications. We went into this
just thinking about entertainment applications, and commercial and military flight simulators. But our customers do include architecture
and urban simulation as well. Driving simulators and even CG houses for movies have expressed interest. It seems every day we have a new surprise!
   
   
   
 
  Search on 3d-test with Google
      A PROPOS DE 3D-TEST            INFORMATIONS LEGALES               LINKS              TRANSLATE WITH GOOGLE
 
© 2001-2007 3d-test, Panorama of web 3D technologies, 3d-test is edited by Westimages Realtime 3D Solution Provider