1.10 Shaders

1 view
Skip to first unread message

Theodora Andy

unread,
Aug 5, 2024, 10:31:06 AM8/5/24
to venhitewi
Tounderstand how to use these shaders, we have created a detailed tutorial for you to master this powerful new feature. The whole process is explained step-by-step with a concrete example. This tutorial also gives you tips on how to create your own shaders.

Shaders from rre36 ceased to exist in February 2014, but that does not mean that we pass them by. These shaders are not as good during the day but at night your world come alive and become super by realistinen. In General, shaders are very bright with good color and perfect for weak PC


Conquest of the Sun - Sadarak created based on shaders Chocapic Shaders specifically for the project Conquest Reforged. Sadarak gives the textures a gloomy appearance and very well conveys the atmosphere of the middle ages


In version 6.1 Shader from Robobo1221 there are a lot of innovations. Added new clouds and the refraction of glass, updated light vectors and normal vectors of the vertices, the new gamma correction in volumetric lights, changed sunlight color fog, the light from the torches and saturation.


Shaders from DocteurDread's for GLSL mod. This sadirac adds beautiful graphic effects to Minecraft such as rainbow, swaying grass or leaves, clear water and many more... depending on the power of your graphics card you can set light, medium or ultra version of the Shader


SFLP (Shaders for Low End PCs), the Shader for the weak computers. These shaders are created on the basis of Chocapic13's Shaders, and is intended to help all owners of computers with weak graphics cards (2GB RAM and Dual Core 1.7 Ghz processors). Available in two versions: Lite and standard


Sildur's Shaders is the best Sadarak for mod shaders. It adds shadows, dynamic lighting, and waving grass, leaves and realistic water in the game. Unlike other sadibekov, this will work on all graphics cards and computers, including the Mac, thus not allowing to sink your FPS.


Hey! I made a GLSL shader in C++ a while back which takes a model (.obj) and paints it using an a skybox-like cubemap. It would also mix that on a 50/50 ratio with a standard texture it had. Made it look really nice and mystical. I've spent hours trying to find out how to apply custom shaders to Forge custom model blocks in Java and I'm no closer replicating that effect in Minecraft. How would I override the renderer and shader for my block? How would I make it use a .obj file (any TileEntitySpecialRenderer code I've seen uses block ModelRenderers in a ModelBase extending class) ?


As for the other points, does anyone know how to the renderer to use a custom shader? The code I've seen thus far was pure Java and only enabled/disabled effects used by vanilla, not using fully custom-written shaders. For my project I specifically need to override the fragment shader.


Vanilla does not support custom shaders by itself (except ones activated when you spectate as a spider/creeper/enderman). So you have to use LWJGL and Open GL directly. But be ready to either completely change the way you draw model in-code or the way your shaders accept data. Because how vanilla MC pushes stuff to GL and how shaders normally work do not match at all.


First, create custom shader helper class, that sets all uniforms, uploads shader, binds, etc... Now, if you want your shader to be customizable with resource packs, implement and register IResourceManagerReloadListener, in which you load/reload shaders. Otherwise, just upload it in post init.


The first option is easier. Just create all necessary classes using modern GL functions - Mesh, Matrix Handler, etc... For the mesh, it is recommended to use VAO with indexed position VBO and non-indexed texture & normal VBOs, because that's how OBJ model is encoded. Now you just have to write your own OBJ reader and compiler (which compiles it into a mesh). There are plenty of tutorials online on how to do this.


NOTE 1: This shader pack is still very much WIP. Something could change drastically between versions, and a lot of things haven't exactly been fleshed out entirely. With that out of the way...


Why did I write Clarity? If I'm being honest, it was a side-project; I just started writing some GLSL code one day, came up with a bloom implementation based on Chocapic's bloom implementation, added rudimentary gods rays. Showed it to a friend, he liked it, so I had the thought of writing an entire pack. Found 'bump-shadow-waving' and spent some time merging the two packs and fixing up the code. The result was a pack that had simple shadowing, POM and specular, waving terrain, a poorly performing bloom implementation and some half-implemented gods rays. But, I went back, modified the shadow code to fix up shadows projecting on water (since the pack already had shadows projecting through water), left bloom disabled and finalised gods rays. I also changed direct light colouring to work similarly to how Chocapic's pack does it, spent a bit of time finding colours for direct and ambient lighting which worked well together. Then from then on, I fixed gods rays a little to add moonrays and tied the colour of gods rays to direct light colour, added shadow filtering which made shadowing at lower resolutions more viable from a quality standpoint. Added SSAO, and all the other effects in 1.2.5_2.


What does Clarity offer over other packs? Currently? About the only difference is in how configurable Clarity is. One of the main points of Clarity is for it to be as open as possible; you can tweak Clarity to make it look how you want it to look. Don't like the colour of block lighting? You can change that for red, green and blue separately, with increments of 0.05 allowing you to make any colour block lighting you want. Don't like how grey moonlight is? Turn natural moonlight off to give it a more bluish tint. Don't like how dark the night sky is? You can switch between a number of presets. Don't like the dynamic shadows and just want some simple effects? Turn them off!


Why is it only for 1.10? Optifine has this nifty thing called the '#include' preprocessor command. Basically, this allows you to link multiple shaders together; so I can write some code once in a single file, use '#include "\path\to\file.glsl"', and Optifine, when it loads my shader, will dump the contents of '\path\to\file.glsl\' right where that '#include' was. This makes adjusting things much easier when you have some code that's being used in multiple files; edit it once, and the changes cascade to all files that include it automagically. Unfortunately, 1.8.9 and 1.9 versions of Optifine have a half-implemented version of '#include' that only works in .fsh shaders, .vsh shaders cannot use it. 1.10 versions of Optifine have fixed this. I use it in multiple .vsh files, so the shader will only work with 1.10 or above. I might make a legacy version which works for versions below 1.10 once I have more things in the pack.


A. There are two values you can change in regards to how sharp and accurate shadows are: shadow resolution, and shadow distance. Shadow resolution determines the resolution the shaders mod renders the shadow map out at, and shadow distance determines how far shadows are rendered from the camera. Either one of these can influence the other. A resolution of 4096 at a distance of 256 is identical to a resolution of 1024 at a distance of 64; it both looks and performs similarly. If you want shadows to be sharper, you can either increase the resolution and leave the distance (default of 96 is fine, 64 is fine too, if you want the extra sharpness), or drop the distance and leave the resolution.


A, Open shader options -> Lighting & Shadowing -> Lighting -> Block Lighting -> Change the red, green and blue values. They increment by 0.05 each, with a few intermediaries for the default light colour, so you have a lot of control over the colour of block light. Similarly, you can change the intensity and attenuation of block lighting both during clear and rainy weather.


This shader pack is property of jcm2606, hereby referred to as 'The Owner', 'I', or 'me'. Upon downloading and using this shader pack, you are immediately and implicitly agreeing to the terms listed below. Failure to meet these terms will result in a request to get your thread / download taken down.



What you can do:

- You can edit this shader pack for personal use.

- You can use this shader pack in any videos you wish, though I ask you do include Clarity's name and link back to the thread.

- You can suggest changes to the shader pack, in fact I encourage it.



What you may do:

- You may edit this shader pack and, if the changes you made deviate in any meaningful way from my version, release it with my written permission. Note, 'deviate in any meaningful way from my version'. A couple edited constants do not count. What will count is if you change the lighting in a substantial way, modify my code in a substantial way, or otherwise make a clear change.

- Edited packs must include "credits.txt" and "license.txt" at their root, they must keep the header comment for each and every shader in the pack, they must clearly indicate they are an edited version of Clarity, they must use this license as their own, and I do ask they append any changes to "version.txt".

- If the changes are substantial, ie you rewrote parts of the pack, the above term is optional; you may include "credits.txt" and "license.txt", you may keep the header comment, you may use a custom license. I do request you still indicate it is an edit of Clarity, you do give clear credit to me, Chocapic, and the author of 'bump-shadows-waving-0.9.9', and you do append changes to "version.txt".



What you cannot do:

- You cannot edit this shader pack and distribute it without my written permission.

- You cannot edit this shader pack and claim it is yours.



I will not be held accountable if:

- Somehow this shader pack breaks your computer.

- You release an edited version and use copyrighted code.

3a8082e126
Reply all
Reply to author
Forward
0 new messages