Open Ias0601 opened 6 years ago
OpenGLES is quite easy to implement while DirectX 10+/Vulkan can be quite difficult, tbh vulkan Is designed to in the same way as DX12, anyway this is a graphics engine and technique used here can be implemented in any rendering API if you understand the idea behind it.
I'm fine with a DirectX 10/11 backend (and/or OpenGL ES) as long as readability remains a focus and things don't become too bloated with tons of specific corner cases.
I'm not a fan of a DX12/Vulkan backend combined with the OpenGL renderer as these render APIs are fundamentally too different and any attempt to 'combine' them won't be pretty.
Yeah readability will stay the same as I'm only suggesting to create directx versions of base rendering classes and all other classes will be same for both backends like @zlixine said. My current directx rendering engine has some similarities to cell in structure.(Like it has separate classes for render targets, shapes, mesh, lighting)
So if you like I will be working on making directx 11 versions of cell in my free time and will open a pull request when I'm done. (but it will take some time as I have my exams coming near and will only work on this in my free time)
Wish you all the best.
be sure to check Unity "HLSLcc" to cross compile HLSL to GLSL quickly, try not to waste your time writing all shaders in both languages.
Sounds great, and no worries; take all the time you need :) Best of luck!
Why not just use an API like - https://github.com/bkaradzic/bgfx
@zacharycarter the same answer to why not use an Engine as unity or Unreal?
@zlixine I think you're confused...
BGFX simply abstracts away the differences between various graphics APIs. It's not a game engine - it's a graphics API abstraction library.
@joeydevries Thank you. :)
@zlixine Thank you I will take a look at that.
@zacharycarter You will never get the fun of programming it from scratch when you use the library. I do programming as my hobby so I need to get the full fun with it.
@zacharycarter if you have ever read the readme of this project you would never suggest something like that. "open-source OpenGL graphics engine aimed to serve as an educational repository for learning how a larger graphics engine can be structured and organized"
Hey joey.
Opengl is great but what do you think about having directx/opengl es too? I might be able to implement directx versions of the classes in your project and all you have to do is ask in the constructor of cell for which backend to choose. Vulkan is new so most of the android devices don't support it. So isn't it a good idea to make your engine( with opengl es) also run on android?