XaiJu
umsoea
umsoea

patreon


Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader


Hey!
Make sure to check out the images above - in fullscreen,  there are a lots of details.

What I created:

Scaffolding:

You can climb it from the inside (ladder) -  which is a bit more realistic than just clipping through the blocks like in default minecraft.

The model uses a lot random blockmodels/states which means you need to enable "Alternate Blocks" I'd recommend to have enabled for all of my other content as well.
Go to "Video Settings --> Details" and set "Alternate Blocks" to ON.

The model is quite complex due to all the round shapes - and you really notice that in terms of performance. I don't want the survival pack to end like R17 (performance wise) so I might replace it later with a different scaffolding model that resembles the vanilla models/textures  (bamboo and strings etc).

Because I reused the ladder model from R15 and the scaffolding fits the theme/style of R15 I decided to just add it to the existing R15 pack. You can just re-download it. It is also included in the survival pack, but in lower resolution.


Wood stuff:  (mostly for survival)

Other stuff:

What shader to use?   I prefer PTGI E11 for the rendering/architecture stuff.   PTGI HRR or Seus Renewed for survival stuff.




My progress on learning 3D graphics programming. What I've learned: 

I added a lot of stuff to my small raytracing test shader. Reflections, Glass, Custom Block Intersections (spheres, etc), colored blocks, colored lights, demo maps and more.

The main thing I added:  Quite complex Glass.

Usually, in real-time rendering, transparent objects are difficult to render because you also need to know what's behind the glass.  In a simple raytracer, this is a lot easier and very intuitive. You can follow the light rays the same way as they would behave in real-life.  You can have multiple complex glass objects behind each other and all refractions and reflections are rendered properly.  The only downside:  usually bad performance.

How it works:
With raytracing we shoot rays from the player's camera into the 3D scene. If a ray hits glass, the ray enters the glass block and gets refracted ( = changes direction slightly). The ray then travels inside the glass volume and might be reflected on the interior walls of the glass (Total Internal reflection, you might remember that from school). The ray keeps bouncing around inside the glass until it can exit and if it does it gets refracted again. If there is another glass block behind the first one, the ray does the same thing again: Enter the glass and refract. Bounce around until it can exit. Refract again on exit.  When the ray hits a solid, non-transparent object, the raytracing stops and we can calculate the shading of that pixel (brightness and color of the spot that was hit)

Colored/Stained Glass (Absorption):
When the light ray travels through the glass, certain wavelengths are absorbed by the glass and the light gets tinted/colored. The important part: The longer the ray travels through glass, the stronger the tint gets and the more saturated the color of the glass looks. This means:  larger glass volumes are much darker and saturated compared to small/thin structures of the same material.     In the image below you can see different sizes of glass volumes. It's all the same type of glass. This is a lot of fun to mess around with.

(For large structures you need to use stained glass panes, otherwise the inside is empty - that's a limitation of minecraft - only blocks that touch air are rendered)



The issue with glass reflections:
What makes rendering transparent objects even more tricky:   Reflections on glass. 

Every time a light ray enters glass, the ray is actually split. One part enters the glass and gets refracted.... and the other part gets reflected on the surface of the glass block. This means you need to trace two different rays at the same time. And if one of these rays hit another glass block, this ray is split again and again and again.... As you can imagine, this can get really laggy.

What I did:  I calculate reflections on glass with less detail/bounces visible inside them because glass is only very slightly reflective so it's hard to notice a difference. You can change all that in the shader settings -  it doesn't affect the accuracy of the image much. Only really noticeable in extreme cases (e.g building an "infinity mirror room" with glass in it etc)

Colored shadows and mixing of colors:
In my test shader, glass blocks just cast super simple shadows. However, the shadows of stained glass are also colored and they mix properly (subtractive color mixing). You can stack multiple glass blocks and the light rays will travel through all of them and tint properly. Colored light sources also work properly with it.

Demo Maps in the Shader:
When you download and enable my test shader you should see the demo scene (as seen in the last image in the gallery above) with an animated camera.

I found a way to save my own minecraft maps and store them inside the shader so you can see my map and fly around in it without needing to install my maps. It's all inside the shader.  I can even create my own completely independent camera system which can be animated or I can even render stuff like 360 images etc.... this insanely fascinating to me. 

In the shader settings you can also disable the Demo Mode and build your own stuff or you can go into a "free cam" mode and fly around the demo map.



Whats next?

Textures:   jungle and oak leaves, acacia logs, granite/andesite etc? We'll see.

Shader:   I now have a good understanding of the most basic forms of raytracing.
Next I'd like to try coding a simple path tracer. Understanding how to work with random sampling and trying simple denoising techniques.  Main Goal:  Good Soft Shadows, maybe simple global illumination (sky lighting / AO).   This would be very cool to play around in Minecraft.


Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader Planks, Logs, Leaves, Scaffolding and a raytraced Glass Shader

Comments

Hi, for what version is this pack?

CrazyErzy75

Is the files up to date? Like 1.18? I tried one but it wouldn’t load the game

Bowser1017

KHÔNG TẢI ĐƯỢC PHẦN NÀY LÀ SAO

YN Media Review

to replicate my old youtube videos, I wrote a guide: https://www.patreon.com/posts/27260900 Other content can be found on my last post here on patreon.

umsoea

how to download

This looks Absolutely Incredible bro 🔥

VIPUL

why cant i download

What happened to you website bro?

Is there any reason that the glazed terracotta and chiseled quartz are not displaying correctly. I.E. when using them they are vanilla Minecraft textures and not what I have seen from this pack before.


More Creators