Disclaimer: my knowledge of coding is rudimentary at best, so everything I say is conjecture. If I say something incorrect, please let me know.
So I've been thinking about how the one thing holding VaM back from being truly realistic is the tonemapping. Apparently, it runs on a version of Unity that only supports non-linear, low range color spaces. But I had an idea for how we might be able to circumvent that limit.
My understanding of Unity's rendering engine is as follows:
-the mesh is calculated and sent to the GPU along with textures, lights and shader data. (hair and some physics calculations are done on the GPU)
The pros:
-VaM (in its vanilla form) only utilizes a few different shaders, meaning that rewriting a rendering engine for VaM wouldn't require a comprehensive reconstruction of the ENTIRE engine.
-As I understand it, Unity is far easier to mod than other game engines.
The cons:
-Even with the low variety of shaders present in the vanilla game, I imagine writing an efficient HDR renderer from the ground up would still be a pretty monumental task.
-Modding at this level may require decompilation of vital game files, making it extremely difficult for normal users to install.
-I imagine that loading any custom shaders would result in VaM just instantly crashing.
I know it's been said, but VaM 2.0 is also currently in development. For how long, I have no idea. But if the first full release is less than ~2 years away, I imagine it just won't be worth it to write a new renderer for VaM 1.
So I've been thinking about how the one thing holding VaM back from being truly realistic is the tonemapping. Apparently, it runs on a version of Unity that only supports non-linear, low range color spaces. But I had an idea for how we might be able to circumvent that limit.
My understanding of Unity's rendering engine is as follows:
-the mesh is calculated and sent to the GPU along with textures, lights and shader data. (hair and some physics calculations are done on the GPU)
<------
-the GPU renders to a framebuffer using an 8 bit per channel color space with no dynamic range |
What if we intercept the data here and run it through our own custom rendering engine? -------
What if we intercept the data here and run it through our own custom rendering engine? -------
The pros:
-VaM (in its vanilla form) only utilizes a few different shaders, meaning that rewriting a rendering engine for VaM wouldn't require a comprehensive reconstruction of the ENTIRE engine.
-As I understand it, Unity is far easier to mod than other game engines.
The cons:
-Even with the low variety of shaders present in the vanilla game, I imagine writing an efficient HDR renderer from the ground up would still be a pretty monumental task.
-Modding at this level may require decompilation of vital game files, making it extremely difficult for normal users to install.
-I imagine that loading any custom shaders would result in VaM just instantly crashing.
I know it's been said, but VaM 2.0 is also currently in development. For how long, I have no idea. But if the first full release is less than ~2 years away, I imagine it just won't be worth it to write a new renderer for VaM 1.