> (*)No it's not bad design, it's a conscious hack around the state that > the environment interface was in when the shader was developed.
Something like a property rule or a Nasal script outside the shader would have done the trick as well... But I'm not arguing why it's done the way it is, and I don't want to talk down the great work that has been done with the water shader, I think we agree that a proper weather/environment interface is the way to go. > It would be good to make it Weather system agnostic from the > effect/shader side of things, don't you think? No. If you want to render atmospheric light effects, the shader needs to know the structure of the atmosphere and at what altitude the light attenuation due to clouds occurs, and the only system which has this information is the weather system, so the effect side can not be agnostic to what goes on in the weather system. It should be agnostic to how the weather system internally determines and manages these parameters, but I don't think we need to argue that passing a single 'ground light intensity' is superior to passing 5 cloud layer coverages and determining ground light intensity from that inside the fragment shader. Currently the issue is that I determine many parameters characterizing the light attenuation in the atmosphere dynamically in Advanced Weather but insert default values into environment.xml which are never changed by Basic Weather, so Basic Weather runs with lightfields, but doesn't produce realistic results because the defaults aren't ever adapted to the actual weather situation. If so desired, someone can insert computations/property rules/whatever... into Basic Weather to set these things dynamically - that is what I'm talking about. I don't see the value in inserting a heuristics for determining such parameters dynamically from the native parameters of Basic Weather inside the lightfield shaders, because that degrades performance quite a lot, and I have spent weeks optimizing the computations to get decent performance. In my view, this heuristics should be outside the shaders. > Not when the varying number is limited. So you gain a bit of speed, but > you lose a lot of compatibility.(think ATi/intel, or OSS drivers for nVidia) You gain a lot of speed. But what is the max. allowed number of varying? It's difficult to code anything when there is some upper limit, but I just don't know what it is. Cheers, * Thorsten ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel