READ THIS ENTIRE POST BEFORE DOWNLOADING!
CHECK THE WIKI BEFORE ASKING QUESTIONS!

Do not post questions here about your problems if you haven't read this post and haven't checked out the wiki. If you ask a stupid question, I will give you a stupid answer. I don't expect you to know everything about this mod or Java or GLSL but I expect you to use common sense. That means if you get an error in the install log, you need to copy and paste it here. Don't just say "the install log says fail".

The heart this mod simply sets up custom GLSL shaders for rendering in a flexible deferred shading pipeline. By default, the shaders implement a depth-of-field effect (by Azraeil) that focuses on whatever you're looking at, as well as waving grass.

Check it out!

Even if depth-of-field isn't for you, there are endless possibilities with GLSL shaders. For example . . .

Waving wheat, world curvature, and toon shader (video by Yourself):

Parallax occlusion and specular mapping:

These videos were made with a previous version of this mod. The previous version's shaders will not work with this version. They need a few minor edits to be ported to the new version. Check the wiki and posts here for ports of the shaders.

The new version of the mod does not yet include anti-aliasing options. However, you can use it to get clean MSAA anti-aliasing without artifacts by forcefully enabling MSAA in your graphics card's control panel, then marking the texture coordinates as "centroid" in the shaders (by changing "varying vec4 texcoord" to "centroid varying vec4 texcoord" wherever you see it).

The mod works nicely with most other mods (including Optifine). Just be sure to install this AFTER your other mods. See the wiki for more information regarding mod compatibility.

The download contains a graphical installer. For a basic installation, just run it and hit the "Install Mods" button. If you have problems installing, hit the "View Log" button and copy/paste that information into a post here. minecraft.jar must be in the same directory as lwjgl.jar. It doesn't matter where the installer is located.

If you have a minecraft installation where minecraft.jar is actually a directory instead of a jar, the installer won't work. I'll probably update this eventually, but for now zip up the minecraft.jar directory, make sure it's still named "minecraft.jar", then install.

Back up minecraft.jar before installing this mod. If your graphics card doesn't support GLSL shaders, this mod won't work! Also, a few ATI cards don't seem to be working correctly (if you're not using Catalyst 11.1 or higher it very likely won't work).

Dynamic Shadows

Using this mod you can enable dynamic sun/moon shadows. If you use one of the shadow shaders and see chunks rapidly appearing and disappearing in the distance, install Optifine then reinstall this mod.

- Screenshot by sonicether (You can get his shaders for the mod from the thread here.)

Before the update for Minecraft 1.1.0, the shadow map used a perspective projection. Now, by default it uses an orthogonal projection. For backwards compatibility, including the SHADOWFOV configurable in a shader will force the shadow map to use a perspective projection. If you want to prevent the shadows from moving with you, make sure this line is not present (and optionally replace it with an appropriate SHADOWHPL configurable).

Download for 1.3.1: (Updated August 6)

If you've installed a previous copy of this mod, download a fresh copy of minecraft.jar (by forcing an update or deleting the file named "version") or restore a backup minecraft.jar before installing this update.

You can download previous versions of this mod or view change logs at the repository. To install them, download the installer at the URL above, then go to File -> Import and select the .n2 file.

You can find information on texture packs, shaders, and mod/hardware compatibility on the wiki.

Known Issues:

The default DoF may incorrectly apply a subtle blur to the sun/moon.

A blur is incorrectly applied to Endermen with the DoF shaders.

The included shadow shaders incorrectly apply shading to the player's hand.

Some people install the mod and can't see any textures. I don't really know what's causing this. However, some people have said installing Optifine before installing this mod fixes the problem. If you'd like to help, go to the Wiki and put your graphics card and driver version in the hardware compatibility section.

Todo:

Better water (refractions / specular effects).

Better shadows.

Optimize, optimize, optimize.

Compatibility with other mods (such as the water reflections mod).

Add more sample shaders.

In-game menu with more options.

Revamped lighting?

Better motion blur?

GLSL Geometry Shaders?

Fix some of the installer quirks.

Modified / Alternate Versions

A few community members have been making modifications to the mod as well as mods that supplement its functionality (It's open source and I encourage people to do so.). If you do this, you can do what you want with it and distribute it how you want, but I highly recommend putting it on the wiki for everyone to download.

The one major rule
Do not distribute anything we've made. This includes, but not limited to, the client or the server software for the game. This also includes modified versions of anything we've made.

If you don't like patchers, sorry but I won't be distributing modified class files, and no amount of q_q is going to change my mind.

I will always distribute this mod in the form of a patcher. I will never distribute modified class files. You should be glad this is a patcher anyways, because if it weren't, it wouldn't work with a lot of other cool mods.

Contact:

Feel free to send me an email at daxnitro [at] gmail if you have any problems, suggestions, or complaints. If you have any good shaders or bump maps, post them on the wiki!

You can also reach me as @daxnitro on Twitter! Follow me for information regarding updates.

If you like the mod, consider donating! It helps keeps me motivated and a lot of it goes towards the mod or other cool projects in some way.

edit: it didn't work with my autoinstaller. on further investigation of why it's not plug-and-play like most mods, I found that you included an autoinstaller of your own. also the zip is named very nondescriptively. as I type I have yet to try it because it hasn't installed yet.

Yeah, it uses GLSL now. The installer is certainly in dire need of attention from me. I completed the mod itself and was in a hurry to get it out. I'll be working on it over the next few days.

edit: it didn't work with my autoinstaller. on further investigation of why it's not plug-and-play like most mods, I found that you included an autoinstaller of your own. also the zip is named very nondescriptively. as I type I have yet to try it because it hasn't installed yet.

Yeah, it uses GLSL now. The installer is certainly in dire need of attention from me. I completed the mod itself and was in a hurry to get it out. I'll be working on it over the next few days.

no! no installer! it doesn't need your attention! get rid of the installer and distribute the mod itself, for god's sake!

Redistributing modified Minecraft class files isn't legal (and is specifically listed as prohibited in the "Read Before Posting" thread), and while other modders may do it, I won't. I'll make installing this mod as painless as possible. Just give it a little while.

Just posting up a modified shader for this great mod. The goal of this modified shader is to make it a little more realistic by dynamically changing the DoF based on how far away your sights are aimed.

Just replace /mods/shaders/files/shaders/final.fsh with the included file prior to patching.

Just posting up a modified shader for this great mod. The goal of this modified shader is to make it a little more realistic by dynamically changing the DoF based on how far away your sights are aimed.

Just replace /mods/depthOfField/files/shaders/final.fsh with the included file prior to patching.

there you go. this mod will now work. note to daxnitro: welcome to the modding community. now that you have a real version of your mod to distribute, maybe we can all be happy! on a different note, I'm only against per-mod patchers, so if we were to create a generic patcher that worked well, which your patcher appears to be close to (I had to rewrite your shell scripts completely btw), then maybe the issues with single-mod patchers can evaporate. in the meantime I plan to do what I just did to anyone who uses single-mod patchers.

Were there any problems with the shell scripts? I did exactly as the readme suggested and ran install.sh with minecraft.jar and ran into no problems. Btw, I'm pretty sure distributing copyrighted materials (modified class files) is illegal in every regard. Notch said himself at http://minecraft.net/copyright.jsp that he does not approve.

The one major rule:
Do not distribute anything I've made. This includes the client and the server software for the game. This also includes modified versions of anything I've made.
In order to maintain control of the project, I need all game downloads to come from a single central source. I hope you understand.

One question though: is the sharp area big enough? Seems to me as DoF is spread around too much. I know that it applies the effect to everything that isn't in focus... but the sharp areas might need be bigger or maybe the mod should only blur the distant blocks and leave everything else alone - regardless of where the player focuses his view?

Thanks! Bear in mind, I didn't have the chance to try and see your mod in action (Win7 here).

One question though: is the sharp area big enough? Seems to me as DoF is spread around too much. I know that it applies the effect to everything that isn't in focus... but the sharp areas might need be bigger or maybe the mod should only blur the distant blocks and leave everything else alone - regardless of where the player focuses his view?

Thanks! Bear in mind, I didn't have the chance to try and see your mod in action (Win7 here).

topic bookmarked

This is all done in the GLSL shaders which are just text files that are easily interchangeable. I'll be distributing the mod with several different DoF implementations, so users can decide on what they like. I found that leaving the DoF the same regardless of the player's focus is just unpleasant, but others may disagree.