github onnowhere/core_shaders 1.0.5
Release 1.0.5 for Minecraft Snapshot 1.17+

latest release: 1.0.6
2 years ago

These experimental core shader resource packs are created to be used in 1.17 and above.
These resource packs are individually versioned, so releases may not always update all resource packs.
Download any of the provided zip files and drop in your resource packs folder.

For related posts and updates: https://twitter.com/onnowhere_

Orthographic Shader RP (Version 1.0.1)

DOWNLOAD: https://github.com/onnowhere/core_shaders/releases/download/1.0.5/OrthographicShaderRP.zip
This core shader pack renders the entire game using orthographic projection. When using this pack, you can adjust your FOV to zoom in or zoom out as well. If you get confused using this, I recommend pressing F5 and going in third person so you can see your body as you move around.

Changes in 1.0.1

  • Fixed near clipping plane causing blocks behind the player to cutoff too early. Note that this does not prevent chunks behind you from disappearing when not visible in normal view.
  • Updated vsh_util to match latest version

Demo video: https://gfycat.com/mindlessathleticasianelephant

To edit shader properties, go to assets/minecraft/shaders/include/ortho_config.glsl and modify the values there
ZOOM - This value determines how zoomed the orthographic projection is (higher = more zoomed in)

Vertex Fade RP (Version 1.0.3)

DOWNLOAD: https://github.com/onnowhere/core_shaders/releases/download/1.0.5/VertexFadeRP.zip
This core shader pack offsets and shrinks block faces based on their normal direction and distance from the player. It works by using gl_VertexID on the vertices in order to estimate the block face's center and then offsetting faces all by the same distance.

Demo video: https://gfycat.com/defensiveimpracticalgrackle

Known Issues

  • Rotated faces at non-90 degree angles on blocks do not fade accurately*
  • Entity faces do not fade accurately*
  • Liquids do not fade properly in certain cases*
    *Cannot be fixed currently due to lack of information in vanilla core shaders

To edit shader properties, go to assets/minecraft/shaders/include/vertex_fade.glsl and modify the values there
distanceThreshold - Increasing this value increases the distance at which fading starts
fadeScale - Increasing this value increases the amount of distance it takes for faces to fade

Core Shader Custom Template RP (Version 1.0.1)

DOWNLOAD: https://github.com/onnowhere/core_shaders/releases/download/1.0.5/CoreShadersCustomTemplateRP.zip
This core shader pack is a modified template that renders identically to the default core shaders. This pack provides a condensed version of the default core shaders such that all vertex shaders can be edited with just 14 shader files located in assets/minecraft/shaders/core/main. This works by combining vertex shaders based on similar implementation and usage type. All 54 vanilla core shaders have their vertex shader mapped to the main shaders. This may not be the perfect solution for every use case and may need to be modified for your usage, but it can decrease development time by letting you worry about less shaders to edit. Fragment shaders have been left untouched.

Changes in 1.0.1

  • Updated vsh_util to match latest version

Core Shader VSH Util (Version 1.0.1)

DOWNLOAD: https://github.com/onnowhere/core_shaders/releases/download/1.0.5/vsh_util.glsl
Utility functions for core vertex shaders. Includes functions for offsetting entities in world space, orthographic projection, render distance and far clipping plane (thebbq's implementation), getting FOV, and checking if rendering in GUI/nether/main menu panorama. This shader include should be put in your include directory assets/<namespace>/shaders/include/vsh_util.glsl.

Changes in 1.0.1

  • Fixed isNether returning true when player pitch is 0 in dimensions other than the Nether.
  • Fixed getWorldMat returning 0 when player pitch is 0, caused by isNether issue
  • Fixed getOrthoMat near clipping plane causing blocks behind the player to cutoff too early.

Usage of WorldMat (must be a shader that has light0 and light1 directions):

mat3 WorldMat = getWorldMat(Light0_Direction, Light1_Direction);
gl_Position = ProjMat * ModelViewMat * vec4(Position + WorldMat * vec3(0.0, 1.0, 0.0), 1.0);

Usage of OrthoMat:

mat4 OrthoMat = getOrthoMat(ProjMat);
gl_Position = OrthoMat * ModelViewMat * vec4(Position, 1.0);

Don't miss a new core_shaders release

NewReleases is sending notifications on new releases.