|
|
On 5/20/2011 2:37 PM, Warp wrote:
> Alain<aze### [at] qwertyorg> wrote:
>> If you multiply with a map whose values go from 0 to 10, values under 1
>> will darken, while values larger than 1 will brighten. It's just a
>> question of applying some offset or stretching the range of your light map.
>
>> Same with addition, here, you need negative values to darken things.
>
> This assumes that the lightmap texel components are floating point values.
> It is completely unclear to me whether OpenGL and rendering hardware supports
> floating point components in textures. There are some indications that at
> least some don't. (You can give OpenGL a texture in floating point format,
> but it will be internally converted to an 8-bits-per-component bitmap,
> clamping all values to the range [0.0-1.0] and multiplying by 255.)
If the GLGraphics library for Processing is any indication, then yes,
OpenGL supports floats. But are they supported by hardware? It depends
on your card.
I've got a 7600GS, and was rendering hi-ish res floating point precision
continuous cellular automata at exceptionally high frame rates, almost
nearly as fast as 8-bit surfaces. I'm 100% sure it wasn't running in
8-bit mode because of the behavior (with CCA, it is often readily
apparent). But when I switched to double precision surfaces, I
experienced a dramatic decrease in performance, which probably means
that at that point it could only operate in software mode, since my card
can't handle higher bit depths (I haven't actually looked it up, but
it's what I'm assuming).
Sam
Post a reply to this message
|
|