S24(7) Release

 


And here we are again folks — SL 23B draws to a close for another year, and S24(7) finally rolls out after 2+ months of work, landing at build 3500. The full list of features and fixes are available on both SourceForge and GitHub for anyone who wants to dive into the details.

The client is current as of 27th June, including the latest official additions such as gesture auto‑completion and outfit layer drag‑and‑drop. Small quality‑of‑life improvements, but they add up.

This cycle — codename MAGN — has been all about tightening code: fixing long‑standing bugs, tuning caches, controlling memory racing away, and building on the foundation laid in the previous version. It’s been a drag at times; the build system threw more curves than usual, and a few systems needed deeper poking than expected. The end result is a heady mixture of new features, official patches, and some very deep internal modifications.

A lot of the groundwork won’t fully show its face until a couple more versions come and go. Incremental change is like that :) you feel the benefits once everything stacks. The rendering engine is likely to get more attention soon. It’s still up in the air, but if the choice is between Vulkan and DirectX, the one that fits most naturally with the existing architecture is DX11.

And that’s worth an explanation.

DX11 Is Closer to OpenGL Than Vulkan

People often frame Vulkan as “the future,” and it is — but future‑proofing doesn’t automatically mean “fits your viewer today.” When you’re dealing with a platform built on decades of OpenGL cruft, DX11 is simply the closer cousin.

Here’s why.

GL code like: glBindTexture(GL_TEXTURE_2D, tex);

DX code like: context->PSSetShaderResources(0, 1, &srv);

Vulkan be like:

kImageCreateInfo imageInfo = {};

imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;

imageInfo.imageType = VK_IMAGE_TYPE_2D;

imageInfo.format = VK_FORMAT_R8G8B8A8_UNORM;

imageInfo.extent = { width, height, 1 };

imageInfo.mipLevels = 1;

imageInfo.arrayLayers = 1;

imageInfo.samples = VK_SAMPLE_COUNT_1_BIT;

imageInfo.tiling = VK_IMAGE_TILING_OPTIMAL;

imageInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;

vkCreateImage(device, &imageInfo, nullptr, &image);

+ Another 20 lines.....!

Just switch to Vulkan!....  I feel Lindens Pain...

Have a great rest of the week,

Much Love,

KL


glDrawElements(...);

Comments

Popular Posts