RSSAmplifier

Blog

BLOG RSS

BLOG RSS

shaderbits.comRSS feed ↗13 posts

Latest posts

Distance Field Ray Tracing Part 1: Volume Textures and Ray Marching Primer

Before we get startedSomehow 2019 went by without a new post here. It was a fairly busy year for me both inside and outside of work. For one, a bit after giving a talk at GDC last year I went on a month long sabbatical from work. A part of that sabbatical for me was spending time away from the computer since I had been getting bits of RSI flare ups in my wrists. That time away was really good for…

Tiling within subUV or pseudo-volume textures

This post is a precursor to a series that will work up to building raymarched volumetric effects. There are similarities between subUV textures and volume textures. If you want to create a subUV or volume texture that tiles without using a true hardware 3d texture, there can be edge artifacts between the seamless tiles. This is important mostly because there is no existing 3d texture format in UE4…

Getting the Most ouf of Noise in UE4

This post links to a blog post I wrote for the UnrealEngine.com website:https://www.unrealengine.com/blog/getting-the-most-out-of-noise-in-ue4Some preview images:Steps for Voronoi Noise based procedural cracked mud texture:Steps for Voronoi Noise Based procedural marble texture:

Octahedral Impostors

It is finally time to release the first version of the Impostor Baker tool! This is currently uploaded to github since I could not get access to the ue4 community server:https://github.com/ictusbrucks/ImpostorBakerNotes:Currently for UE4.19 only. I have a 4.18 version that is a bit older if anybody really wants but its not uploaded anywhere.Everything should be downloaded to the location:…

Various Distance Field Generation Techniques

This is meant as a quick refresher of various ways to make distance fields, starting with a way to do it in photoshop and working up to custom shaders. If you are wondering why I am posting this instead of the promised impostor tool, once again I started this a couple months ago and just need to clear the backlog before uploading anything new. But rest assured it won't be long. The impostor tool…

Green Screen live in UE4

A bit over two years ago, someone on the UE4 Answerhub asked about Chroma Keying (aka Green Screen) in a material. That post lead to me mocking up a very basic chroma key function. That was added to UE4 a while ago. While it was in the release notes, our notes can be pretty long and it is easy to forget about features that are buried deep in the notes, especially if you had no reason to use them…

UE4 Volumetric Fog Techniques

I know it has been a while since I have posted here. It took me longer than I hoped to polish up and release my post-GDC Content Plugin and just when I was about to get back into the rhythm, things started getting pretty busy at Epic again. The good news is that I have built up a back-log of topics that I am hoping to post about soon, including some stuff relating to the recently release Fortnite…

Creating a Volumetric Ray Marcher

The last few posts on this blog have been building up the pieces needed to create volumetric ray marching shaders. Lets briefly review those.Generating Volume Textures: In this post we looked at a way to generate pseudo volume textures by storing texture slices stored as a 2d array of frames, like a flipbook. We will use the same method to encode and decode our textures here.…

Authoring Pseudo Volume Textures

This post is the second part in a series leading up to building custom volumetric effects inside of UE4. The previous post went over ways to make subUV or volume textures tile seamlessly and that will be used at the end of this post:Part 1: http://shaderbits.com/blog/tiling-within-subuv-or-volume-texturesIt has been a bit slow around here since I was out last week travelling to San Francisco and…

Ray Marched Heightmaps

Ray marching offers a way to more accurately self shadow alpha based materials like clouds or smoke. Often a normal map can be used for lower cost but the results are not usually very volumetric. Lighting response from different directions can also be channel packed into a texture and this can give nice results from static positions but will not appear to respond to subtle changes in lighting or…

Optimized Snell's Law Refraction

Since many real time refraction methods rely on screen space methods, having accurate refraction vectors is not always important. When accurate refraction vectors are used it can cause too many rays to go off the screen space buffer. Combined with the fact that calculating refraction vectors using Snell's law is moderately expensive, it is often not worth it to calculate correct refraction.…

Automated and Improved UV Dilation

When dealing with textures with opacity masks, it can be important to dilate or extend the edge pixels into the background. For masked materials, this prevents edge bleeding in the lower mip-maps. For dynamic mesh painting effects, dilating positional texture maps will allow seamless painting across UV borders. Positional texture maps are very sensitive to dilation artifacts so performing the…

Custom Per Object Shadowmaps using Blueprints

For some advanced materials, it can be useful to be able to render out custom per object shadows. For mobile projects, this can let you render out baked shadowmaps for foliage similar to the Epic "Zen Demo". Having the flexibility to do this inside of UE4 means that specific material effects can also be captured which may be difficult to translate into additional programs. You can also prototype…