Currently as a side project I'm writing a small rendering engine.
- The engine(named SGE) has two underlying implementations: Direct3D11 and OpenGL (currently 'a state of art' but in my mind targeting GLES3).
- In addition I have wrote a minimal shading language that I call "XShader" that can be translated to both HLSL and GLSL. The project is done with flex/bison. It's still not usable by anyone besides me but I plan to spend time on it in the future.
- I really did a few interesting stuff in that rendering part, but I want to write a separate journal about this.
- The "engine" currently runs under Windows and Linux, I haven't tried any other platforms but I think there will be almost no problems porting it.
- To store 3D models I use a "json header" followed by a big binary blob. The idea is to be able to make "quick" edits to a file if needed. The file format support the usual stuff: node animation, skinning, custom animated channels, node hierarchies, materials etc...
- Additionally I'm writing a minimal editor, meaning that I'm not trying to replicate Unity nor Unreal (or any other engine). I'm writing only the backbone that I think is needed in almost every game.Eventually when I know what game I wanna make I will extend/rewrite the editor to fit my needs.
The 3rd party libraries that I use are:
fcpp - a C++ style processor for XShader
Assimp - to covert the models to my internal format
ImGui - for the editor UI.
I really wanted to have few fancy images to show, but I haven't written any cool shaders or anything the only thing I got is this quick gif:
XShader - there were almost no updates since my last journal( https://www.gamedev.net/blog/1921/entry-2261196-common-shading-language/ ) but here is the currently "playground" public repo - https://github.com/ongamex/XShader When I have time I'm going to rewrite it.
For the future I really want to start making a game(I have troubles finding a inspiring game idea), eventually spend some serious time in the XShader language, and implement a minimal ray-tracing for baked effects.
Additionally I want to learn how to draw/model but I really don't know how to start.