Apply my learnings to develop a 3D game engine
opengl glsl thunder3d engine
I am not from video game industry, but I am quite interested in it.
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