Random Thoughts – Randocity!

Make LuxRender render faster

Posted in 3D Renderings, Daz Studio by commorancy on March 2, 2015

In addition to writing blogs here at Randosity, I also like creating 3D art. You can see some of it off to the right side of the screen in the Flickr images. I point this out because I typically like to use Daz Studio to do my 3D work. I also prefer working with the human form over still life, but occasionally I’ll also do a still life, landscape or some other type of scene. Today, I’m going to talk about a rendering engine that I like to use: LuxRender.  More specifically, how to get it to render faster. You can read more about it at www.luxrender.net. Let’s explore.

3Delight and Daz Studio

Daz Studio is what I use to compose my scenes. What comes built into Daz Studio is the rendering engine named 3Delight. It’s a very capable biased renderer. That is, it prefers to use lighting and internal short cuts to do its rendering work. While 3Delight does support global illumination (aka. GI or bounced lighting), it doesn’t do it as well or as fast as I would like. When GI is turned on, it takes forever for 3Delight to calculate the bounced light on surfaces. Unfortunately,  I don’t have that long to wait for a render to complete. So, I turn to a more capable renderer:  LuxRender. Though, keep in mind that I do render in 3Delight and I am able to get some very realistic scenes out of it, also. But, these scenes have a completely different look than Lux and they typically take a whole lot longer to set up (and a ton more lights).

LuxRender

What’s different about Lux? The developers consider it to be an unbiased renderer, that is, it is considered physics based. In fact, all renderers attempt to use physics, but Lux attempts to use physics on all light sources. What is the end result? Better, more accurate, more realistic lighting…. and lighting is the key to making a scene look its best. Without great lighting, the objects within it will look dull, flat and without volume. It would be like turning the lights off in a room and attempting to take a photograph without a flash. What you get is a grainy, low light, washed out and flat image. That’s not what you want. For the same reason you use a flash in photography, you want to use LuxRender to produce images.

Now, I’m not here to say that LuxRender is a perfect renderer. No no no. It is, by far, not perfect. It has its share of flaws. But, for lighting, it can produce some of the most realistically lit scenes from a 3D renderer that I’ve found. Unfortunately too, this renderer is also slow. Not as slow as 3Delight with GI enabled, but definitely not by any stretch fast. Though, the more light you add to a scene, the faster Lux renders.

However, even with sufficient lighting, there are still drawbacks to how fast it can render. Let’s understand why.

LuxRender UI

The developers who designed LuxRender also decided that it needed a UI. A tool that allows you to control and tweak your renders (even while they’re rendering). I applaud what the LuxRender team has done with the UI in terms of the image tweaking functionality, but for all of the great things in the UI, there are not-so-smart things done on the rendering side. As cool and tweakable as a render-in-progress is, it should never take away from the speed at how fast a renderer can render. Unfortunately, it does.

Let’s step back a minute. When you use Daz Studio, you need a bridge to operate Lux. It needs to be able to export the scene into a format that Lux can parse and render. There are two bridges out there. The first is Reality. The second is Luxus. I’ll leave it to you to find the bridge that works best for you. However, Reality has versions for both Daz Studio and Poser. So, if you have both of these, you can get each of these versions and have a similar experience between these two different apps. If you’re solely in the Daz world, you can get Luxus and be fine. Once you have this bridge and you export a scene to the LuxRender, that’s when you’ll notice a big glaring sore thumb problem while rendering.

Render Speed and LuxRender UI

When I first began using LuxRender, one thing became very apparent. LuxRender has this annoying habit of stopping and starting. Because my computer has fans that speed up when the CPU is put under load and slow down when not, I can hear this behavior.  What I hear is the fans spinning up and spinning down at regular intervals. I decided to investigate why. Note, renderers should be capable of running all of the CPU cores at full speed until the render has completed. 3Delight does this. Nearly every other rendering engine does this, but not LuxRender.

Here’s part of the answer. There are two automatic activities inside of the LuxRender UI while rendering:

  1. Tonemapping
  2. Saving the image to disk from memory
  3. Write FLM resume file

Both of these activities outright halt the rendering process for sometimes several minutes. This is insane. Now, let’s understand why this is insane. Most systems today offer 4 or more cores (8 or more hyperthreaded cores). Since you have more than one core, it makes no sense to stop all of the cores just to do one of the above tasks. No. Instead, the developers should have absconded with one of the cores for either of these processes leaving the rest of the cores to continue to do rendering work all of the time. The developers didn’t do this. Instead, they stop all cores, use one core (or less) to write the file to disk or update the GUI display and then wait and wait and wait. Finally, the cores start up again. This non-rendering time adds up to at least 5 minutes. That’s 5 minutes where zero rendering is taking place. That’s way too long.

How do I get around this issue? Well, I don’t entirely. If you want to use LuxRender, you should run over to luxrender.net and make a complaint to solve this problem. The second thing to do is set the tonemapping interval to 3600 seconds, the image write to disk interval to 3600 seconds and the FLM write interval to 3600 seconds. That means it will only save to disk every 1 hour. It will only update the screen every 1 hour and save a resume file every 1 hour. That means that LuxRender will have 1 hour of solid render time without interruptions from these silly update processes. This is especially important when you’re not even using the LuxRender UI.

Note that many applications set up intervals as short as a few seconds. That’s stupid considering the above. Yeah, we all want instant gratification, but I want my image to render its absolute fastest. I don’t need to see every single update interval in the UI. No, if I want to see an update, I can ask the UI to provide me that update when I bring it to the front. Automatically updating the UI at 10 second intervals (and stop the rendering) is just insane and a waste of time, especially when I can simply refresh the UI myself manually. In fact, there is absolutely no need for an automatic refresh of the UI ever.

Network Rendering

The second way to speed up rendering is to use other systems you may have around the house. They don’t necessarily need to be the fastest thing out there. But, even adding one more machine to the rendering pool makes a big difference on how fast your image might complete. This is especially important if you’re rendering at sizes of 3000 by 3000 pixels or higher.

System Specs and Lux

Of course, buying a well capable system will make rendering faster. To render your absolute fastest in Lux, it’s a given that you need CPU, CPU caching and large amounts of RAM to render. So, get what you can afford, but make sure it has a fair number of CPUs, a reasonable L1 and L2 cache set and at least 16GB of RAM (for 3k by 3k or larger images). If you add one or more GPUs to the mix, Lux will throw this processing power on top and get even faster rendering. But, this doesn’t solve the problem described above. Even if you have 32 cores, 128GB of RAM and the fastest L1 and L2 caches, it still doesn’t solve the stopping and starting problem with rendering.

If you want to dabble in LuxRender, you should run over to the luxrender.net and file a complaint to fix this cycling problem. In this day and age with multiple cores and multithreading, stopping the render process to save a file or update a UI is absolutely insane.  To get your fastest renders, set the update intervals to 3600 seconds. Note, though, that if LuxRender crashes during one of the one hour intervals, you will lose all of that work. Though, I haven’t had this happen while rendering.

So, that’s how you get your fastest render out of LuxRender.

 

When Digital Art Works Infringe

Posted in 3D Renderings, art, best practices, computers, economy by commorancy on March 12, 2012

What is art?  Art is an image expression created by an individual using some type of media.  Traditional media typically includes acrylic paint, oil paint, watercolor, clay or porcelain sculpture, screen printing, metal etching and printing, screen printing or any of any other tangible type media.  Art can also be made from found objects such as bicycles, inner tubes, paper, trash, tires, urinals or anything else that can be found and incorporated.  Sometimes the objects are painted, sometimes not.  Art is the expression once it has been completed.

Digital Art

So, what’s different about digital art?  Nothing really.  Digital art is still based on using digital assets including software and 3D objects used to produce pixels in a 2D format that depicts an image.  Unlike traditional media, digital media is limited to flat 2D imagery when complete (unless printed and turned into a real world object.. which then becomes another form of ‘traditional found art media’ as listed above).

Copyrights

What are copyrights?  Copyrights are rights to copy a given specific likeness of something restricting usage to only those that have permission.  That is, an object or subject either real-world or digital-world has been created by someone and any likeness of that subject is considered copyright.  This has also extended to celebrities in that their likenesses can also be considered copyright by the celebrity.  That is, the likeness of a copyrighted subject is controlled strictly by the owner of the copyright.  Note that copyrights are born as soon as the object or person exists.  These are implicit copyrights.  These rights can be explicitly defined by submitting a form to the U.S. Copyright office or similar other agencies in other parts of the world.

Implicit or explicit, copyrights are there to restrict usage of that subject to those who wish to use it for their own gain.  Mickey Mouse is a good example of a copyrighted property.  Anyone who creates, for example, art containing a depiction of Mickey Mouse is infringing on Disney’s copyright if no permission was granted before usage.

Fair Use

What is fair use?  Fair use is supposed to be a way to use copyrighted works that allows for usage without permission.  Unfortunately, what’s considered fair use is pretty much left up to the copyright owner to decide.  If the copyright holder decides that a depiction is not considered fair use, it can be challenged in a court of law.  This pretty much means that any depiction of any copyrighted character, subject, item or thing can be challenged in a court of law by the copyright holder at any time.  In essence, fair use is a nice concept, but it doesn’t really exist in practice.  There are clear cases where a judge will decide that something is fair use, but only after ending up in court.  Basically, fair use should be defined so clearly and completely that, when something is used within those constraints, no court is required at all. Unfortunately, fair use isn’t defined that clearly.  Copyrights leave anyone attempting to use a copyrighted work at the mercy of the copyright holder in all cases except when permission is granted explicitly in writing.

Public Domain

Public domain is a type of copyright that says there is no copyright.  That is, the copyright no longer exists and the work can be freely used, given away, sold, copied or used in any way without permission to anyone.

3D Art Work

When computers first came into being with reasonable graphics, paint packages became common.  That is, a way to push pixels around on the screen to create an image.  At first, most of the usage of these packages were for utility (icons and video games).  Inevitably, this media evolved to mimic real world tools such as chalk, pastels, charcoal, ink, paint and other media.  But, these paint packages were still simply pushing pixels around on the screen in a flat way.

Enter 3D rendering.  These packages now mimic 3D objects in a 3D space.  These objects are placed into a 3D world and then effectively ‘photographed’.  So, 3D art has more in common with photography than it does painting.  But, the results can mimic painting through various rendering types.  Some renderers can simulate paint strokes, cartoon outlines, chalk and other real world media.  However, instead of just pushing pixels around with a paint package, you can load in 3D objects, place them and then ‘photograph’ them.

3D objects, Real World objects and Copyrights

All objects become copyrighted by the people who create them.  So, a 3D object may or may not need permission for usage (depending on how they were copyrighted).  However, when dealing with 3D objects, the permissions for usage of 3D objects are usually limited to copying and distribution of said objects.  Copyright does not generally cover creating a 3D rendered likeness of an object (unless, of course, the likeness happens to be Mickey Mouse) in which case it isn’t the object that’s copyrighted, but the subject matter. This is the gray area surrounding the use of 3D objects.  In the real world, you can run out and take a picture of your Lexus and post this on the web without any infringement.  In fact, you can sell your Lexus to someone else, because of the First Sale Doctrine, even though that object may be copyrighted.  You can also sell the photograph you took of your Lexus because it’s your photograph.

On the other hand, if you visit Disney World and take a picture of a costumed Mickey Mouse character, you don’t necessarily have the right to sell that photograph.  Why?  Because Mickey Mouse is a copyrighted character and Disney holds the ownership on all likenesses of that character.  You also took the photo inside the park which may have photographic restrictions (you have to read the ticket). Yes, it’s your photograph, but you don’t own the subject matter, Disney does.  Again, a gray area.  On the other hand, if you build a costume from scratch of Mickey Mouse and then photograph yourself in the costume outside the park, you still may not be able to sell the photograph.  You can likely post it to the web, but you likely can’t sell it due to the copyrighted character it contains.

In the digital world, these same ambiguous rules apply with even more exceptions.  If you use a 3D object of Mickey Mouse that you either created or obtained (it doesn’t really matter which because you’re not ultimately selling or giving away the 3D object) and you render that Mickey Mouse character in a rendering package, the resulting 2D image is still copyrighted by Disney because it contains a likeness of Mickey Mouse.  It’s the likeness that matters, not that you used an object of Mickey Mouse in the scene.

Basically, the resulting 2D image and the likeness it contains is what matters here.  If you happened to make the 3D object of Mickey Mouse from scratch (to create the 2D image), you’re still restricted.  You can’t sell that 3D object of Mickey Mouse either.  That’s still infringement.  You might be able to give it away, though, but Disney could still balk as it was unlicensed.

But, I bought a 3D model from Daz…

“am I not protected?” No, you’re not.  If you bought a 3D model of the likeness of a celebrity or of a copyrighted character, you are still infringing on that copyrighted property without permission.  Even if you use Daz’s own Genesis, M4 or other similar models, you could still be held liable for infringement even from the use of those models.  Daz grants usage of their base models in 2D images.  If you dress the model up to look like Snow White or Cruella DeVille from Disney’s films, these are Disney owned copyrighted characters.  If you dress them up to look like Superman, same story from Warner Brothers.  Daz’s protections only extend to the base figure they supply, but not once you dress and modify them.

The Bottom Line

If you are an artist and want to use any highly recognizable copyrighted characters like Mickey Mouse, Barbie, G.I. Joe, Spiderman, Batman or even current celebrity likenesses of Madonna, Angelina Jolie or Britney in any of your art, you could be held accountable for infringement as soon as the work is sold.  It may also be considered infringement if the subject is used in an inappropriate or inconsistent way with the character’s personality.  The days of Andy Warhol are over using celebrity likenesses in art (unless you explicitly commission a photograph of the subject and obtain permission to create the work).

It doesn’t really matter that you used a 3D character to simulate the likeness or who created that 3D object, what matters is that you produced a likeness of a copyrighted character in a 2D final image.  It’s that likeness that can cause issues.  If you intend to use copyrighted subject matter of others in your art, you should be extra careful with the final work as you could end up in court.

With art, it’s actually safer not to use recognizable copyrighted people, objects or characters in your work.  With art, it’s all about imagination anyway.  So, use your imagination to create your own copyrighted characters.  Don’t rely on the works of others to carry your artwork as profit motives are the whole point of contention with most copyright holders anyway.  However, don’t think you’re safe just because you gave the work away for free.

Posted in 3D Renderings, art, Daz Studio by commorancy on March 25, 2010
%d bloggers like this: