Showing posts with label graphics. Show all posts
Showing posts with label graphics. Show all posts

Friday, June 14, 2013

Has the new Mac Pro 2013 the potential to be a good CGI workstation?

Apple sneak previews the new Mac Pro on the first day of  WWDC 2013


On the 10th of June Phil Schiller, the senior vice president of worldwide marketing at Apple Inc., presented the new Mac Pro. This new machine looks nothing like the previous model. In fact, the whole thing is redesigned from the bottom up.

The internals of the new Mac Pro. You can see two memory slots at either side for a total of four.

What's under the cylindrical hood?


The new cylindrical design has already been mocked by the internet community to be a trash can, jet engine or a Darth Vader inspired machine. I agree that it is a strange design but I can see the benefits when keeping the machine cool. All components are cooled by a central cooling element and one large fan which will keep the noise levels down.

It will have up to 12 new Intel Haswell Xeon cores, a dual AMD Fire Pro graphics card, 1866MHz DDR3 memory for a bandwidth of up to 60 GB/s, PCI express flash storage, Thunderbold 2, HDMI 1.4, USB3 and gigabit ethernet. Even the latest wireless technology is incorporated.


So, is it any good as a graphics workstation?


The new Xeon cores will definitely provide plenty of power for local render jobs. The fast memory and flash drive will run 3D software like Maya quickly. On the pictures, released on the Apple web site, you can see that there are only four memory slots. Compared to the current Mac Pro that seems kind of few. It all depends how much you can fit in one of those slots of course.

"So what about the graphics card?" you might ask. The dual professional AMD GPU is not a bad choice but it is not sure if it will be upgradable once the machine leaves the factory. The evolution of graphics cards goes much quicker than the rest of a machine. It usually gets replaced half way the lifetime of the machine itself. There is also the question if nVidia GPUs will become available. A lot of graphics software works with CUDA acceleration. Apple is gambling a bit that software companies will develop more OpenCL applications in the future. That said, Mari, a great painting tool for 3D artists will become available for Mac later this year.

One of the things people believe to be the biggest problem is expandability. There are no expansion slots anymore and there is no space for extra hard drives. Apple believes that all expansion should go trough the Thunderbolt 2 interface. It does show potential though. With 6 ports you can add up to 36 devices (6 daisy chained per port) which I am sure is more than enough. And the Thunderbolt 2 I/O is twice as fast as the current one going up to 20 Gb/s.

I honestly think that hard drive expansion, although external, will not be such a big issue. There are already plenty of Thunderbolt solutions out there. Besides that, most post production facilities have network attached storage. Yes, four internal drives might be neater and less cable clutter but I don' think performance will suffer too much.

A potential bigger problem might be finding solutions that needed a PCIe expansion slot before. Some facilities have invested a lot of money in peripheral hardware which with the new Mac Pro can't be used anymore. There are PCIe expansion racks available but this adds to the cost. And, although I am not 100% sure if this is true, Thunderbolt 2 might not have enough bandwidth for adding an extra GPU in an external rack. Then again, you get 2 professional GPUs fitted when you buy a new Mac Pro which provide already a lot of GPU power.


Am I getting one once it is available?


So am I getting one when it becomes available? Well, that will all depend on the price. The machine looks great on paper and will definitely outperform my 2008 Mac Pro but if the entry model will cost more than 3000 Euro, it will become hard to justify the purchase. The 2008 Mac Pro was one of the cheapest Mac Pros on the market compared to it's competitors. If Apple can repeat this then I will be one of the first ones to get one.

Anyway, I am looking forward for this machine to hit the shelves.

Thursday, October 11, 2012

RenderMan Studio 4 and RenderMan Pro Server 17




Last week Pixar released their latest instalment of RenderMan Studio and RenderMan Pro Server. This is quite exciting news so a good reason to write something about it.

Versions and Pricing for RenderMan Studio 4

Pixar used to have two product lines. The cheaper RenderMan for Maya which was a limited plug-in but with an embedded render license and the more expensive RenderMan Studio which had all the regular tools like Slim and "it" but needed a RenderMan Pro Server license to actualy render anything at all. Pixar has consolidated their two Maya plug-ins into one and has adjusted the pricing and functionality. The RenderMan for Maya product line no longers exists and only RenderMan Studio is now available. RenderMan Studio still has all functionalities but Pixar added an embedded render license. In combination with the price drop to $1300 a license this will give bigger companies a considerable expense cut and gives smaller companies the full set of tools for only $300 more than the old RenderMan for Maya license.

This new pricing gives smaller studios the opportunity to start building their RenderMan pipeline without the huge investment that it used to be.


New Features in RenderMan Studio 4

RMS 4 contains the following applications.
  • RenderMan for Maya 5
  • Slim 10
  • "it" 10
  • Pixar's RenderMan 17 (embedded version)
  • LocalQueue
  • Tractor 1.6
The two new applications are the embedded RenderMan 17 and LocalQueue. This last one is particularly handy for artists who like to render locally controlled by a render manager without having to set up an entire render management infrastructure. The embedded renderer is exactly the same as the Pro Server version so there is no difference if you render it locally or on the render farm.

There is a long list of improvements and efficiency updates but one of the more interesting features is "Phisically Plausible Shading". This is a new easy to use advanced shading and lighting workflow which creates very realistic results. Keep in mind that this new workflow is not compatible with the older RMS 3 workflow although the old workflow is still available if you wish to use it. You have to choose which workflow you like to use at the start of your project and stick with it.

Some interesting features of the new RMS 4 plausible shading workflow.
  • Raytraced and point-based global illumination: This is controlled with special global GI lights. It supports light linking so it is possible to use pre-computed point clouds for a set while rendering the hero objects with raytraced global illumination.
  • Image based lighting is now de-coupled from global illumination. The new RMSEnvLight is a bit slower to calculate but the quality has improved a lot.
  • New Area Lights: Area lights are quite hot nowadays. They provide realistic lighting and soft shadows.
  • Light Blockers: Although I used this feature many years ago as a custom light shader they have now included this as a standard. This is incredibly handy to subtract light in certain areas of your scene.
  • Subsurface scattering trough raytracing: No need to compute pre-passes anymore. This can be handy for relighting purposes as pre-passes can take up too much time.
To facilitate these features Pixar has added new shading nodes which are directly accessible in Maya or trough Slim. The general purpose surface shader supports layering which in my opinion is a very important feature.

New features in RenderMan Pro Server 17

RPS 17 is mainly a speed and efficiency update. I'll mention the features which I think are the more important ones. Hair and fur render up to five times faster and the new implementation of RSL has a 20% speed increase on average on shading calculations. There is also a volume rendering optimization and a new implementation of objects instancing.

Also new: RenderMan On Demand

Pixar also created a new online service called RenderMan On Demand. Whenever you have not enough render capacity it is possible to send your scenes to Pixar and let them render out your scenes. The service fee starts at 70 cent per core per hour.

Links:

Tuesday, September 25, 2012

Getting into the VFX business



Every now and then I get the question on how to get into the VFX business. In this post I'll give some pointers which can help you to get on your way. I have to warn you though. It is not an easy business to get into and a tough one to stay in. The competition can be quite stiff. Although I do not encourage working many extra hours you probably will at some point as you have to meet deadlines. In practice it is never a nine to five job. If you do not have a passion for computer graphics it might be better for you to find another occupation.

Now that I have warned you, let's go over the pointers.


Education


In the old days CGI was so new that no courses on the subject existed. It was something you had to learn on the job. Since it involved computers it was helpful to get a degree in computer science first but it wasn't always necessary. Many people started in VFX companies at the bottom of the ladder as runners and were allowed to train on the expensive workstations during the evening. If you were good it was possible to get promoted from runner to a junior position in the company. Usually this was in the tracking or rotoscoping department.

In the last decade it has all changed. Software has become more user friendly and you don't need to know how to program any more. Artistic people belong in this business as much as the tech heads. It can be done on mainstream hardware and many software packages have learning editions out there which allow you to get first hand experience for a small amount of money or sometimes even for free.

As in many things it is always smart to get some education first. When I started there were no VFX courses in Belgium at all so I had to move to the UK for an education. Today, your local school may have a computer animation course or you might try online courses like the ones available at FXPHD. Keep in mind that just learning how to work with Maya or any other software package is not good enough. I really recommend that you learn about traditional film making too. Learning about cinematography and story telling is a huge added value to your knowledge and will make your work so much better.

Practice


I can't stress this enough: practice, practice, practice... till it makes perfect. Nobody can model a perfect human model from day one nor paint a beautiful matte painting when opening Photoshop for the first time. Everyone needs to practice, even the super talented people. It is only by doing so that you learn it. You need to constantly hone your skills. Learn to understand why something is good and why something is crap. Get others to look at your work and let them comment on it. Learn from the advice which more experienced people give you and then go back to practicing. Reading about it and watching tutorials is great but if you do not practice it doesn't help you all that much.

This seems like a lot of hard work and it is. I spent many late nights on trying things out and practicing my skills while I was a student. Don't get disheartened when your progress is slow. Some things take a while to learn.


Once you start working you will have less time to practice and it can become harder to pick up and train new skills.

Generalist vs Specialist.


It really depends in what kind of industry you will work in when thinking about becoming an generalist or a specialist. Being a jack of all trades and a master of none can be really beneficial in a small company or when making VFX for commercials. You probably get many small projects each year and usually the teams are small too. It is even possible that you have to do the entire job on your own which means you got to model, animate, shade, light, render and composite it all yourself.


When you are aiming to become a VFX artist in the film industry it is very likely that you will have to specialize in certain skills as it demands high quality. This means you will be much better trained in your particluar field and therefor produce better and faster results. It also means that other skills will be neglected and you will probably never become good at them.


I do recommend to go over every category and at least try them a couple of times. This way you can see what you like most and you will understand the whole VFX pipeline.


Portfolio and Showreel


When you go to apply for a job make sure to have a portfolio (for Matte painters and concept artists) or/and a showreel which showcases your best work. Nobody will give you a job when you can't show the work you have produced in the past. It is even more important than your CV.


Only show your best work. One bad shot on your reel will pull the quality of the whole reel down. Don't make a ten minute reel. Nobody will watch that as most recruiters do not have time to do so. Two minutes is more than enough. If you don't impress them in those first two minutes of your reel you probably never will.


Focus your reel on the job you are applying for. If you want to be animator show animation. If you want to become a lighting TD show finished shots with a breakdown on how it is done and so on.


Conclusion


I don't want to discourage anyone but VFX is much more hard work than glory. If you are really passionate about VFX it can become a very rewarding job but keep in mind it is a tough job.

Now go practice some more.

Saturday, August 18, 2012

RenderMan Basics




I recently put my old graduation animation online (which you can watch on youtube: A Plug's Life). It was made back in 2001 and it was my first big project working with Maya and Pixar's RenderMan.

The other day I was asked in the video comments if I could write some tutorials on the use of RenderMan. That sounds like a great idea but before I want to come up with some hands on tutorials it is important to learn something about the RenderMan architecture.

I often hear that RenderMan is not suitable for small studios as it is too complex and is for tech heads and not artists. I beg to differ. RenderMan is a very efficient render engine and small studios which do not have a lot of render capacity can really benefit here by lowering render times. The shading tools are quite extensive and can give superb results without the need of any programming.


What is RenderMan?

First I like to define RenderMan. RenderMan is actually an API (application programming interface) and not a render engine. For a long time Pixar was the only one having RenderMan compliant renderer (as they invented the standard) called Photorealistic RenderMan or in short PRMan. People quickly started to call it RenderMan though and it has stuck ever since. Today there are more commercial render engines available which are RenderMan compliant like 3Delight.

Since Pixar's RenderMan is the industry standard (they say so themselves and honestly it is true), I will use their software to explain my examples.


RIB or RenderMan Interface Bytestream

Since PRMan is a renderer and Maya an animation package, there is need of a common language between the two. The API mentioned before is this language. Have a look at the following schematic.

The scene translator converts Maya data into a RIB file which the render engine understands.

The scene information from Maya is translated into a RIB file. This RIB file contains everything from geometry and information on which shaders are used to render resolution and certain render settings like shading rate. Since a RIB file is written in the common RenderMan language every RenderMan compliant renderer can interpret it and render it.

The RIB file can be displayed as an ASCII file, looks a bit like a programming language and is actually quite readable. We often opened up the RIB file to see where things went wrong when the renderer didn't give us the expected results.

In larger studios this RIB file is usually hacked to add in extra elements before the the final render is made.


RSL or RenderMan Shading Language

Shaders are render engine dependent. This means that when you go from one render engine to another you need to redo the shading. To tackle this problem between RenderMan compliant renderers, the standard provides a common shading language called RenderMan Shading Language. This is a simplified programming language to code shaders. These shaders are then compiled and used by the render engine.

Coding shaders is not what most artists want to do but since RenderMan Studio has a visual tool to create shaders called Slim, artists don't have to feel left behind. Understanding how to code shaders can give you a better insight in how shading works in CGI though.


RenderMan Studio

Pixar's RenderMan is available as a package called RenderMan Studio. It contains:
  • RenderMan for Maya (Pro)
  • Slim
  • it
  • Tractor
RenderMan for Maya is the core plug-in. It deals with the scene settings and takes care of translating the scene information into a RIB file. It comes with its own Maya menu and custom shelf.

Slim is the shading management tool. It is an external running program but can be connected to your Maya scene. Custom shading networks can be generated visually as well as trough coding in RSL.

"It" is the image tool. When rendering out your images you can do so to the Maya renderview but also to "it". "It" is much more flexible and allows even simple compositing trough scripting. It also allows the use of Look Up Tables and displays actual pixel values, something the Maya renderview is lacking.

Tractor is the render farm tool which queues and manages your renders. Not only can you manage your RenderMan renders but also other jobs like Nuke composites which you want to be calculated on the render farm.

RenderMan Studio comes with an embedded render license so even small VFX studios can get started straight away.


Links:

Monday, August 06, 2012

CGI Workstations



Because I am a bit of a techie I often get the question what kind of workstation people should get to do their post production and CGI work on. In this article I look into what is useful and what is merely fluff. Since hardware specifications change regularly I will try to be as general as possible so hopefully this article will still be valid in years to come.

The machine

Any computer can be used to do graphics on but I am sure you will get frustrated quickly when things don't move along smoothly. Let's not kid ourselves though, machines get faster every year but scene complexity goes up as well. In the end you always need a good machine to do CGI.

CPU or processor

Let's start with the heart of the workstation. The CPU will take care of most calculations. A fast processor is great to have but there are some things to consider.
  • MHz vs cores: Multicore processors are quite common the last couple of years. These are great for multitasking but also for programs which are multithreaded. Most CGI software is multithreaded and uses more than one core at the time. Having a fast CPU with several MHz will help you along as well as it will execute a thread faster. To find the balance is a bit tricky but I always check these CPU benchmark reports. They give added performance of all cores in a processor. This way you can see if it is better to go for that high MHz quad core processor or for the lower MHz hexa core processor.
  • Price vs performance: Now that you have an idea how each processor performs you have to balance it with how much it costs. Most processor series have a sweet spot where you get the best performance for its price. It is usually a good idea to pick the one which performs a couple of steps better than the sweet spot one. Yes, it is more expensive but these are a bit more future proof. If you got unlimited funds you can pick the fastest one but keep in mind that these are only 20% to 30% faster but more than triple the price.
I am a fan of lot of cores since my main competence lies in lighting and rendering. It used to be that you had to buy a render license for each core but luckily those days are over. Buying a 12 core machine over a 8 core one could be beneficial if your post production software is really expensive.

I also like to suggest to take server rated processors like the Intel Xeon and the AMD Opteron series. They are a bit more expensive but have no trouble running 24/7.

Memory or RAM

Next up is memory. 3D, compositing and render software use tons of memory. The good part is that in comparison to processors memory is rather cheap. Don't skimp on it! I know it is easy to add in more but getting enough memory will help you a long way. It also allows to have multiple programs open at the same time. I often have Maya and Nuke open while rendering a scene in the background with Mental Ray.

When you run out of memory the workstation will start swapping memory to disk. This really grinds it to a halt as disks are death slow in comparison to RAM. Once it starts swapping you will pull your hair out of frustration and it can take literally minutes before your machine becomes responsive again.

So how much should you get you ask? As a rule of thumb take at least twice as much as the market puts in machines by default. For example most good performing machines have 8 GB of RAM at the time of release of this article. I suggest you put in 16 GB. Each year this number will go up so adjust accordingly.

Make sure to choose the right RAM for your motherboard. Some motherboards need the more expensive ECC memory.

Graphics Cards

Graphics cards are probably the most discussed items in a workstation. They are not only important to show your graphics on the screen but also have some calculation capabilities which gives a boost to the performance of the workstation.

  • Game card vs Professional card: This is one of the big questions. Should you get a cheaper good performing game card or a slower very expensive professional card. The reason there is so much discussion about it is that it is a difficult question to answer. Post production software usually claims they are only certified to work with professional cards. In practice we see that most game cards cope quite well though. If you build a dedicated workstation and are willing to spend the money then it might be worth to get the professional card. If you are on a limited budget and also like to use your machine for games, go for good processors first and get a good performance game card. NVIDIA has a document which promotes the Quadro series over their GeForce series for professional work. Look it up and see what is important to you.
  • NVIDIA or ATI (from AMD): The race to make the fastest graphics card is an ongoing process. NVIDIA has the Quadro series and ATI has the FirePro series for professional graphics. In my opinion NVIDIA is the clear winner here. They have developed the very popular CUDA which allows to run calculations on your graphics card which usually are done by the CPU. A lot of programs are already taking advantage of this. Even the game cards support this technology.
At the time of writing this article there is not much choice when you are using a Mac Pro as your workstation and want an NVIDIA card. Only the expensive Quadro 4000 is currently available. I hope this will change in the near future.

Motherboard

Since processors dictate what kind of technology you use, choosing a motherboard becomes slightly less important. Most of the time the hardware manufacturers won't even give you a real choice. If you go for server rated processors then you usually also get a server rated motherboard which is good enough.

Hard drives

Most computers have only one hard drive. If you work in a facility with a server then this one disk will be enough. It just needs to be big enough to store all your post production software. All created content will be stored on the server so multiple people can have easy access to it.

If you have a standalone workstation then it is a good idea to get two extra disks and put them into a RAID 0. This RAID disk will be used for all your data while your main disk will contain the operating system and the installed software. It will increase reading performance quite a bit. There is a caveat with this kind of setup though. Since data is divided over two disks the chance of a hard disk failure is doubled. Make sure to backup your data regularly, preferably onto an external disk (which can be a SAN).

Take server rated drives which run at 7200 rpm or faster. These are manufactured to run 24/7. Cheap green disks just don't have enough performance for this kind of work.

Sound card

Most motherboards have built in audio and if you are not making any music then this will do.

Mouse and keyboard

Just pick a keyboard you feel comfortable with but do pay some attention to the mouse. Most mice are too light and are not comfortable to work with. Keep in mind that the mouse is used a lot while creating graphics and getting Carpal tunnel syndrome because of a bad mouse will kill your VFX career rather quickly. A heavy mouse works more accurately. I use game mice with a good grip on which I can add little weights. Most post production software make heavily use of the middle mouse button. This is usually a scroll wheel so make sure it feels comfortable enough to be used as a button too.

Tablet and pen

This is a bit of an investment but I have a tablet since 2000 and I really can't mis it anymore. I don't use it for Maya but it is incredibly handy when editing, compositing and, last but actually really important, when doing Photoshop paintwork. It has a complete different feel than a mouse and it just works way faster for certain things.

Monitors

Depending on what you do you can get a cheap one (when modeling or animating) or an expensive one (when doing color critical work like painting or lighting). I suggest not to skimp too much on a good monitor. I only use 1920 by 1200 LCD panels nowadays. They have enough pixels to show all important screen assets and can handle full HD. If you do have color critical work make sure to get a monitor which can be calibrated. It will save you a lot of hassle later on. 

I worked for production companies who didn't bother too much to get good monitors and the result was that everything we produced looked different on each monitor. You can imagine that it can become quite frustrating when a director sees your image on his screen and tells you it is too dark or too red while on your own screen it is too light and too green. If you work together with other people and can't afford multiple good monitors, you need to pick a reference monitor on which everyone will judge the color fidelity of the entire project. This way everyone sees the same image with the same color balance.

Other Peripherals

Feel free to add in other peripherals that may ease up your life like a Blu-ray player or an old school floppy drive. Do check that they do not eat too much resources like CPU power and memory.

Conclusion

You might have noticed that building a dedicated workstation can cost quite a bit of money. Yes, it usually surpasses the price of a very expensive gaming rig. If you are a hobbyist it might be enough to use that gaming rig. If you are a professional trying to make money out of VFX work then you better go for a professional workstation. Having a decent system will accelerate your workflow and since time is money you can make the calculations yourself how much money you can save over time by making the the initial investment.