sp614x / optifine

1.81k stars 418 forks source link

[Feature Request] create renderer with Vulkan API #5440

Closed walker27460 closed 3 years ago

walker27460 commented 3 years ago

Description of the new feature

how about creating renderer of Minecraft in Vulkan API? because render performance will be better than OpenGL. also we can add native ray tracing support later since NVIDIA released Vulkan ray tracing extension for GLSL and API.

Regnander commented 3 years ago

To me this sounds like it would be a very time consuming task. Are there any disadvantages to this?

walker27460 commented 3 years ago

disadvantage point is... Vulkan API's is made for reducing overhead with hardware layers so it's syntax will be different from OpenGL. but i think it will be not so different.

Minecraft 1.16.5 release is currently targeted LWJGL 3.2.2 that is targeted on Vulkan 1.1. Vulkan 1.1 real-time ray tracing extension is not a standard cuz it's only available on NVIDIA RTX graphics.

BNTFryingPan commented 3 years ago

This sounds far out of the scope of Optifine, and would likely not improve performance all that much. For one, most of Minecraft internally is made for OpenGL, not Vulkan. Just slapping a new renderer into the game is not going to fix any performance issues unless that renderer is well optimized, which Minecraft's OpenGL renderer is already pretty good at rendering. This would a lot require a lot of work, and considering that Mojang has had a few people who have access to the actual unmodified source code spend a few months simply updating to a newer version of OpenGL, I can't imagine how long it would take for a single person to create an entirely new rendering engine while not having access to the raw source code, and having to work around whatever problems arise because of making an entire new engine using something I doubt sp164x has ever even used. It would take a very long time and a lot of effort to create it and make it look identical to vanilla, for very little benefit.

sp614x commented 3 years ago

This is not realistic due to many reasons:

This is similar to the question "Can a submarine be modified to fly by attaching wings to it? It already has a propeller at the back, shouldn't be too complex".