Jump to content

nikagra

Community Members
  • Posts

    20
  • Joined

  • Last visited

1 Follower

Recent Profile Visitors

960 profile views

nikagra's Achievements

Discens

Discens (2/14)

17

Reputation

  1. 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
  2. In my opinion we should adapt FXAA at least as an option for low end PCs. I would rather use FXAA than NoAA. When we prepare SMAA we can add it as second option or remove FXAA
  3. 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
  4. #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
  5. I've found 0ad GLSL preprocessor. It actually do not support of some features. So, I'll try add them #elif directive and directive expressions
  6. 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?
  7. 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: I'm trying to integrate this shader into the game now
  8. SMAA is also image-based post-processing technique. It should be only slightly worse than FXAA but more accurate in edge detection
×
×
  • Create New...