Overall I have this problem where I look at GPUs and systems like OpenGL or Vulcan and my fingers itch to just jump in and mess with them and wheedle out the strangest, coolest things they can produce! Find different ways to connect the blocks they have given us together.
But
But
Most of the systems like Unity or Unreal don& #39;t give you full proper access to that. They connected the blocks together for you and gave you a system that gives you nice realistic shadows and tonemapping and such.
But you can& #39;t rearrange the blocks.
But you can& #39;t rearrange the blocks.
They& #39;ll give you some little trapdoors. They& #39;ll let you do "shaders". It always feels too limiting to me! I don& #39;t want to just select the colors on the surface of the model. I want to do some weird stochastic process and generate triangles from it and then shade those.
So I go back to basics. I write my own renderer in C, or use an engine like http://lovr.org"> http://lovr.org where the rendering choices are largely farmed to the user. And it& #39;s great! I make the weird little graphics demos I want.
But
But
But then I have a new problem. I can make my weird graphics demos. But if I want, for some reason, to display a scene with a model and some shadows and realistic lighting…suddenly I& #39;m at the bottom of a mountain I don& #39;t think I can scale. I& #39;m re-implementing all of Unreal myself
Maybe I& #39;ve got some really cool stylized postprocessing effect. But that stylized postprocessing effect would be most effective if it were postprocessing a realistically rendered scene. I want, like, HALF of Unreal& #39;s fancy realistic renderer, and then branch off into my own thing
But if you start to learn how "pro" renderers like Unreal work, you realize that& #39;s barely even viable. The nice things Unreal and Unity do are possible because they& #39;ve imposed a certain structure on the scene. Blast off your own triangles & they won& #39;t be, say, in the shadow map.
Then layer on that things like Unity/Unreal are abstractions designed to work on multiple GPUs and APIs and you start to realize they *can& #39;t* give me the kind of control I want. They can at best build trapdoors at certain junctures.
I& #39;ve yet to feel satisfied with the trapdoors.
I& #39;ve yet to feel satisfied with the trapdoors.