10.03.2019 - Round 1 results of our "A Love Letter For FreeBASIC" game dev competition have been published. Please be sure to check the results thread: http://games.freebasic.net/forum/index.php?topic=629.0. Don't forget that the competition is continuing with a round 2, lasting till 29th of April, 300 USD first prize. Stay tuned!

Author Topic: gfx - a tiny 3d game engine for windows and linux  (Read 9434 times)

phpboxxx

  • Amoeba
  • *
  • Posts: 2
    • View Profile
    • Email
gfx - a tiny 3d game engine for windows and linux
« on: May 14, 2012, 04:37:42 AM »
Hello everyone. This is my first post here, so I hope it will be good.

Since roughly 1 year and a half i work on a full featured modern 3d game engine. It is called gfx, or tinyGFX.

What I have so far:

* a scene graph
* scene load/save/restore
* taking screenshot
* state sorting
* job system (threads)
* asynchronous asset streaming
* glsl support and gl extensions support
* light ubershader for forward rendering/light volumes (point light, directional light, materials, phong, bump, parallax, specular mapping)
* partially working terrain (mesh is created from heightmap, but not split into smaller pieces yet)
* obj/3ds support
* accumulated timer (highest framerate possible for any machine, same rate of movement on all machines)
* basic openal support (WAV)
* frustum/sphere/boundingbox culling
* surface caching for static meshes
* zip support (stream textfiles directly, extract binary files)
* soil integration (BMP, PNG, JPG, TGA, DDS, PSD, HDR, DXT Compression)

TODO & WIP:
* skeletal animation (CPU and GPU version)
* MD5/MD5anim model support
* BVH motion capture format
* deferred rendering ubershader
* virtual texturing ala ID Tech 5 (i have this partially working in a test source)
* shadow volumes/shadow mapping
* ODE physics lib integration (i would really prefer to compile it statically into the engine, to make life easier)
* LUA integration
* networking (so far I had good experience with TSNE, probably this will be what I will use)

Because pictures say more than thousand words, take this:


For more information you can check out http://tinygfx.com
« Last Edit: May 14, 2012, 04:53:50 AM by phpboxxx »

Lachie Dazdarian

  • Double dipper
  • Administrator
  • Forum Sage
  • *****
  • Posts: 1308
    • Yahoo Instant Messenger - lachie13
    • View Profile
    • The Maker Of Stuff
    • Email
Re: gfx - a tiny 3d game engine for windows and linux
« Reply #1 on: May 14, 2012, 08:06:28 AM »
Erm...I don't know what 90 % of those features are. :P

Anyway, thanks for sharing this with us. Hopefully you'll deliver some mini-game built in it soon.

Looking forward to future progress on this engine and a release with the source code/tutorials.
« Last Edit: May 21, 2012, 06:05:47 PM by Lachie Dazdarian »
"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist

phpboxxx

  • Amoeba
  • *
  • Posts: 2
    • View Profile
    • Email
Re: gfx - a tiny 3d game engine for windows and linux
« Reply #2 on: June 14, 2012, 11:04:28 PM »
Back with a new screenshot. I recently implemented dynamic soft shadowmaps.



I am refactoring and removed a lot of experimental code. Meanwhile I will leave his here:



Improving the asset system :D  The car is rigged can steer accelerate and turn etc. Shadows are now PCF.



Daytime light setup (taking into account color emitted by the sky):

« Last Edit: June 30, 2012, 12:46:56 AM by phpboxxx »