Dolphin, the GameCube and Wii emulator - Forums

Full Version: Pack of Ported Shaders
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
Adding storybook to first post. There are a few more options than I'd like, but I got tired of messing with it for now.

Use the Default one for preset colors, then the ManualColors one if you want something different.
Try it at x2 resolution, you might not need any more.
Set Mix to 0 to remove the extra color mask.
You can do some cool things, like set the brightness to 0 and the storybook brightness to max.

Let me know if anything needs to be tweaked. I only tested it on the start mario sunshine. Props to guest.r for making the original playstation storybook shader.
Holy hell, I did it in like 10 minutes. Using Reshade + Dolphin dx11. http://reshade.me/#download

It doesn't work with Dolphin's screenshot function.

Major thanks to Ramuh and Nerd for suggesting I try Reshade.  Reshade let's you sample from an external image. It also claims you can use the depth buffer, but that doesn't work with dolphin.

How to use:
Download Reshade (don't need sweetfx version).
Rename reshade64.dll to dxgi.dll for dx11.
Place dxgi.dll into the Dolphin's exe folder.
Open my .zip then place Reshade.fx and noise.tga into Dolphin's exe folder.
Run Dolphin with dx11.

/edit Re-uploaded the .zip with a properly named reshade.fx and decreased brightness by 10%
Reshade doesn't have any sliders or anything, BUT it does change the image in real time when you change and save the .fx file. I could make a program that gives you sliders to modify the reshade.fx file easily.

/edit2 Here's a shader that uses vertex data and (correct me if I'm wrong) I don't think could be ported right now: https://github.com/libretro/common-shaders/blob/master/hqx/shader-files/pass1.cg
i thought reshade had intrinsics for perlin noise....

Nerd

(02-15-2015, 09:03 AM)mudlord Wrote: [ -> ]i thought reshade had intrinsics for perlin noise....

What is that?
What are they?
Oh just some in-built functions to generate perlin noise.

Nerd

Well I hope someone explores that, google images leads me to believe it would have an interesting effect on some games.
I don't need noise with reshade, since it lets you load a noisy image and combine it with the game's image, which is easier. I could find something like a crumpled paper image and then use that.

Zelda definitely needs tweaking with the shader. You can do it by editing values. I have them commented in the reshade.fx file Search for //Intensity and change the numbers on the three commented lines, while the game is running. then save. It will update the game's picture. I'm looking at making an easier way to tweak the settings.

Nerd

http://a.pomf.se/xxpayd.webm
http://a.pomf.se/kmovxu.webm
http://a.pomf.se/rdcjus.webm
http://a.pomf.se/aqnyyn.webm

Here are a few .webm's of the Dolphin shader, it looks really cool after some tweaking. I'll see about the Reshade port again, so far with PS2 games I couldn't get the color beige so it looked bad.
(02-15-2015, 03:13 PM)Nerd Wrote: [ -> ]http://a.pomf.se/xxpayd.webm
http://a.pomf.se/kmovxu.webm
http://a.pomf.se/rdcjus.webm
http://a.pomf.se/aqnyyn.webm

Here are a few .webm's of the Dolphin shader, it looks really cool after some tweaking. I'll see about the Reshade port again, so far with PS2 games I couldn't get the color beige so it looked bad.

Wow it's such a neat shader and the coding is very simple.

In reshade you can comment out (//) "float3 paper = tex2D(samplerImage, texcoord).xyz;"
and insert this in the line below that:
float3 paper = float3(0.97,0.86,0.72);

After that you can change the three numbers in that line for RGB values between 0 and 1. You can look at the dolphin glsl for the values I used there. A bit of work, but then you have various colors.


I put a comment on a wrong line too. It should be
d = pow(d,0.5); // Mix strength set 0.5 to 0 to remove the color mixing.

Well the reshade one still needs some work. It does look more yellow than it should be.

Crosire

Just came across and thought I'd give some input =)

About the "noise" intrinsic: HLSL had one back in shader model 1, but it was removed starting with shader model 2. Now I didn't know that at start and thus exposed it in ReShade as well, although it uses shader model 3-5. It is removed again in the current build, but still available in the public one as of today.
This means you can use it, but you'll get a compiler error under all Direct3D versions. It will work under OpenGL though, because translated to the equivalent "noise1"/"noise2"/"noise3" GLSL intrinsics there, which are still available in GLSL4.3 (which is the version ReShade currently uses).
To summarize: Don't. It's deprecated and removed in the next version, faster to use a lookup texture like suggested anyway.

The shader using vertex data could be ported to ReShade, because all those external values are constants. So instead of passing in that "input IN" structure, just define its members staticly in the shader code. Then replace the code passing through the other vertex input parameters with some code generating them from the vertex id (See the "MainVS" function in the tutorial for an example to create fullscreen triangle positions and texcoords. It's optimized code, so instead you could also just do a long "if (id == 0) ... else if (id == 1) ... else if (id == 2) ..." statement). The rest is similar, you are free to edit the vertex shader to your likings.
Note that you don't need to (and you can't) add uniforms as function parameters, just add them to the global scope before the function. ReShade also doesn't support the "half" type (modern hardware doesn't anyway), so just go for "float".

Also, I'd suggest you remove the first pass and the "texTarget" textures from the shader you posted. You're not using it, so it just takes away performance and memory.
If you have questions, feel free to ask, though it's probably easier to get ahold of me in the ReShade forums.

Cheers =)
Pages: 1 2 3 4