nikagra
-
Posts
20 -
Joined
-
Last visited
Posts posted by nikagra
-
-
I've attached another patch to ticket #3640
- 1
-
I can't really see the difference between with and without the patch, so it might be more subtle than I expected.
Patch only adds partial support for #include directive. It's too early for SMAA yet
-
I highly recommend use our trac to upload, submit patches, changes.
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
- 1
-
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
- 1
-
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?
-
-
#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
- 1
-
Oh, and #include directive seems to be very usefull
-
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
-
It's ok. General syntax for defines in C is:
#define CNAME value
OR
#define CNAME (expression)
-
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?
-
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
- 3
-
SMAA is also image-based post-processing technique. It should be only slightly worse than FXAA but more accurate in edge detection
- 1
-
Maybe you are right, this is strategy game, not FPS.
So I try to dig into SMAA
- 1
-
Here is Reddit discussion on AA: Anti-Aliasing modes explained
Maybe we should try SMAA:
- 1
-
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.
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:
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.
- 2
-
Ok, great, I'll try to implement antialiasing then. Is there is a ticket for this? Need to do a small research)
Thanks
-
Thanks Yves and stanislas69
I've already submitted patch to #3570 (smth simple to start with)
I'm more intreseted in rendering and AI, but I won't turn up my nose from any task
-
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), astronomyStaff:
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)- 2
Programmer (Graphics, Gameplay, AI) - Mikita Hradovich (yet another (game) developer wants to participate)
in Applications and Contributions
Posted
This is how edge detection in SMAA (OpenGL 2) looks like