Ever since I started exploring procedural wood shaders, I’ve wanted to then use those to make wooden planked floors. As I mentioned in a previous post, a wooden log is cut into boards by slicing it along the long axis of the trunk, moving outwards from the center. There are several ways to cut a log, but basically since I have a nice cylindrical chunk of wood I should be able to make “boards” out of it by simply moving the texture coordinates around. So, if I can get a repeated pattern across a flat plane, and move the coordinates […]
If you’re just joining, be sure to check out the other parts of this post or this won’t make sense: Part 1 Part 2 We left off in the last post with the Maple shader looking pretty good, but it’s not quite there. As I have been known to do, I went to the local lumber store and checked out some real Maple boards in addition to my online research. The ring patterns on Maple are definitely different from Oak, so we should fix that. We haven’t really talked about the Noise that we added to the Rings, aside from […]
Last time we edited the scale of the wood. You might’ve noticed that in the Oak shader, the Y-coordinate was the same as X- and Z-, and now it’s 1. That’s something I realized was a mistake before, because we didn’t really want to scale the shader along the Y-axis. By making it 1, we’ll have more flexibility to adjust things. For example, this made the tiny Ray flecks along the sides quite long. Speaking of the Rays, Maple is different than Red Oak. Let’s adjust them to the look we want. This is what we had for the Oak: […]
I wanted to show an example of a wood that is popularly used, but has different characteristics than Red Oak. I decided on Maple as I’ve worked on a Maple shader before and it’s different enough, yet there are enough similarities that the Oak shader is helpful. I was going to start at an earlier point, but unfortunately due to the way I wrote the parts of the Oak tutorial, it’s much much easier to start from the finished Oak shader. If you didn’t follow it, I’d suggest going through the tutorial for the educational value, but you can […]
I finally upgraded my old laptop to one with an NVIDIA GPU, and that will help me to render a lot faster. One of my excuses for not posting very frequently is that it takes a long time to develop shaders with my slooooow rendering speeds, so now I don’t have that excuse anymore. I hope this means I will post more than once every few months.
It’s been a while since my last post, and I was thinking I really need to get back into this. Fortunately, the Universe responded with a swift kick in the pants in the form of an astute reader named Ethos. Ethos has experience in woodworking, and not only asked me some great questions about the Red Oak shader, but also pointed out some areas where it wasn’t quite realistic. One of these is the fact that the ring spacing decreases exponentially as the rings get farther from the core of the wood, but real wood rings are pretty uniformly spaced. […]
I started looking into how to create a realistic granite shader. While researching, I learned a lot of interesting things about gems and minerals and got distracted. For example, I didn’t know that rubies and sapphires are just variations of the same stone, called corundum. I thought it might be interesting to try to create a corundum-like shader, because it ought to be pretty simple. Let’s give it a whirl and see what we get. Create a new scene, and add a Plane. Scale it to about 1m x 1m in size. Use the Object->Apply->Scale function so that our texture […]
While creating the Red Oak shader, we used the “Object” coordinates: I mentioned that this will make the wood shader three-dimensional, as if our objects are carved out of a solid block of wood. The reason is that the Object used for the coordinates is by default the object that the shader is applied to. For example, if we duplicate our board that we used to create the shader, you can see that the texture coordinates are the same on both objects: However, you can actually set the object to anything you want, and your texture coordinates are based on […]
I’ve got a background in programming, so I often think about writing a plugin or add-on for Blender, but I’ve never gotten around to it. A couple of days ago I finally did write something simple, and you can download it here: Distance-Based Subdivision It’s a simple script that sets Subdivision levels for objects in your scene based on the distance from the camera. Check it out and let me know what you think! Here are the contents of the Readme file: The way the script works is that you set a “Near Distance” and a “Far Distance.” Anything closer […]
I figured if I’m making shaders I should make a shader ball. I don’t know if this is any better or worse than others out there, but it was an interesting object to think about. I tried to make it minimalist but still with helpful details. Behold: You can download it from BlendSwap here.