1. Post #1
    knighty's Avatar
    February 2011
    314 Posts
    Decided to make a thread in the end to avoid clogging the "What are you working on" thread.

    This engine is the culmination of over 2 years of work, which started about a year after I began learning C++. It's primarily a realtime rendering engine, but also has a physics engine (TrueAxis) and audio engine (FMOD). The rendering is done under DirectX9. A few basic notes: it's a deferred renderer and I've spent a lot of time making my SSAO implementation robust and fast (currently <2ms for most views).

    Screenshots



















    Rough list of visual features

    Deferred lighting; SSAO; vertex skinning; smd, obj, 3ds, mesh loaders; cascaded shadow maps; multiple shadow filters: none, poisson, pcf, vsm; light probes; quad tree terrain; procedural clouds; many material shaders for surfaces like fabric and metal; level editor; terrain editor; dynamic water with 3d deformation; temporal anti aliasing; atmopsheric scattering; point light shadows

    Post processing

    HDR with Uncharted 2 tone mapping; bloom; depth of field with optional bokeh; god rays

    Videos




    Happy to answer any questions.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Programming King x 383Winner x 8Artistic x 4Dumb x 2Funny x 1Optimistic x 1Late x 1 (list)

  2. Post #2
    bootv2's Avatar
    August 2010
    2,838 Posts
    that's a really really nice engine, especially since you're using dx9, if I were to guess I'd think you'd be using dx10-11

    Edited:

    you might want to use havoc cloth, it'd look really nice in the map where those flags are hanging.
    Reply With Quote Edit / Delete Reply Netherlands Show Events Dumb Dumb x 21Agree Agree x 2 (list)

  3. Post #3
    knighty's Avatar
    February 2011
    314 Posts
    Not really much extra you can do with DX10/11 except for tessellation and such. Don't believe all the rubbish that things like god rays are a DX10 thing :P. And thanks.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Agree Agree x 40Disagree Disagree x 1Dumb Dumb x 1 (list)

  4. Post #4
    bootv2's Avatar
    August 2010
    2,838 Posts
    Not really much extra you can do with DX10/11 except for tessellation and such. Don't believe all the rubbish that things like god rays are a DX10 thing :P. And thanks.
    well, you know that better than me I guess. I've got zero experience with dx

  5. Post #5
    Gold Member
    Jallen's Avatar
    December 2007
    7,578 Posts
    Very cool. You know by using FMOD you're making it so that
    a. If you ever want to charge for the engine ,you have to pay the FMOD guys a few thousand dollars.
    b. If your engine users want to sell something they've made with your engine they have to pay the FMOD guys a few thousand dollars.

    Also holy shit is that global illumination?
    Reply With Quote Edit / Delete Reply United States Show Events Informative Informative x 9Agree Agree x 1 (list)

  6. Post #6
    knighty's Avatar
    February 2011
    314 Posts
    Yeah I didn't actually know that about FMOD until recently. I intend on switching over to something else which should be easy as I have very little sound code at the moment. Thanks.

  7. Post #7
    Shrapnel :3's Avatar
    October 2009
    414 Posts
    Well. Fuck.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Agree Agree x 5 (list)

  8. Post #8
    Gold Member
    Raven-Rave's Avatar
    November 2005
    237 Posts
    Holy dog shit, Very nice!
    Reply With Quote Edit / Delete Reply United States Show Events Informative Informative x 2Optimistic Optimistic x 1Agree Agree x 1 (list)

  9. Post #9
    Gold Member
    BackwardSpy's Avatar
    May 2008
    6,534 Posts
    Very nice work with this, it looks awesome!
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Agree Agree x 9 (list)

  10. Post #10
    PLEASE DON'T EAT ME!
    Doritos_Man's Avatar
    June 2009
    2,910 Posts
    This is amazing!
    Awesome work on it!
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 3 (list)

  11. Post #11
    knighty's Avatar
    February 2011
    314 Posts
    @Jallen's edit: Kind of. I just threw down some appropriate point lights. Does a pretty good job eh?

    Thanks everyone else.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Artistic Artistic x 4 (list)

  12. Post #12
    Pass along
    commander204's Avatar
    May 2008
    4,065 Posts
    Yep, looks really awesome!
    Reply With Quote Edit / Delete Reply France Show Events Agree Agree x 1 (list)

  13. Post #13
    Gold Member
    Chandler's Avatar
    February 2006
    1,406 Posts
    Looks absolutely fantastic. How's your content pipeline? :)

  14. Post #14
    Gold Member
    demoguy08's Avatar
    February 2005
    4,042 Posts
    Whoa. I was convinced they were Source 2007 screens at first with the strider and all.
    Reply With Quote Edit / Delete Reply Show Events Agree Agree x 18Disagree Disagree x 4 (list)

  15. Post #15
    knighty's Avatar
    February 2011
    314 Posts
    Oh it's just lovely (not :P).

    I have a mesh format specced out but I really can't be bothered to write a proper Maya exporter, so I have a really basic one that just outputs an obj and then my code handles creating material data for it. It's something that needs a lot of work.

  16. Post #16
    Gold Member
    Jallen's Avatar
    December 2007
    7,578 Posts
    It's better to use a widely supported (or a few) intermediate format(s) and make a converter than to make an exporter for a single modelling package IMO. I guess you could do a converter and an exporter though.
    Not everyone can afford / wants to obtain Maya.
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 10 (list)

  17. Post #17
    knighty's Avatar
    February 2011
    314 Posts
    Yeah. Perhaps fbx or something would be good, since obj is fairly limited in its support if I exported to that and then converted. The main reason I haven't delved into that kind of stuff is because it's just me using it. And really, it's not a very rewarding job a lot of the time.

  18. Post #18
    COMEDY POLICE
    Xerios3's Avatar
    January 2009
    1,767 Posts
    Such a cheesy name for such a sweet engine, great work !
    Reply With Quote Edit / Delete Reply Belgium Show Events Agree Agree x 4Disagree Disagree x 2Dumb Dumb x 2Funny Funny x 1 (list)

  19. Post #19
    knighty's Avatar
    February 2011
    314 Posts
    It's really supposed to be Nigh-T Engine =p Yeah I suck with names. Cheers!.

  20. Post #20
    yngndrw's Avatar
    March 2008
    870 Posts
    TBH, despite the cost FMOD is well worth it for what it does.

    Anyway, very nice work. I've always liked deferred rendering, the positives of it far outweighs the negatives.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Disagree Disagree x 4 (list)

  21. Post #21
    A Self Condescending Title
    Xion12's Avatar
    October 2006
    2,207 Posts
    Try to get Valve to buy it. I'd love to play Half-Life on that.
    Reply With Quote Edit / Delete Reply United States Show Events Dumb Dumb x 32Agree Agree x 2 (list)

  22. Post #22
    Richy19's Avatar
    May 2010
    5,401 Posts
    Try to get Valve to buy it.
    They have source tho.
    If anything try get a job at Valve :P
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Agree Agree x 28 (list)

  23. Post #23
    COMEDY POLICE
    Xerios3's Avatar
    January 2009
    1,767 Posts
    I'd suggest a better name before it's too late, go with something related to light or cleanness.

    Just saying.. cause you know, before opening this thread I thought "Heh, what a silly name, probably another billionth guy who's wishing to make a next-gen game engine"
    Reply With Quote Edit / Delete Reply Belgium Show Events Agree Agree x 19Disagree Disagree x 1 (list)

  24. Post #24
    knighty's Avatar
    February 2011
    314 Posts
    Yeah maybe I should invest a bit of time in a name :P But most game engines have "stupid" names. Unreal? Source? :P
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Agree Agree x 2 (list)

  25. Post #25
    A Self Condescending Title
    Xion12's Avatar
    October 2006
    2,207 Posts
    A good name like Bloom.
    Reply With Quote Edit / Delete Reply United States Show Events Disagree Disagree x 3Funny Funny x 3Dumb Dumb x 1 (list)

  26. Post #26
    knighty's Avatar
    February 2011
    314 Posts
    Need a few more 'O's I think.

  27. Post #27
    A Self Condescending Title
    Xion12's Avatar
    October 2006
    2,207 Posts
    Bloom Ion?

  28. Post #28
    COMEDY POLICE
    Xerios3's Avatar
    January 2009
    1,767 Posts
    Shiny (Game Engine) ?


    or maybe Illumination Engine
    Reply With Quote Edit / Delete Reply Belgium Show Events Dumb Dumb x 11Disagree Disagree x 1 (list)

  29. Post #29
    I love Lemon Punch
    Sakarias88's Avatar
    January 2006
    1,268 Posts
    Need a few more 'O's I think.
    Blooom?

    May I suggest Fractal Game Engine.
    Hmm. Maybe it's a bit misleading.

    Anyway, it looks great!
    Reply With Quote Edit / Delete Reply Sweden Show Events Agree Agree x 1 (list)

  30. Post #30
    bootv2's Avatar
    August 2010
    2,838 Posts
    heavenly engine?

  31. Post #31
    A Self Condescending Title
    Xion12's Avatar
    October 2006
    2,207 Posts
    SunnySideUp engine? Something that emphasizes how bright and sunny it looks.
    Reply With Quote Edit / Delete Reply United States Show Events Disagree x 2Funny x 2Agree x 2Winner x 1Dumb x 1 (list)

  32. Post #32
    knighty's Avatar
    February 2011
    314 Posts
    SunnySideUp sounds awesome :P I'll have a bit of a think and report back anything I think of. Thanks for suggestions chaps.

  33. Post #33
    Richy19's Avatar
    May 2010
    5,401 Posts
    GloomyEngine?
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Funny Funny x 9 (list)

  34. Post #34
    Gold Member
    Downsider's Avatar
    July 2007
    2,008 Posts
    What's your map format like, how do you partition it for speed?

  35. Post #35
    knighty's Avatar
    February 2011
    314 Posts
    *whistles* Yeah erm, I don't have any kind of spatial structure at the moment. I'm still debating on what to use. Again it's one of those things which hasn't been much of an issue for me, because I'm gpu bound 100% of the time, so it's kind of sat by the side. Stupid, I know. I intend on writing a portal system.

  36. Post #36
    Gold Member
    Jallen's Avatar
    December 2007
    7,578 Posts
    Can I ask how you manage to get to such a high level of ability in graphics programming? I mean, lit textured models is pretty much as far as I've got. How do you take a step from being able to do basics with directX to being able to do all that shader stuff and awesome things like that?
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 14 (list)

  37. Post #37
    knighty's Avatar
    February 2011
    314 Posts
    To be completely honest....I don't know how to describe it. It's just been a smooth sort of flow if you know what I mean. I read a lot of papers nowadays, but for actually getting going with shaders I kinda just looked around for how to get one working, and from there your opportunities are suddenly opened up completely. I'm not sure of any specific resources to point you to, but if you're working with DX, the DX official samples are fantastic for getting you up and running.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Informative Informative x 3Agree Agree x 1 (list)

  38. Post #38
    CrashSpyro's Avatar
    August 2010
    34 Posts
    You should use this to open a company or get a job!
    Really REALLY nice work!
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 28Disagree Disagree x 1Friendly Friendly x 1 (list)

  39. Post #39
    I love Lemon Punch
    Sakarias88's Avatar
    January 2006
    1,268 Posts
    *whistles* Yeah erm, I don't have any kind of spatial structure at the moment. I'm still debating on what to use. Again it's one of those things which hasn't been much of an issue for me, because I'm gpu bound 100% of the time, so it's kind of sat by the side. Stupid, I know. I intend on writing a portal system.
    Spatial partitioning is kind of a big deal when it comes to optimization.
    Since you seem to have a lot of experience I bet implementing an Oct-Tree won't be a problem for you.

  40. Post #40
    knighty's Avatar
    February 2011
    314 Posts
    Yeah it is a big deal, on the CPU side when it comes to outdoor scenes. In interior scenes you can cut a lot of GPU work with portal culling, but outside you can't really use portals and such too well to cull stuff in the view frustum, so you only really save CPU time in traversing the scene. Occlusion culling is a whole 'nother matter though. I'm currently experimenting with it but it's quite tough to make it work well.
    Reply With Quote Edit / Delete Reply United Kingdom Show Events Informative Informative x 2 (list)