Wednesday, May 26, 2010

A movie I want to watch: Inception

I have been always a big fan of The Matrix(1999) ( not what came next to that :p ). When I saw the teaser trailer for the first time I was shocked :O

I've just seen the Inception's trailer and I'm in shock state again 10yrs after :O

The trailer has some spoilers so if you liked The Matrix, Dark City, The Cell, Paprika or you simply trust Nolan... then just go directly to the cinema :D
If you can't resist the temptation and you don't mind to ruin a bit the surprise with some minor spoliers then just see the 3rd trailer !

I recommend you to download the Trailer 3 in HD quality from Apple, it really worths the effort:
http://trailers.apple.com/trailers/wb/inception/

Here is the official page:
http://inceptionmovie.warnerbros.com/

This is THE movie of 2010 ! July 16th is the date.

Tuesday, May 25, 2010

Optix renderer FAQ



I'm getting a lot of emails about the new Optix/CUDA renderer in xNormal. This FAQ will answer some of the most common questions:

Q: Do I need to enable SLI to use multiple GPUs with the Optix renderer?
A: Nope. It will use multiple GPUs even when SLI is not enabled. If multiple cards are detected then all them will be used automatically. You don't have to worry if SLI is enabled or not.

Q: Why I cannot see the Optix renderer in the renderer's combo box?
A: Because you're using Windows XP and you've only a GPU.

In WinXP there is a thing called "watchdog" that interrupts any GPGPU program if it takes more than 5 seconds to execute and the card has a monitor plugged. Unfortunately, it cannot be disabled and that behavior is by-design. As you probably noticed, the AO can take much more than that so you'll have problems...

However, you can skip that "watchdog" making this:

1. Migrate to Vista or Windows 7. The watchdog can be disabled for these modern OSs. For WinXP I'm afraid it's imposible by design.

2. Under WinXP, buy a second card ( equal to the one you have ... or with the same GPU, bus and memory ). Then, go to the xNormal's Plugin Manager, select the Optix renderer, press the "Configure" button and enable the "Ignore this device" for the GPU with the monitor attached.
In that way the GPU with the monitor attached won't be used by CUDA so you can skip the watchdog ( the watchdog is only enabled for attached-to-the-monitor cards, NOT for the ones without a monitor attached ! ).


Q: How optimized/stable is the Optix renderer currently?
A: The incredible thing is that I've not optimized at all the Optix renderer... but a sub 100$ card like the GT240 is faster than a i7 920... Expect much more speed in the future because I have a big margin to optimize. On the other hand, xNormal 3.17.1 is compiled using Optix Beta 5 which is currently a non-final version.

I've marked the render as "alpha" and "experimental", so I have still a looooooong way to walk.... but I think it's enough stable to render basic normal and AO maps without many problems and it gives a nice performance boost compared with the CPU.

Q: Are you going to use OpenCL?
A: Well, apparently OpenCL is slower on NVIDIA's cards than CUDA... so I'll stay by now with CUDA/Optix for NVIDIA's cards. CUDA is also a bit more mature and tested. The Nexus tool looks awesome !

I probably will explore OpenCL in the future but I still need to do a lot of R&D.


Q: What limitations have the Optix renderer currently?
A:

1. VRAM. Very dense meshes could not fit into the GPU memory. However, there are Quadro and Tesla cards with a great amount of VRAM.

2. The screen can blink or become very unresponsible... which is natural because the GPU is very occupied when it's performing the ray tracing... so it could have not enough time to draw the desktop. You can solve this buying an extra card and using the "Ignore this device" option for the GPU with the monitor attached.

3. There are some features not yet implemented ( fine detail, jitter, AO attenuation, etc... ). The time will solve that.

Q: Do you plan to implement a GPU path-traced 3D viewport for xn3?
A: Yep, probably. I'm currently concentrating on xn4 so I need to find some spare time to implement that in xn3.

Q: Why should I use a Tesla or Quadro and not a GeForce?
A: Optix can execute well on GeForces. However, I recommend to buy a more professional card. Why?

1. VRAM. It's very rare to find a GeForce with more than 1Gb of VRAM. On the contrary, there are several Tesla / Quadro models with more memory(up to 6Gb). The memory is important if you plan to render very dense meshes or HD images/textures.

2. Quadro cards have very optimized drivers, specially if you display the meshes as wireframe or if you work with OpenGL ( xNormal's GPGPU does ). They also implement super-fast 3dsmax's and CAD's drivers, hw-accelerated XOR cursor and overlay planes.

3. Quadro cards offer a lot of extra features which are not present in a GeForce: Stereo 3D, massive multimonitor support, multi-OS SLI, improved 12bits color output, etc... Also notice they are more power efficient ( f.ex: 55nm vs 65nm ) than a GeForce.

Q: Have you tested it with a Fermi card?
A: Nope, not yet. I currently use a GT240 and Quadro FX3800 to develop. I estimate the Fermi card could be 1.5X-3X times faster.

xNormal 3.17.1

xNormal 3.17.1 is available.

- Solved problems exporting TGA files ( 3dsmax was complaining )
- Fixed a crash bug loading dotXSI/Collada files.
- The Optix renderer now applys the "Ignore this device" option correctly ( ignoring an ignore option, funny :O )

I'm now concentrating on xNormal 4.... finally!