Wireframe mode

  • thalixte
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #1 by thalixte Wireframe mode was created by thalixte
When i worked on the depth buffer detection, i used to enable the wireframe rendering mode of directX. Of course, this modifications alone does not help to have a good representation of the vertices the game uses. But accidentally, i found that coupling those rastering representation alongside with the displayDepth shader produces a very good result.

So i implemented the wireframe representation, and added the ability to bind a key combo to this end (shift+W for me).

I do not know if this feature has a real interest (except for analysing purpose), so i ask your opinion about it (and especially Crosire's one). Of course, this feature would only be available in offline mode to avoid wall hacks and so on...
This wireframe mode would work for all the games that have a valid depth buffer.

To illustrate it, here are some screenshots:
Assassin's Creed Odyssey:

Assassin's Creed Origins:

Agents of Mayhem:

Race Driver Grid:

Shadow Warriors 2:
Last edit: 5 years 3 months ago by thalixte.
The following user(s) said Thank You: Wicked Sick, luluco250, Masterfireheart

Please Log in or Create an account to join the conversation.

  • crosire
More
5 years 3 months ago #2 by crosire Replied by crosire on topic Wireframe mode
Too dangerous I'm afraid. The network detection works well enough, but I don't want to risk it not working perfectly in some multiplayer games and having this available.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #3 by thalixte Replied by thalixte on topic Wireframe mode
OK. I understand your point of view ;) So, i will not make a PR for this.

Please Log in or Create an account to join the conversation.

  • Sami 1999
More
5 years 3 months ago #4 by Sami 1999 Replied by Sami 1999 on topic Wireframe mode
This could be useful for Anti Aliasing.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #5 by thalixte Replied by thalixte on topic Wireframe mode
Some more screens...

The Witcher 3 Wild Hunt:


Last edit: 5 years 3 months ago by thalixte.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #6 by thalixte Replied by thalixte on topic Wireframe mode
Gran Theft Auto V:






Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #7 by thalixte Replied by thalixte on topic Wireframe mode
Half-Life 2:


Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #8 by thalixte Replied by thalixte on topic Wireframe mode
We can clearly see the increasing in the number of vertices and draw calls over the years :P

Please Log in or Create an account to join the conversation.

  • JBeckman
More
5 years 3 months ago - 5 years 3 months ago #9 by JBeckman Replied by JBeckman on topic Wireframe mode
Definitively, something using tessellation or the dynamic variety would probably also show up or even risk framerate dipping a fair bit since culling would otherwise prevent this from being drawn such as the case of Crysis 2 and the incorrect assumption on how it did tessellation and was wasting GPU performance when it's mostly a issue with the wireframe mode forcing everything to be visible. :D

I like the effect although I don't use wireframe in too many titles usually due to the performance being less than stellar though older games would be more manageable.
(Well not too many games offer it as a console cvar or similar either, TWF in Elder Scrolls was it? ToggleWireFrame for one of the later games via Fallout 4 and it's Creation engine retaining many of the same cvars.)

EDIT: Well doing it that way it wouldn't be as clean as the above images either via black & white. :)
Last edit: 5 years 3 months ago by JBeckman.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #10 by thalixte Replied by thalixte on topic Wireframe mode

JBeckman wrote: Definitively, something using tessellation or the dynamic variety would probably also show up or even risk framerate dipping a fair bit since culling would otherwise prevent this from being drawn such as the case of Crysis 2 and the incorrect assumption on how it did tessellation and was wasting GPU performance when it's mostly a issue with the wireframe mode forcing everything to be visible. :D

I like the effect although I don't use wireframe in too many titles usually due to the performance being less than stellar though older games would be more manageable.
(Well not too many games offer it as a console cvar or similar either, TWF in Elder Scrolls was it? ToggleWireFrame for one of the later games via Fallout 4 and it's Creation engine retaining many of the same cvars.)

EDIT: Well doing it that way it wouldn't be as clean as the above images either via black & white. :)


Oddly enough, the way it is implemented does not impact the perfs drastically. I can travel across ACOD or TW3 world without great frame drop. I can also watch the culling algorithm working in real time. If i have some time, will make a video.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #11 by thalixte Replied by thalixte on topic Wireframe mode
Shadow Warrior 2:
Last edit: 5 years 3 months ago by thalixte.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #12 by thalixte Replied by thalixte on topic Wireframe mode
The Witcher 3:
Last edit: 5 years 3 months ago by thalixte.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 3 months ago #13 by thalixte Replied by thalixte on topic Wireframe mode
Assassin's Creed Odyssey:

Please Log in or Create an account to join the conversation.

  • Fu-Bama
More
5 years 2 months ago #14 by Fu-Bama Replied by Fu-Bama on topic Wireframe mode
In some areas there are more vertices than pixels. That's why those new games run so poorly.

What a waste of resources, big studios never put real effort into optimization. Sadly

Please Log in or Create an account to join the conversation.

  • JBeckman
More
5 years 2 months ago - 5 years 2 months ago #15 by JBeckman Replied by JBeckman on topic Wireframe mode
That's what I heard from Kaldaien on titles such as Mafia 3 as well, some games do a really good job with culling invisible geometry others well the geometry extends way into the distance even beyond where it would be reasonably visible.
(Through SpecialK and some of it's measuring utilities.)

Odyssey and Origin both fall for a similar issue and a huge usage of draw calls though Anvil Next and the version used in these two games utilize a stunningly long range view distance with a aggressive but very well masked level of detail and scaling geometry down after only a short distance through several different LOD levels but the sheer amount of geometry does take a chunk out of most GPU's to try and handle or how to say. :D

Some games offer wireframe mode of their own but it's also useful to note that some titles no longer cull when this is active so what would be obstructed or removed is now rendered, games like Wolfenstein New Colossus (Once the full console commands are unlocked.) showcase this pretty clearly though by just causing a massive performance drop that isn't there under normal conditions so the GPU is performing a far greater workload trying to manage this extra data that would otherwise just be discarded.


Causes problems for ReShade I'd imagine with the heightened GPU workload already doing a number, Watch_Dogs 2 is a good example too where the extra view distance slider works up to around 50% and then above that it's nearly going down to single digit framerate since it's too much for even current high-end GPU's or the engine itself to handle and even at 50% the extra clutter in cities and even the countryside extent into the far distance so it's a bit of a mystery what pushing it another 50% higher for the full 100% actually accomplishes beyond a minor change in clutter view distance before it's too far out and just totally tanking framerate. :D
(Options are nice though but some of them just go beyond what the game, game engine or current hardware could ever cope with. Hardware itself improves over time, engine though well if that's a bottleneck it's a stopper.)


EDIT: Was replaying Division last week and it showed a pretty good usage for this since the narrow straight city blocks allow for good removal of unneeded geometry though it also lacks one other very common recent addition which is also why the GPU has little problem with the game, compute shaders.
(Anvil Next 2.0 is even using these to control level of detail instead of utilizing a vertex shader though while the games and the engine have their issues I've always been impressed by the underlying tech itself as a good initial showcase for true next-gen game engines or the start of what might be once the console hardware for this is out and becomes the next target platform.)
Last edit: 5 years 2 months ago by JBeckman.

Please Log in or Create an account to join the conversation.

  • thalixte
  • Topic Author
More
5 years 2 months ago - 5 years 2 months ago #16 by thalixte Replied by thalixte on topic Wireframe mode
Interesting, indeed. But, as far as i know, Anvil NEXT 2.0 was designed at first in the optic to be run with directx12. So i guess that some implementation decisions were taken with this API in mind.
That's why this particular game engine faces some perf issues when it was ported to dx11.
Last edit: 5 years 2 months ago by thalixte.

Please Log in or Create an account to join the conversation.

  • JBeckman
More
5 years 2 months ago - 5 years 2 months ago #17 by JBeckman Replied by JBeckman on topic Wireframe mode
Yeah it's actually partially in the code already but running through some D3D11 mode instead and that's possibly one reason for it's performance problems in addition to probably the heaviest reliance on D3D11 deferred render contexts that I know about. I wish I knew more on how this is set up but I do hope to see Assassin's Creed Italy (Whatever the actual name for the next one will be.) moving to full support for low-level API's even on PC. :)

If supported the game will spawn a full 8 helper threads for this, still heavily CPU reliant even without it to the extent a hexa core can greatly help stabilize performance so it spawning even more threads can really hit quad cores even for more recent hardware. Also something I expect to see a lot more of in the next generation of consoles and the game engines tuned for this gen which from the looks of things it's a Ryzen AMD 8 core processor with some form of APU for the graphics card maybe Navi maybe something else. (Various leaks and such but nothing completely concrete yet until the official unveiling I suppose.)


EDIT: Getting a bit tech heavy I guess, it's a solid engine even with these little things that it has and they can't really drop Windows versions earlier than 10 due to market share and install base unless Vulkan could be a alternative so D3D11 for now and maybe D3D12 support can also be a thing for the newer games.
(Preferably with a solid implementation without errors or performance problems when it's intended to alleviate bottlenecks and problems with D3D11 although as a lower-level API so D3D11.4 and newer will still see active support and development.)
Last edit: 5 years 2 months ago by JBeckman.

Please Log in or Create an account to join the conversation.

  • Fu-Bama
More
5 years 2 months ago #18 by Fu-Bama Replied by Fu-Bama on topic Wireframe mode
*slightly off topic

Since industry is reaching level where vertex density is as big as number of pixels, why not move into point-could data (but please no ray-tracing :pinch: )?

There is an Australian company Euclideon that developed real-time point could graphics engine.

Warning: Spoiler!

It works by storing all points in a specific blocks of data which can be then displayed on the screen by a search algorithm (like google). All that info is guessing based from youtube. :P

The company made some software for Geodesy industry using that technology and now they make some AR stuff.

But it has some cons:
• Big storage space required for point-cloud data (terabytes or many gigabytes)
• Dedicated modeling and animating techniques (I guess)

But vertex shaders with this would be awsome :woohoo:

Guess they have all patents and will keep them for personal needs, I don't expect other companies adopting it :pinch:

Please Log in or Create an account to join the conversation.

  • crosire
More
5 years 2 months ago #19 by crosire Replied by crosire on topic Wireframe mode
Let's clear some things up here =).

Why is nobody using point clouds to render stuff?: Because rasterization is a very simple algorithm that is ridiculously fast and easy to accelerate on hardware. Tracing into gigabytes of point cloud data has no chance to ever win against that. That engine is a bit of an unfortunate example because it is widely believed to be a scam or at least not accurately reflecting a real world situation. There are point cloud engines out there which have shown that it's possible to do point cloud rendering in realtime (e.g. Atomontage), but there are so many disadvantages over classic triangle rasterization to it, that it is not feasible to do in real-time graphics (there have been many attempts at this in the past, none were ultimately successful). That is not to say point clouds do not have valid usecases. They are absolutly necessary in other areas of computer graphics (think object reconstruction, medical imaging etc.) and using them for data processing can produce some interesting effects (think voxel worlds like in Minecraft). But real-time rendering is not a good application. Even if hardware was fast enough to process gigabytes of point clouds really really fast, rasterization would be even faster, and by a significant amount at that.

On vertex shaders: You can't get around those. They are crucial to how the render pipeline works, as they are used to project your model from world space coordinates into the 2D plane that is then rasterized. So you can have an awesome LOD systems with all the compute shaders in the world to reduce the initial draw call load. You'll still pump your mesh data through a vertex shader when actually rendering stuff.
The following user(s) said Thank You: Wicked Sick, JBeckman, thalixte, seri14

Please Log in or Create an account to join the conversation.

  • Fu-Bama
More
5 years 2 months ago - 5 years 1 month ago #20 by Fu-Bama Replied by Fu-Bama on topic Wireframe mode

crosire wrote: Let's clear some things up here =).
(...)That engine is a bit of an unfortunate example because it is widely believed to be a scam or at least not accurately reflecting a real world situation. (...)

Don't think it's a scam. As I said, they invested into laser-scan/geodesy industry. Even provided free demo that you could try some time ago, [strike]now it's only for eligible customers.[/strike]
www.euclideon.com/vaultinfo/

Regarding vertex shaders I meant that due to high point density one could do amazing effects, that are not practical in standard polygon graphics.

*Edit

Here's an explanation how their point-cloud data engine works
Last edit: 5 years 1 month ago by Fu-Bama.

Please Log in or Create an account to join the conversation.

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.