The Specular Layer

The specular layer represents the second layer of my uber-shader where the reflected light varies between rough and sharp. Reflected light can consist of light from punctual light sources, image sources, and/or reflections of other objects. In general, if the reflected light varies from different viewing angles, then the specular layer will handle those reflections.

In most shaders, specularity represents the reflections of light sources in the scene, and reflections represent the reflections of objects in the scene. In fact, … Read the rest

The Diffuse Layer

The diffuse layer represents the bottom-most layer of my uber-shader where light is reflected almost uniformly across all directions, usually because the surface is extremely rough and light does not penetrate the surface to any noticeable effect. Reflected light can consist of light from punctual light sources, image sources, and/or reflections of other objects. In general, “the vast majority of visible objects are seen primarily by diffuse reflection.”

The most common diffuse shader model by far is the Lambert … Read the rest

The Layered Model

For my uber-shader, I have gone with a ‘layered’ style model so that I may represent many different types of common materials easily. I’ve structured it so that some familiar, but old, concepts are represented, yet in a way that is physically plausible.

Computer-generated graphics, like most things, can be burdoned by their history. The common shading models have existed since the beginning of computer graphics, and they are usually chosen for their speed or ease of implementation. Either reason … Read the rest

Minecraft Cabin Render

After wrapping up a large portion of the code of my ubershader, I wanted to try it out in a production-friendlier environment to look for possible improvements. I did find a few bugs and quirks, but all is better now! I think you’ll be able to see that the quality of this image is quite better than my previous renders of Minecraft scenery.

3D Minecraft Render Cabin

A few features of the shader that I’ll be going over soon are in that image:

  • The
Read the rest

Image-Based Lighting

What is it?

What you see above is The Shaderball lit by an image, not by standard 3D light sources. I’m going to talk about the idea (and implementation) of using images of environments to light 3D scenes. Two other common types of lights that I’ll eventually go over are punctual lights and area lights. Image-based lights use a 360° image of an environment to cast light onto 3D objects. The image should have a high dynamic range (an … Read the rest

First Glimpse

I’ve been writing this shader for a few weeks now, but I hadn’t thought to blog about it (or anything, for that matter) until now. That’s probably a good thing; I’m learning a lot as I go along, so there’s a good chance I would’ve explained something incorrectly. I’ve decided to post updates on this more often, so you can expect much more info later. There’s a lot that I’ve already accomplished, so there’s a backlog of things to write … Read the rest