For SL users there is the Apple question, will Second Life™ run on Apple? Or… continueto run on Apple?
In June of this year Apple announced its discontinuing support of OpenGL after macOS 10.14 Mojave (scheduled for release Sept 2018), the core aspect of SL’s render engine. It will take a couple of years for Apple to phase it out. But, updates and support officially stop now. For some time support has been really bad.
Core architecture is from the beginning days of 3D graphics.
Designed is based on outdated thinking.
OpenGL is a legacy tool with updates ‘tacked’ on.
Hardware GPU work flow has changed.
Never designed for multi-threading.
Today’s rendering is asynchronous.
On the PC side of things OpenGL is still supported. We can’t know for how long. Khronos, OpenGL’s developer, has introduced Vulkan. (See: State of Graphics: DirectX 12 & Vulkan – 4/2016) Development is exciting and popular. The group is on the forefront of some interesting tech. But, I don’t know that it will be helpful for SL. Continue reading →
In Second Life we run on OpenGL. Most Windows games run on DirectX. Microsoft has announced DirectX 12. It will essentially make NVIDIA 500 series and older cards obsolete. To use DX12 you’ll need a 600 or newer series card. This video explains what is happening. OpenGL is not left out.
It looks like ATI/AMD is making a replacement for OpenGL called Vulkan. It sounds like Vulcan is targeting more devices than DirectX 12. I expect to see Vulcan working on an Android mobile device way before DX12. I still have serious doubts we will see real time 3D render of good quality on mobile devices in the near future.
So, is the Lab planning to upgrade SL to Vulkan? I don’t know. I’ve asked. Vulkan is open source.
Word is OpenGL will still be developed. I think that odd. OpenGL is referred to in one place that came up in my research as a high level API, higher than Vulkan. The basic geek speak uses high and low to refer to how close you are to the hardware… the closer you get to the hardware the more programming you have to do. With higher level languages the more the language does for you.
Think of it this way… a low level addition command would be written as: place this value in Reg#1 and this other value in Reg2 then preform an XOR operation on then and place the result in Reg3 then move Reg3 to memory as variable X. A high level language would let you write the code as A + B = X and handle all the registers, operations and moves for you.
There are good reasons for using higher and lower level languages and API’s. But, generally we want API’s that produce more overall efficiency. From the other stuff said about Vulkan I would think it should be called a higher level API…. it does way more for the programmer. Whether it is higher or lower it is the next gen descendant of OpenGL.
For those of us playing in SL this means little today. But, suggests that play in Sansar will mean we will need a 600 series card or higher.
If you are looking for more details start at the Wikipedia: Vulkan API.