[sldev] Can someone clarify the object naming conventions llvosky.h vs llsky.h

Brad Linden brad at lindenlab.com
Thu Jun 21 08:35:05 PDT 2007


First, a real short introduction:  I'm Brad Linden and joined the Boston 
area office of Linden Lab last month.  I've been working on WindLight 
(available at 
http://svn.secondlife.com/svn/linden/branches/2007/windlight_1-17-0/).  
You can see Zen's blog post 
(http://blog.secondlife.com/2007/06/14/windlight-update/) and Torley's 
post 
(http://blog.secondlife.com/2007/05/21/windlight-atmospheric-rendering-comes-to-second-life/) 
for more details.


Nicholaz Beresford wrote:
>
> Just off hand and without looking deeper, I think
> the "VO" stands for Viewer-Object (think these
> are derived from LLViewerObject)
>
>
> Nick
>
>
> Second Life from the inside out:
> http://nicholaz-beresford.blogspot.com/
>
>
That is correct.  The LLSky class is a global singleton (gSky) for 
managing access to anything related to the sky, including the LLVOSky 
instance (gSky.mVOSkyp).

> Max Okumoto wrote:
>> Hi,
>>
>> Can someone at LL explain the llvosky.h vs llsky.h naming convention?
>>
>> My cpu profiling says that LLVOSky::calcSkyColorInDir() is consuming
>> about 5%, so I have started seeing if I can speed it up.
>>
>>                                              Max

You might want to wait before spending too much time on that, or at 
least not work on that branch.  If you look at the WindLight branch 
you'll see that that function has been completely replaced with 
something much more cpu-intensive, but updated less frequently.  It's 
essentially a straightforward attempt at imitating the WindLight sky 
glsl shaders in 
indra/newview/app_settings/shaders/class2/windlight/WLSkyV.glsl and 
indra/newview/app_settings/shaders/class2/windlight/WLSkyF.glsl.  If you 
want to try to optimize the sky CPU code, this branch is the place to do 
it, but take note that on systems that have a GPU and OpenGL drivers 
that can run WindLight, this code is obsoleted by the new LLVOWLSky 
class, and the LLVOSky class will be largely disabled (this is not 
happening properly in the snapshot we exported to the public svn server).

As our focus has been on getting the new GPU rendered WindLight codepath 
working on as many hardware configurations as possible, the CPU 
rendering code in LLVOSky has not had as much attention, as it's really 
not suited for the way WindLight works and may need a complete 
refactoring, and there are major outstanding bugs in it: 
https://jira.secondlife.com/browse/VWR-980.  Any contributions to the 
CPU fallback code in LLVOSky would be much appreciated.

So in summary, if you want to work on sky code and get your code used 
after WindLight gets merged into the trunk, work in the WindLight 
branch.  If you have questions about what you find there, I'm your man.

hope this helps,
-Brad Linden



More information about the SLDev mailing list