[Celestia-developers] Re: lighting etc
Real-time 3D visualization of space
Status: Beta
Brought to you by:
cjlaurel
From: Constantine T. <con...@sh...> - 2005-12-13 10:12:10
|
(I sent this from the wrong email address first, dunno if that post will get through, apologies if this is a double post) At 11:38 PM 12/12/2005 -0800, you wrote: >All of the experimentation I've done up to this point is relevant for both >traditional (8 bit per channel fixed point) and floating point frame >buffers. I'm trying to get rid of all the random parameters in the star >rendering code; the current mapping of apparent magnitude to star disc >size and brightness looks sort of right in a for a limited range of >sensitivities, but it falls apart when you set the limiting magnitude to a >large value, and the apparent brightness of stars isn't properly >correlated with the apparent brightness of galaxies. The only way to >address the problem is to start over from the physical light intensities >and consider how these affect the simulated detector, and that's what I'm >doing. Honestly, I didn't understand much of what you said here. First, I am still very uncomfortable with this 'modelling the human eye's response' lark - it seems very arbitrary and 'analog'. I'd rather you used an explanation along the lines of modelling a CCD's response such that the brightness of the object was a standard value. So Mercury would look as bright as Pluto because in Mercury's case you're modelling a brief exposure of the CCD, and in Pluto's case you're modelling a long exposure of the CCD, or something along those lines. The 'human eye reponse' opens up a big can of worms, including for example the fact that at low enough light levels a human eye wouldn't be able to distinguish any colour in the object being viewed. Either way I think a better approach would be to stop trying to simulate specific detectors and instead just try to simulate what is actually THERE (ie the structure, the general appearance etc) because the viewer is always going to be aware that he is watching a simulation on a monitor that can't possibly recreate the true appearance of what is out there. Second, planetary appearance is determined by the photometric function of the surface being viewed - which is either Lambertian, Lommel-Seeliger (in the case of the moon and most rocky airless bodies), some combination of the two (i.e. a Buratti function which combines Lambertian and Lommel-Seeliger terms), Raleigh scattering (in the case of atmospheres), or if you want to get really detailed a complex Hapke function which incorporates all sorts of terms for the scattering properties of the regolith on the surface. The parameters for these functions are fairly well-known for most of the major bodies in the solar system, I think there are several scientific papers that list the Buratti parameters. Frankly, I think that doing anything regarding planetary appearance that doesn't attempt to simulate this is only going to take Celestia further from being a realistic simulator of the universe - Celestia MUST eventually incorporate these functions for planetary bodies to be credibly realistic. I can't think of any reason why these should be impossible to simulate in Celestia, unless there is something about them that requires specific raytracing routines that can't be implemented in OpenGL, in which case I guess we're screwed. I do know that there is at least one person out there - Bjorn Jonnson - who has created software that can render planets using these functions. I've linked to his pages to illustrate the appearance of surfaces with these functions several times on the forum. Basically, 'instrument sensitivity' shouldn't matter for rendering planets in Celestia. You can't show them realistically anyway because a monitor simply can't reproduce the falloff of illumination with distance. I think what you should be focussing on is getting the photometric functions implemented in the code, and never mind the human eye response or CCD response or how bright it really is. That's already been comprimised by the limitations of the medium (heck, stars aren't even rendered remotely realistically when viewed close up - you're certainly not seeing a 'human eye response' when you look at the sun from Mercury in Celestia), trying to correct that is going to be futile I think. |