S24 (8) Build 3855 - Alpha Time!
After two and a half months of pretty solid work consuming every spare minute of my time, we're finally in alpha!
This is the culmination of work that really started taking shape over a year and a half ago, so how exactly did we get here?
Oddly enough, the first steps were related to fullscreen borderless mode. That required a fairly extreme overhaul of the windowing system. Alongside that came work on the core maths that underpins much of Second Life itself.
Just after Christmas last year, I created a folder within the solution with the intention of building a new graphics API alongside OpenGL. In the spring, the groundwork began: adding DX_RENDER as a preprocessor flag, creating the new directory structure, and populating it with a skeleton of stub files. Then I started writing shaders.
About halfway through that process, S24(7) was released, and the project quietly found its way onto the back burner.
The reason for the pause was simple: I wasn't entirely convinced this was a sensible idea.
To be completely honest, I started updating S24(8) with the intention of making it just another OpenGL viewer. Then, over the summer, I sat down and wrote a proper task list. It was fairly straightforward on paper:
- Replace X
- Write Y
- Repeat until either success or complete mental collapse
As usually happens with projects of this size, the plan evolved, drifted, changed direction occasionally, and occasionally hit me over the head with things I'd forgotten entirely.
Then around build 3535, I had one of those "what the hell, let's just try it" moments.
I knew I could always back out and try again, so I started ticking off jobs one by one.
The weeks passed, and I became increasingly concerned about falling behind Linden Lab's pace of development. Fortunately, things seemed to be progressing well enough, so I kept pushing forward.
Eventually, I reached a major milestone: the client launched a window that wasn't using OpenGL.
That was the moment the realisation hit:
"This might actually work."
Tasks kept falling away. Then came login. Then rendering. Then more systems coming online. And finally, I arrived at one last daunting decision.
If I continued, there was no going back.
Either I pressed on into unknown territory or walked away and effectively threw away almost a year's worth of preparation.
Deep breath.
I pressed on.
It's difficult to explain just how fundamental this change really is. On the surface, it looks remarkably similar to build 3535. Underneath, however, it is an entirely different world.
For example, the code responsible for manipulating prims has gone from roughly 2,200 lines down to around 600. That's not simply optimisation; it's a complete rethink of how things work.
The client has been utterly transformed.
So where do we go from here?
Backporting.
Now comes the careful process of working through the Linden Lab GitHub repository and manually evaluating every patch and feature:
a) Is it relevant?
b) Is it compatible?
c) Is it even necessary?
That process will continue alongside bug fixing, optimisation, and general improvements.
There's also a fairly serious side quest underway involving the redesign and possible inclusion of an RLV-style system. Let's just remember that this viewer is now significantly different from stock, so every feature has to be evaluated carefully rather than simply copied across.
Anyway, I wanted to give you some background before getting to the fun part.
• Optimised shader cache
Once loaded, it's fast. Really fast.
• Enhanced procedural night sky
Featuring constellation lines, variable galactic dust, and generally more interesting things to look at when you're supposed to be building.
• Wind-driven ocean movement
Water now samples wind vectors, allowing ocean surfaces to move and respond with the wind.
• Extensive bug fixes and under-the-hood improvements
A huge amount of effort has gone into stability, refinement, and cleaning up long-standing issues.
• "Your Second Life, Your UI"
Full HLSL shader support for a colourable user interface. Want a blue UI? Go for it. Purple? Absolutely. Neon green? I'm concerned, but I support your freedom to make questionable life choices.
And finally, for those who were going to ask anyway:
The latest DXVK package is included in the installation folder.
The feedback so far from Intel GPU users and AMD enthusiasts has been genuinely fantastic and has more than justified the decision to take this path.
I really hope you enjoy what I'm trying to build here.
Have a fantastic weekend.
Much love and respect,
KL


Comments
Post a Comment