Subject: General Tech | April 21, 2017 - 02:49 AM | Scott Michaud
The Blender Foundation and volunteers have been quite busy, especially over the last few weeks. Two major changes that are prepared for Blender 2.79: near-parity between CUDA and OpenCL, and an implementation of the Disney PBR shader.
Aside: A physically-based (“PBR”) shader allows modeling a bunch of common materials, such as plastics, ceramics, metals, and so forth, using parameters that are independent of lighting. This means that you can reuse the same object and material in all of your scenes, and it will behave like we expect it would given the environment. For instance, PBR materials account for conservation of energy, so objects get shinier as they get smoother, but they also look darker off-axis because less light is being diffusely scattered.
While it was always possible to render in Cycles with a PBR workflow, you needed to create your own node setup, which typically consisted of about seven or eight elements connected in a specific way. When this new version lands, you will just need to connect the appropriate textures and colors to their corresponding pins in this node. The Disney-based Principled BSDF accounts for albedo (base color), subsurface scattering, metallic, specular, roughness, anisotropic reflections, sheen, clearcoat, index of refraction, and transparency.
Update (April 21st @ 5:35pm): Blah! I forgot to embed the chart. Here it is.
Image Credit: Blender Foundation
Now we get to “near-parity between CUDA and OpenCL”. According the Blender Foundation, OpenCL can support all features found on CUDA with the exception of correlated multi jitter. This is accompanied by a graph, embed above, showing the RX 480 beat the GTX 1060 in a variety of benchmark scenes. Unfortunately, at the same time, GPU-accelerated rendering in Cycles now requires GCN 2.0 and up, which is the AMD R9 290 and later. Blender will still work on older cards, like the R9 280 or, heck, probably even the Radeon HD 4890, but the final render will need to be done on the CPU.
Blender 2.79 doesn’t have a firm release date, but the code freeze schedule has it expected for some time in either May or June.
Subject: Editorial | February 16, 2017 - 01:36 PM | Alex Lustenberg
Tagged: Zen, Z170, webkit, webgpu, podcast, Optane, nvidia, Intel, icx, evga, ECS, crucial, Blender, anidees, amd
PC Perspective Podcast #437 - 02/16/17
Join us for EVGA iCX, Zen Architechure, Intel Optane, new NVIDIA and AMD driver releases, and more!
The URL for the podcast is: http://pcper.com/podcast - Share with your friends!
- iTunes - Subscribe to the podcast directly through the iTunes Store (audio only)
- Google Play - Subscribe to our audio podcast directly through Google Play!
- RSS - Subscribe through your regular RSS reader (audio only)
- MP3 - Direct download link to the MP3 file
Hosts: Allyn Malventano, Ken Addison, Josh Walrath, Jermey Hellstrom
Program length: 1:32:21
Podcast topics of discussion:
Week in Review:
News items of interest:
Hardware/Software Picks of the Week
Subject: General Tech | February 9, 2017 - 05:03 PM | Scott Michaud
It has been a few months since the release of 2.78, and the Blender Foundation has been sitting on a bunch of performance enhancements in that time. Since 2.79 is still a couple of months off, they decided to “cherry pick” a bunch of them back into the 2.78 branch and push out an update to it. Most of these updates are things like multi-threading their shader compiler for Cycles, speeding up motion blur in Cycles, and reducing “fireflies” in Cycles renders, which indirectly helps performance by requiring less light samples to average out the noise.
I tried running two frames from different scenes of my upcoming PC enthusiast explanation video. While they’re fairly light, motion graphics sequences, they both use a little bit of motion blur (~half of a 60 Hz frame of integration) and one of the two frames is in the middle of three objects with volumetric absorption that are moving quite fast.
The "easier" scene to render.
When disabling my GTX 670, and only using my GTX 1080, the easier scene went from 9.96s in 2.78a to 9.99s in 2.78b. The harsher scene, with volumetric absorption and a big streak of motion blur, went from 36.4s in 2.78a to 36.31s in 2.78b. My typical render settings include a fairly high sample count, though, so it’s possible that I could get away with less and save time that way.
The "harsher" scene to render.
Blender is currently working on Agent 327, which is an upcoming animated feature film. Typically, these movies guide development of the project, so it makes sense that my little one-person motion graphics won’t have the complexity to show the huge optimizations that they’re targeting. Also, I had a lot of other programs running, which is known to make a significant difference in render time, although they were doing the same things between runs. No browser tabs were opened or closed, the same videos were running on other monitors while 2.78a and 2.78b were working, etc. But yeah, it's not a bulletproof benchmark by any means.
Also, some of the optimizations solve bugs with Intel’s CPU implementation as well as increase the use of SSE 4.1+ and AVX2. Unfortunately for AMD, these were pushed up right before the launch of Ryzen, and Blender with Cycles has been one of their go-to benchmarks for multi-threaded performance. While this won’t hurt AMD any more than typical version-to-version variations, it should give a last-minute boost to their competitors on AMD’s home turf.
Blender 2.78b is available today, free as always, at their website.
Subject: General Tech | January 27, 2017 - 11:03 PM | Scott Michaud
These days, 3D content is created mostly by blocking out geometry, then painting materials onto it with stencils and stamps. For instance, if you wanted a rusty sign, you would start with a metal base, stencil on the logo, then paint, stamp, or stencil rust spots, scratches, and whatever else. When you’re done, you can then export the resulting, 2D textures. Previously, you would bounce back and forth between Photoshop and your 3D application, trying to remember which edge on your UV outline corresponds to which triangles on the model.
While this Blender Plug-in doesn’t have the same benefits as something like Substance Painter, and its library of PBR materials, BPainter can allow you to paint separate layers and channels on your 3D model. In other words, you can paint scratches and scuffs into the roughness channel, and colors into the albedo channel, directly on top of your model, which immediately shows you the results in your scene’s lighting. Again, this is less direct than “select steel from material library” “fill steel on object” “select rusted steel from material library” “paint rusted steel on object” but it’s a welcome plug-in none-the-less.
Unless one has been announced in the last week, there is currently no release date for BPainter. Their last plug-in, Asset Sketcher, was released under the GPL license.
Subject: General Tech | October 26, 2016 - 05:45 PM | Scott Michaud
Blender 2.78 released not too long ago, but a few major bugs were discovered since then, despite a strong internal QA push before it launched. As such, Blender has released 2.78a. In a way, it has some benefits. NVIDIA wasn't able to release the final CUDA 8 SDK in time, so Blender 2.78 shipped with the RC SDK, and it was only enabled for Pascal-based cards. This extra month allowed them to roll it in and enable it for all cards, although it probably won't affect the end-user in any major way.
The release notes claim that 69 bugs were fixed, several of which were crashes and hangs. I have never really experienced any of these, but those who do should, obviously, appreciate the patch. As always, Blender is free, so enjoy creating.
Seriously. If you have free time and the slightest bit of interest: Go do it.
Subject: General Tech | September 30, 2016 - 10:58 PM | Scott Michaud
Blender 2.78 has been a fairly anticipated release. First off, people who have purchased a Pascal-based graphics card will now be able to GPU-accelerate their renders in Cycles. Previously, it would outright fail, complaining that it didn't have a compatible CUDA kernel. At the same time, the Blender Foundation fixed a few performance issues, especially with Maxwell-based GM200 parts, such as the GeForce 980 Ti. Pre-release builds included these fixes for over a month, but 2.78 is the first build for the general public that supports it.
In terms of actual features, Blender 2.78 starts to expand the suite's feature set into the space that is currently occupied by Adobe Animate CC (Flash Professional). The Blender Foundation noticed that users were doing 2D animations using the Grease Pencil, so they have been evolving the tool in that direction. You can now simulate different types of strokes, parent these to objects, paint geometry along surfaces, and so forth. It also has onion skinning, to see how the current frame matches its neighbors, but I'm pretty sure that is not new to 2.78, though.
As you would expect, there are still many differences between these two applications. Blender does not output to Flash, and interactivity would need to be done through the Blender Game Engine. On the other hand, Blender allows the camera, itself, to be animated. In Animate CC, you would need to move, rotate, and scale objects around the stage by the amount of pixels on an individual basis. In Blender, you would just fly the camera around.
This leads in to what the Blender Foundation is planning for Blender 2.8x. This upcoming release focuses on common workflow issues. Asset management is one area, but Viewport Renderer is a particularly interesting one. Blender 2.78 increases the functionality that materials can exhibit in the viewport, but Blender 2.8x is working toward a full physically-based renderer, such as the one seen in Unreal Engine 4. While it cannot handle the complex lighting effects that their full renderer, Cycles, can, some animations don't require this. Restricting yourself to the types of effects seen in current video games could decrease your render time from seconds or minutes per frame to around real-time.
Subject: General Tech | September 9, 2016 - 07:00 AM | Scott Michaud
The Blender Foundation maintains the most popular, free, open-source 3D suite, Blender. One major component of any 3D application is the chunk that turns 3D geometry into one or more 2D images. This is often passed to third-party software, like mental ray or Pixar Renderman, but basically everyone has their own internal ones.
About five years ago, Blender released a new rendering engine, called Cycles, whose just-released 2016 demo reel is embedded above. Not being held back by history, they swung for the fences with it. It supports multiple GPUs (albeit mostly NVIDIA, even to this day, due to CUDA vs OpenCL at the time -- but AMD might be commissioning development soon) and integrates tightly with the editor. It produces great images, although it's very slow for cartoonish imagery (but Blender is working on a viewport renderer for that sort of content anyway).
Also, Blender with Cycles is what we used for our recent animation projects. Version 2.78 is currently in release candidate mode, and should be released very soon.
Subject: General Tech | July 16, 2016 - 06:07 PM | Scott Michaud
Tagged: Blender, ishikawa watanabe laboratory
This is definitely tangential to our typical coverage, but I came across an interesting research project from the Ishikawa Watanabe Laboratory. A common trick that physicists use to measure rotating objects is to shine a strobe light at it. When the object seems to stop in space, your strobe light frequency is some multiple of the object's RPM (assuming the object doesn't have identical sections within a single cycle -- you'll need to go into fractions in that case).
This is another trick in the same family. Basically, they load a carousel of the same object with all possible material components. Then, in a darkened room, they flash a strobe light on it to instantaneously illuminate just the portions they want, at the intensity that it contributes to the final material. So, when you adjust the material on the computer, which they demoed with Blender, the object appears to adjust along with it, letting you see what it should look like in the real world. They can even apply a mask in front of it to allow some level of texturing.
This should be useful for product design, once a library of materials are captured and stored in the CAD software. They claim that 3D printing allows it to be applied to any object, but I'd assume there's some limits regarding how structurally stable the object is. I'm imagining a technician wondering why their metal channel doesn't seem to be applied, only to turn on the light and see their intern knocked out on the floor with a bruise on their forehead. It all depends on what their apparatus is running at and how big it is. Ideally, they would be above the upper range of photosensitive epilepsy is about 30Hz, or 1800 RPM, but I don't have the required info to calculate how that maps to structural integrity of models.
Subject: General Tech | March 19, 2016 - 06:37 PM | Scott Michaud
Speaking of open-source animation software, the Blender Foundation has just released Blender 2.77. This is a relatively minor update, maintaining compatibility and structure with other 2.7x versions, but it has some interesting aspects to it. While there will probably be other 2.7-level updates before then, 2.8 is internally described as “the Workflow release,” which is also starting to be discussed by the foundation.
The headline feature is improved Cycles ray traced rendering, especially on GPUs. Both quality and performance get a bump, and a few particle effects are now GPU-aware. Personally, I am very interested to see how the “Edit-mode boolean tool” will work. I started 3D modeling with a NURBS-based CAD tool, and booleans were pretty much your first choice to get anything done. I then transitioned to Maya, which had the worst boolean tools I've ever seen, choosing to delete both objects if it couldn't figure out how they combine (and that was basically anything other than two plain primitives). It was liberating going to Blender, where I had a boolean tool that mostly worked, but it still causes a few glitches here and there. I'm hoping that, now that it's a default tool, it will continue to grow in robustness.
This is also the first release that (officially) ends Windows XP support. I mean, it's open source. Compile it for whatever platform you like. But you will not be able to upgrade to 2.77 with the official builds, and there's no telling how complicated back-porting will become going forward.
Subject: General Tech | February 2, 2016 - 11:34 PM | Scott Michaud
Tagged: Blender, open-source
The Blender Foundation guides development with a series of first-party short films, each of which are created with open-source software and released under a Creative Commons license. Despite their purpose, to promote open source software and highlight ways to improve Blender, they each have engaging traits that are uncommon in commercial films. Cosmos Laundromat opens with a fairly long shot of a sheep's attempt at hanging itself, while Sintel's ending will make you feel hollow when it reveals its meaning.
This short, Caminandes 3: Lamingos, above, is much lighter than Cosmos Laundromat or Sintel. It has more of the ironic, mischievous cartoon feel of Big Buck Bunny, their second Blender short film. It is about a Llama and a Penguin who are trying to eat some berries; unfortunately, they are both trying to eat the same ones.
The two-and-a-half-minute short film can be downloaded and is free to use under a Creative Commons Attribution license. Its assets are also available, but only under a Blender Cloud subscription.