Upgrade of graphics engine

For code related discussions and questions
Post Reply
User avatar
MaNGusT
Art contributor
Posts: 1036
Joined: 22 Sep 2006, 10:31
Location: Polar region, Russia

Upgrade of graphics engine

Post by MaNGusT » 23 May 2019, 15:10

We have possibilities to improve wz's engine and I just want to know do people and especially main coders need such help. We have already finished the small part of this work in PR338. I created a new ticket to know should we continue to work on such improvements but no one answered yet. So I decided to repeat the question but in advanced form.
We have a list of new features we can and know how to make properly but don't want to spend our free time for free if no one needs this. We need a positive answer to start to work on new PR. May be main coders have another plans we don't know about.
This new features aren't very impressive, they are just default for any game but still not in wz yet.
So the list contain:
1) Improve materials directive usage to save artist's texturing time. In future it can be updated by new values to control, ie parallax mapping depth scale factor etc.
1_1) we can add bloom/glow effect for emissive lights which will add eyecandies to "dark" world of wz.

2) Upgrade terrain engine to generate smooth shaded normals and add texture loader for normal maps and specular maps. This will allow us to write a shader that will use tangent-space normal maps.
2_1) This will also allow us to add parallax mapping technique in shader that greatly improve realistic of terrain and its decals.

3) Rewrite shadows code to make them smooth and flexible.
4) Add SSAO effect that best of all adds realistic to entire scene.

That's all. What do u think? :-)
Image

pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 209
Joined: 13 Aug 2017, 17:44

Re: Upgrade of graphics engine

Post by pastdue » 23 May 2019, 17:28

To get a handle of where I'm at currently: I'm working to upgrade and port vlj's remaining work in wrapping OpenGL calls and adding a Vulkan backend. (Making solid progress.) It may make the most sense to get that merged before additional graphics engine changes, as it requires a number of changes to a lot of files (being a substantial refactor).

Having the additional Vulkan backend is key: not just for performance / flexibility reasons, but also for compatibility (it lets us support future versions of macOS that may no longer support OpenGL, for example, via a Vulkan -> Metal layer).

But the ideas you've enumerated would be fantastic upgrades (IMHO). If we can slot them in after we're done porting the remaining bulk of vlj's gfx_api refactor, I think WZ will be in tremendous shape (and we'll minimize duplication of effort).

Longer-term, I'd like to see a built-in option in the game to switch between "classic" graphics/artwork, and Art Revolution mod graphics/artwork. 8)

User avatar
MaNGusT
Art contributor
Posts: 1036
Joined: 22 Sep 2006, 10:31
Location: Polar region, Russia

Re: Upgrade of graphics engine

Post by MaNGusT » 23 May 2019, 18:59

Glad to hear good news. :-) So, we have two ways to go 1)just wait wz3.4.0 2)prepare PRs which would probably need adapting to new graphics code.
Image

pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 209
Joined: 13 Aug 2017, 17:44

Re: Upgrade of graphics engine

Post by pastdue » 23 May 2019, 19:19

MaNGusT wrote:
23 May 2019, 18:59
Glad to hear good news. :-) So, we have two ways to go 1)just wait wz3.4.0 2)prepare PRs which would probably need adapting to new graphics code.
If we can get the gfx_api refactoring of the shader-related code finished up, that's a bulk of the major code changes that might affect this future work.

Post Reply