Welcome, Guest.
Username: Password: Remember me

TOPIC: Comic Shader

Comic Shader 2 weeks 3 days ago #1

Here's a new shader I've been working on lately: Comic.fx.


(Reference)
Warning: Spoiler! [ Click to expand ]


In order to achieve this look this shader uses different sorts of (configurable) edge detection methods on the color and depth information of the frame. Also, every edge layer can be individually faded in and out with distance. After all the layers are combined the resulting layer can be masked based on the luminosity and saturation of the original color (useful to mask the game's UI).

Here is the edge layer from the first image:
Warning: Spoiler! [ Click to expand ]


With the debug option you can also create some interesting stuff (I posted that image also in the screenshots thread):
This is the debug output with the saturation mask overlay enabled and the value for the max saturation turned down. (And also a couple of other shaders)
Warning: Spoiler! [ Click to expand ]
Last Edit: 1 week 6 days ago by Daodan.
The administrator has disabled public write access.

Comic Shader (WIP/Experiment) 2 weeks 2 days ago #2

Very nice! :)
The administrator has disabled public write access.
The following user(s) said Thank You: Daodan

Comic Shader (WIP/Experiment) 2 weeks 2 days ago #3

Will have to test this out now...
The administrator has disabled public write access.

Comic Shader 1 week 6 days ago #4

Shader has been updated:
  • Tweaked default values
  • Optimization: runs now about 0.5 ms faster (from ~1.3 ms to ~0.7 ms), no more texture usage

[Edit]
Fixed wrong variable used in the interpolation of the convolution kernels.
I'm also currently adding descriptions in the source code. Done.
Last Edit: 1 week 6 days ago by Daodan.
The administrator has disabled public write access.
The following user(s) said Thank You: OtisInf, Arkane

Comic Shader 1 week 6 days ago #5

I always wanted a shader that properly did this. Thank you!!

Any idea why is this happening? It works fine while in configuration mode, but it doesn't work in performance mode. (plus some initial tests screens).

Last Edit: 1 week 6 days ago by Apocalypso.
The administrator has disabled public write access.

Comic Shader 1 week 6 days ago #6

Apocalypso wrote:
I always wanted a shader that properly did this. Thank you!!
Thanks! :)

Apocalypso wrote:
Any idea why is this happening? It works fine while in configuration mode, but it doesn't work in performance mode. (plus some initial tests screens).

I don't know why this is happening. The error log states that there are divisions by zero. Which is weird because I made sure that this is not happening. This is the only place where division gets used (lines 468 - 473, in the current version, I will add a changelog and version number to the file so tackling future issues will be easier):
float span = MAX2(maxd) - MIN2(mind) + 0.00001;

//Normalize values
depthCenter /= span;
depthCardinal /= span;
depthInterCardinal /= span;
I don't think this will help but try changing 0.00001 to something bigger like 0.001.

Other than that the ReShade compatibility list states that there could be some issues in Gw2 with the depth buffer access (which is used to draw the object outlines):
Depth buffer only works when standing still. Doesn't work with ingame SSAA. Put files into "\bin\".

Hope this helps.
The administrator has disabled public write access.
The following user(s) said Thank You: Apocalypso

Comic Shader 1 week 6 days ago #7

Us gw2 players use a modified version of reshade that removes depth buffer limitations and injects it before the ui is drawn. Unfortunately Greenbur is a busy person and didn't update it for a while, so we're stuck with something based on an old ReShade version (3.08 I believe). That is why I'm getting that error, I tried with official ReShade and I got no error, so I guess I'm going to just keep playing with configuration mode. Thanks again!
The administrator has disabled public write access.

Comic Shader 1 week 5 days ago #8

Just stopped by to say, really cool stuff :cheer:
The administrator has disabled public write access.
The following user(s) said Thank You: Daodan