Apply my learnings to develop a 3D game engine
opengl glsl thunder3d engine
Many years development in ERP software consultation narrowed my thoughts on only providing best solutions according to the finished softwares. Although not necessarily as old as a rusty bolt, I think I lost the edge competing with the just graduates. However, I still have some nerve to pick up the math and give it a try to develop my own game engine
Big thanks to Mr. Sean Barrett's (http://nothings.org/) for his great public domain libraries.
I use stb_image.c to extract data from jpg or png tocreate the opengl textures.
I use stb_truetype.h to create my texture fonts and substaintially get Unicode support.
I use stb_vorbis.c to create a simple PCM source as the input to OpenAL soft to render the background music.
I developed my engine in pure C. Personally I think C could be more flexible when developing multithread applications.
The other reason of choosing C is that I hope the engine should have smaller memory footprint and could be fit into mobile devices after I adapt the engine with Opengl ES.
My engine "Thunder3D" has the following features:
- Cross System Support (Linux/Windows)
- OpenGL GLSL Rendering
- Task Based Multithread Support
- Scalable Shadowmapping
- Heightmap Based Patchmap
- Unicode Font support
- Raycast Picking
- Central Texture Management
- Central Model Management
- Skeletal Animation
- Simple Mesh Decal
- OpenAL 3D Sound Support
- Vorbis Format Support
I still have a lot to fix in this demo, ex. adding the pathfinding algorithm, tuning to get more efficient multithreading and etc, but for this moment, I hope that somebody could try it and give me some comments.
The demo is a little bit oversize, I cannot upload in here, but you can download the demo from here: http://pan.baidu.com/s/1hq7Qijy
Greetings from Shanghai, China.
6th May, 2014