By the way, what happened to the rest of windlight that was supposed to be implemented? The volumetric clouds, server-side settings sharing, etc?

Is it possible for a dev to get approval to release the viewer-side half-implemented versions of those so the community can finish them up?

Rob

On 10/7/2010 2:00 PM, Brad Kittenbrink (Brad Linden) wrote:


On Wed, Oct 6, 2010 at 8:57 AM, Joshua Bell <j...@lindenlab.com <mailto:j...@lindenlab.com>> wrote:

    On Tue, Oct 5, 2010 at 7:29 PM, Kent Quirk (Q Linden)
    <q...@lindenlab.com <mailto:q...@lindenlab.com>> wrote:

        Well, it's not quite like that. To pull this off, you'd have
        to take everywhere we set a color, and set it instead to its
        equivalent black and white value (there's a formula that's
        traditionally used, although there's no "correct" way to do
        it:  Y = 0.3*R + 0.59*G + 0.11*B). You *might* be able to get
        away with modifying the LLColor4 constructor to do this, but
        it's probably going to have some surprising results when you
        assign a value and don't get the same value back.


    How about post-processing every frame before the final swapBuffers
    call? That seems like it could be done with a shader and only
    touching a small amount of code. This would affect the UI as well
    as the world viewport, however, without some significant
    refactoring, but given that we already have some post-processing
    effects (glow, etc) perhaps there's already a good spot to slot
    this in?

    (Don't trust me too much, though, as I've never written a
    non-trivial shader and have never touched the viewer's render
    pipeline!)

    Of course, once you have monochrome output, you could tweak the
    shader and get sepia-toned rendering. Old-timey SL, anyone?

    -- Josh


This is definitely the approach I'd recommend.

To do this you'll want to reenable the old postprocessing filters which were part of a pre-release version of windlight but got disabled.

llrender/llpostprocess.{h,cpp}
newview/llfloaterpostprocess.{h,cpp}
newview/app_settings/shader/class{1,2}/effects/*.glsl

Most of this legacy code is probably horribly incompatible with the current renderer (particularly since deferred rendering has redesigned the way the renderer is organized), but at least it's a place to start looking...

-Brad


_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to