Jump to content

nikagra

Community Members
  • Posts

    20
  • Joined

  • Last visited

Posts posted by nikagra

  1. I highly recommend use our trac to upload, submit patches, changes.

    http://trac.wildfiregames.com/

    I've created task for this

    By the way, could you please explain why such custom preprocessor is used? According to The OpenGL® Shading Language (1.10.59) spec, all directives are supported by built-in preprocessor (no #include support for to obvious reasons). I've checked Ogre3D ssource, there is no clear explanation here also

    • Like 1
  2. Initial implementation of #include directive is ready.

    This is only initial implementation. I'm also not sure if it works in every case (probably not) and it still has some limitations, e.g. changes in included files are not tracked by file system. Preprocessor is designed to operate on single string buffer, if we want to include another file we have to overcome this limitation. I've chosen to create deep copies of included macros and attach them and preprocessed include file to main (current processing shader) file.

    You can test this changes with Skirmish map type Acropolis Bay (2). I've prepared some testing shaders. Check header.glsl and edge_detection.vs

    What do you think?

    preprocessor_include_initial_impl.zip

  3. #elif and #include support is quite easy to implement. #elif should be very similar to #if, to implement #include one should add contents of included file and recursively run preprocessor on it (maybe limit maximum number of include levels to prevent circular dependencies). This two should take up to 3-4 days of work

    Expressions in #define is a non-trivial feature. It's hard to estimate it at this point

    • Like 1
  4. I've faced some problems with GLSL preprocessor. First it doesn't allow #elif directive. This can be fixed if we stick to one SMAA quality. Another is that preprocessor returns error when it meet defines like this:

    #define SMAA_DEPTH_THRESHOLD (0.1 * SMAA_THRESHOLD)

    It reports '0' as unexpected token. There is nothing special with this define. Error is returned on each token after braces. Any ideas?

  5. It seems SMAA implementation is available under liberal license (this is official repo from developers of this method)

    It's performed in three passes (edge detection pass, blending weights pass and neighborhood blending pass) and uses a number of precomputed textures (this texture and scripts in Python are also available)

    Here is another repository with demo of SMAA using OpenGL

    As for execution times here is citation from the paper:

    Performance metrics are measured on a NVIDIA GeForce GTX 470 using 1080p images. Typical execution times for our technique are of 1.02 ms for SMAA 1x, 1.32 ms for SMAA T2x, 2.04 ms for SMAA S2x and 2.34 ms for SMAA 4x.

    I'm trying to integrate this shader into the game now

    • Like 3
  6. You could make an antialiasing fragment shader for the game there is a todo about it in the code somewhere. Here is an attempt of niektb and I but it just happens to make the screen blurry.

    attachicon.gifantialiasing.7z

    I've made an attempt to reimplement FXAA. Implementation is basically very similar to yours and some other implementations available over Internet (e.g. at geeks3d.com)

    Here picture to compare results:

    YMlQcV5.png

    bDWcRYM.png

    4FLIrF9.png

    I don't know if this results are any better then previous ones. FXAA can blur textures as it detects edges during post-processing stage and tries to smooth them all. From my perspective it still looks better than aliased.

    • Like 2
  7. Position: Programmer (Graphics, Gameplay, AI)

    Do you understand that Wildfire Games is a non-commercial project, work for 0 A.D. is volunteer, and work is done for free?
    Yes

    Do you agree to distribute all your work for Wildfire Games under Creative Commons Attribution Share-Alike license?
    Yes

    Name:
    Mikita Hradovich
    Email:
    nikagra (at) gmail (dot) com
    Location:
    Wrocław, Poland
    Availability:
    ~10h (it depends really)
    Age:
    26
    Occupation:
    Software Developer (Gigaset), Doctoral Study (Wrocław university of Technology)

    Bachelor Thesis on 3d landscape generation and some procedural techniques

    Skills and Experience:
    4+ years of commercial programming experience, strong and deep interest in game development

    Motivation:
    I'm passionate gamer and my long-term goal is to become a game developer
    Personality:
    I'd like to challenge myself and constantly learn new things

    Short Essay:

    I've learned about 0 a.d. when it appeared on indiegogo. A few days ago I've got an email from Wildfire Games and decided to finally try to take active role in 0 a.d. development.
    This is a great opportunity to get gamedevelopment experience, to learn more about game engine architecture, to participate in real game and to meet passionate gamers and developers like me


    Interests and Hobbies:
    Computer science and programming, gaming and gamedev, sci fi (books, movies), astronomy

    Staff:
    No
    Community:
    Reddit
    Favorite Game:
    Witcher 3, Skyrim, Crusader Kings 2, Age of Empires 2, Cossacs, Assassin's Creed series, list goes on...

    Work Examples:
    C++ developer in Nokia Networks (2 years)

    • Like 2
×
×
  • Create New...