We’re still hard at work getting Vibrant Visuals ready for Minecraft: Java Edition. If you’ve been following our updates, then you’ll know we’ve been exploring refactoring and looking at ways to modernize our rendering code. Following this work, we’re now preparing to make a change to the underlying technology we use to render the game, by switching from OpenGL to Vulkan.
This change will bring exciting possibilities for both Java’s graphics and performance, but it’s a big switch – and we know it’s going to also bring some challenges for our modding community and for some of our players. That’s why we’re here today, to take a deeper dive into what’s going to happen, what this means, and how you can help us as we pave the road for Vibrant Visuals.
What are we changing?
Today, Minecraft: Java Edition uses a technology called OpenGL to render Minecraft on your screen. This is a graphics API that was created in the 1990s, and Java Edition has been using it right from the start.
One of the reasons we stuck with OpenGL is because it allowed us to keep Java Edition running across all operating systems: Linux, Windows and macOS. For a long time, OpenGL supported our goal with Java Edition – to make it run on almost any operating system and any PC or Mac.
However, 9 years ago OpenGL stopped receiving updates and is being deprecated on macOS, and in the future OpenGL will not run at all on macOS devices – a problem we knew we had to solve. Alongside that, it’d become increasingly difficult for us to maintain and modernize the Java codebase using OpenGL, as we were limited to using older versions that still supported macOS.
Our goal is to keep Minecraft: Java Edition playable for almost any PC-operating system, including macOS and Linux, so it’s time for us to transition away from OpenGL and switch to something new that can not only support our goal of maintaining access across all PCs and Macs, but also help us with another, very important goal of ours. Bringing Vibrant Visuals to Java Edition!
Introducing: Vulkan
Vulkan is a graphics API that has a 10-year history in the market, with adoption across all major hardware vendors – and is one of the only APIs that will support all our needs for the future.
Vulkan is already directly supported by modern Linux and Windows devices*, and it can be supported by macOS devices by applying a “translation layer” – without performance penalties. In return, Vulkan will allow for eventual performance gains and increased capabilities, which we’ll need for Vibrant Visuals.
*For players whose GPUs are 10 years old or more, Vulkan may not be supported.
What does this mean for modders?
Switching from OpenGL to Vulkan will have an impact on the mods that currently use OpenGL for rendering, and we anticipate that updating from OpenGL to Vulkan will take modders more effort than the updates you undertake for each of our releases.
To start with, we recommend our modding community look at moving away from OpenGL usage. We encourage authors to try to reuse as much of the internal rendering APIs as possible, to make this transition as easy as possible. If that is not sufficient for your needs, then come and talk to us!
Feedback from modders is welcome on our Vibrant Visuals Discord channel, which you can join here. Our Discord channel isn’t for announcements, instead it’s a place for modders and our developers to have more in-depth, technical discussions. Rest assured, we want to make this switch as easy as possible for you all, and we’ll be here to help.
What does this mean for players?
For players, this means that the mods you play might be impacted by this change. We ask that you have patience with authors of your favorite mods – as the process of updating to Vulkan will take more time for authors than the updates made for each of our retail releases.
It also means that in the future, you’ll start to see Vulkan rolling out side-by-side with OpenGL in snapshots while we work to minimize any issues arising from this implementation. Once this happens, players will be able to switch between OpenGL rendering and Vulkan rendering both in snapshots and retail releases of Minecraft: Java Edition while we iron out issues with stability and any bugs. As always, we’ll need your feedback to ensure this transition is as smooth as possible, and you’ll be able to help us by reporting bugs via bugs.mojang.com.
When is this happening?
We’re aiming to bring Vulkan into snapshot testing to start collating feedback sometime over the summer. Players will be able to toggle between OpenGL and Vulkan while we are in the testing period, and we will stay in the testing period until we’re confident that the Vulkan implementation is stable, performant and ready.
Once we’re happy with the performance and stability of Vulkan across devices we will remove the OpenGL implementation. Players will be notified in advance before this happens, and we’ll make updates as needed to our “minimum requirements” specifications.
Vulkan and Vibrant Visuals
Modernizing the renderer we use is an important step for us in our road to bringing Vibrant Visuals to Java Edition. In the long term, the switch to Vulkan will give us more capacity to improve the graphics for Java Edition, bring greater performance capabilities, and will hopefully reduce the number of driver-based bugs players experience. But what’s most important is that Vulkan will ensure Minecraft: Java Edition remains playable on macOS, so that players across all of our supported operating systems, not just some, can join us as we take steps towards a vibrant future for Minecraft: Java Edition.
この記事を共有する