Skip to content

BalintCsala/VPT

Repository files navigation

VPT - Vanilla Path Tracing* Shaders

*Path tracing is turned off for now

Currently in very early development, don't expect too much help on setting it up.

This shader is written for the vanilla Minecraft shader system (no IRIS, Optifine, Canvas or similar mods are or even can be used alongside).

Shader installation

These steps are here temporarily until I decide on how I want to make this process less painful. If you're not a tech savvy person, I wouldn't recommend trying this pack now.

From here on out, whenever I write "shaders", I mean VPT (this pack) and when I say resourcepack, I'm talking about some other pack.

Resourcepacks need to be converted to work with VPT. For this you need node and npm installed.

  1. Install all dependencies: npm install.
  2. Download a LabPBR compatible resourcepack you like, I recommend Vanilla Normals Renewed and Textureless.
  3. Place the downloaded resourcepack somewhere where you can find it easily.
  4. Generate the asset files: npm run assets <path to the resourcepack>.
  5. The edited pack will be saved to out/<name of the resourcepack>-VPT-edit.zip. Move this into your resourcepack folder.
  6. Move VPT itself into the resourcepack folder as well. If you downloaded the shaders from github with the "Download ZIP" option, you'll need the folder inside the zip file. If you cloned it with git clone, you need the whole folder.
  7. Activate the resourcepack and the shaders in the resourcepack screen. Make sure VPT is above the resourcepack.
  8. In video settings enable "Improved Transparency"

Methodology

With Vibrant Visuals (basically official Minecraft shaders) on the way, we can expect a large change in the shader pipeline. This shader is being written with the assumption that most workarounds that have to be utilized will at some point get deprecated. The main features this would require (and what each of them would give me) are:

  • Built-in material textures
    • Currently an atlas has to be stitched together offline from a resourcepack and the builtin textures
  • Some kind of shadow system
    • This would make both basic shadow calculations and voxelization easier
    • Could stop me from having to split the main view in half
  • Additional target formats
    • I use a custom bitpack function for this currently
  • Multiple rendertargets
    • Removes the need of overly aggressive bitpacking or running code multiple times
  • Uniforms for sun direction, view matrix, forward projection matrix, etc.
    • Would remove the need of a very costly, unculled extra face in all block models and the need to hijack the sun and sky to pass data to post

Contribution

This is a personal project, so most pull requests will be refused.

License

  • All code in this repository (not including the "Releases" tab) is under GPL, feel free to fork, modify, publish it.
  • Releases in this repository are generated by the source code and only contain code created by me, thus they aren't considered "covered works" under the GPL license. These files should be considered to be under ARR and can not be redistributed.
  • Versions generated by third parties contain the GPL code from this repository, putting them under GPL as well (assuming no other legal issues can arise). You have to adhere to the license terms when redistributing them.

While it's not illegal, please avoid redistributing an unedited form of this pack.

About

Shaderpack for the vanilla pipeliine of Minecraft

Topics

Resources

License

Stars

Watchers

Forks