- check_circle Environment
Published Jul 6th, 2022, 7/6/22 3:29 pm
- 26,780 views, 29 today
- 7,128 downloads, 8 today
47
Story time!: A while ago i downloaded the "OnlyUpwards" minecraft resourcepack shader (i don't really know what to call these, cause optifine already uses the shader name making it impossible to find vanilla shaders). The OnlyUpwards shader didn't move mobs with the world through rendering. It was more of a "oh this is kinda cool, but i cant play like this" kind of pack. So, I decided to look at the shader files and edit it so it does work with entities... and now i see why people don't.
Version Compatability:
1.17.1 - good*
1.18.1 - good*
1.19 - good*
*do to limitations, entities do not curve in the nether
* and i don't know why the shadows don't work
Customizing the shader?:
in folder "assets/shader/include" you will find "curve.glsl". Open that and you will find the "worldWarp" function.
You may modify the inside of said function to make a custom curve for the world.
There are also some premade shader equations that you can use and test out:
"OnlyUpwards": carried over from the original OnlyUpwards shader
"The world i...": EVERYTHING renders in your face. its an example of what not to do
"is this wha...": The world expandes and squishes in a grid as you move
"more friendly only upwards": the default, flattens in a 5 block radius. (arrows also move nearly strait)
Fun Facts:
Blocks and particles:
render based on world position
blocks specifically cannot grab screen size and light direction
cant disable it in the nether because i need light directions to detect the nether
Entities and everything else:
render based on camera position
force me to use a matrix to use light direction to align the position with the world position.
light directions are always parallel in the nether, meaning i cant detect camera rotation.
Resources Used:
shader documentation - https://github.com/McTsts/Minecraft-Shaders-Wiki/blob/main/README.md
Shader template - https://github.com/onnowhere/core_shaders/tree/master/CoreShadersCustomTemplateRP
vsh_util.glsl - https://github.com/onnowhere/core_shaders/blob/master/.shader_utils/vsh_util.glsl
Original OnlyUpwards + some others:
https://gist.github.com/williambl/4a4d74d1b72da350d96d7859b6b70e57#file-readme-md
Oh, and this shader resource pack is not really compatable with any other shader resource pack, and may not be compatable with optifine or sodium.
Version Compatability:
1.17.1 - good*
1.18.1 - good*
1.19 - good*
*do to limitations, entities do not curve in the nether
* and i don't know why the shadows don't work
Customizing the shader?:
in folder "assets/shader/include" you will find "curve.glsl". Open that and you will find the "worldWarp" function.
You may modify the inside of said function to make a custom curve for the world.
There are also some premade shader equations that you can use and test out:
"OnlyUpwards": carried over from the original OnlyUpwards shader
"The world i...": EVERYTHING renders in your face. its an example of what not to do
"is this wha...": The world expandes and squishes in a grid as you move
"more friendly only upwards": the default, flattens in a 5 block radius. (arrows also move nearly strait)
Fun Facts:
Blocks and particles:
render based on world position
blocks specifically cannot grab screen size and light direction
cant disable it in the nether because i need light directions to detect the nether
Entities and everything else:
render based on camera position
force me to use a matrix to use light direction to align the position with the world position.
light directions are always parallel in the nether, meaning i cant detect camera rotation.
Resources Used:
shader documentation - https://github.com/McTsts/Minecraft-Shaders-Wiki/blob/main/README.md
Shader template - https://github.com/onnowhere/core_shaders/tree/master/CoreShadersCustomTemplateRP
vsh_util.glsl - https://github.com/onnowhere/core_shaders/blob/master/.shader_utils/vsh_util.glsl
Original OnlyUpwards + some others:
https://gist.github.com/williambl/4a4d74d1b72da350d96d7859b6b70e57#file-readme-md
Oh, and this shader resource pack is not really compatable with any other shader resource pack, and may not be compatable with optifine or sodium.
Progress | 100% complete |
Game Version | Minecraft 1.17 |
Resolution | 16x |
Tags |
tools/tracking
5627589
4
curved-world-shader
Create an account or sign in to comment.