Santy's blog
Santiago Orgaz's blog about xNormal, ratGPU, CGI, 3D graphics, CPUs, GPUs, ray tracing, rendering and parallel computing.
Tuesday, April 23, 2013
OpenEXR 2.0 "deep maps" explained
I was preparing the xN 3.18.2 and noticed that OpenEXR 2.0 was available. The docs mention a very interesting thing called "deep data".
Deep data/maps refer to the ability to store multiple values per pixel. You can put there several depth-map Zs, texture multisampling points, etc..
This video explains it very good and I think is a really useful feature for compositing:
http://www.fxguide.com/fxguidetv/fxguidetv_095/
Sunday, April 14, 2013
xNormal 3.18.1 available
xNormal 3.18.1 has been released !
- xNormal is now a 64bits-only application.
- Added support for 3dsmax / Maya 2014.
- Ported xNormal from .NET 2.0 to .NET 4.0.
- Optimized the OpenRL ambient occlusion generation and improved compatibility with the Caustic R2100 / 2500 ray tracing cards.
- The render time now takes into consideration the ray tracing building structures and tile preparation phase.
- Improved the heightmap / VDM tonemapper with new stats and better control.
- Some SDK improvements.
- Lowered a bit the Default Map Renderer's threads priority ( to allow the user to perform background tasks while the maps are rendered ).
- We made some dialogs modal and improved the progress bar / abort management.
- Fixed lots of bugs.
- Recompiled using the lastest libraries ( including libTiff which should remove some warning dialogs ) and VS2010 SP1.
Download it as usually from
Eat3D forums - http://eat3d.com/forum/official-releases/xnormal-3181
Or official web - http://www.xnormal.net/Downloads.aspx
Friday, March 15, 2013
Imagination Technologies / Caustic Graphics R2100's results : 30W of pure ray tracing power
xNormal 3.18.0 has been released. We have optimized a bit our OpenRL implementation so it's time for a small benchmark with our new toy : the Imagination Technologies / Caustic Graphics R2100 card.
As we mentioned in a previous post, it's the small version of the R2500 card : it has 4Gb of DDR2, uses a PCI-Express 2.0 16X small slot and it consumes only 30W ( it barely needs that fan :p ).
In theory, it's able to perform more than 50M incoherent rays per second ( which can be easily 200M/s of coherent rays ).
I like a lot the card's leds. When you're performing ray tracing they animate. It's very useful to see the charge of process:
Well ... let's put on fire those leds with some ray tracing work :D
Our test machine: CPU Intel i7-2700K quad-core 3,5Ghz ( 3,9Ghz with turbo ) on a Z68 board, 8Gb of DDR3-2133 CL9, Windows 7 SP1 x64, R2100 card with OpenRL 1.2R2 / Caustic drivers 2.0.2.
We're going to use our beloved Smiley example ( 400K polys )
to render a 2k x 2k ambient occlusion map with 128 samples. These are the results:
As you can see, the R2100 card just took 11.25s to render ( 5.11x faster than our optimized xNormal's C++ renderer ).
The software implementation of OpenRL ( which I think it uses LLVM ) does also an incredible job vectorizing the code. It rendered a bit faster ( 49.97s ) than the xNormal's C++ SIMD-optimized ray tracer ( 57.54s ). Amazing.
But ... let's make this a bit more interesting ! We're going to perform a stress test to see how the number of polygons affects OpenRL :
We subdivided and sculpted a new Smiley example using 9M polys ( more than 1Gb of data! ).
These are the results:
We have multiplied by 23x the number of polys ( and memory/bandwidth used ) and the R2100 is still 3.37x faster than xNormal's CPU ray tracer ! So, I would say it scales pretty well and the card does not suffer too much.
The R2100 is very fast not only rendering but also recomputing dynamically the RT spatial structures. I'm sure it will manage pretty well a complex animated scene ( or a game ) in realtime.
It will be very good for a small and low-power consumption rendering farm ( and let me remind you again that it only consumes 30W omg ! )
EDIT: Btw, if you go to the GDC this year and you want to see one of those cards in action with xN, Imagination Technologies's booth is #512.
As we mentioned in a previous post, it's the small version of the R2500 card : it has 4Gb of DDR2, uses a PCI-Express 2.0 16X small slot and it consumes only 30W ( it barely needs that fan :p ).
In theory, it's able to perform more than 50M incoherent rays per second ( which can be easily 200M/s of coherent rays ).
I like a lot the card's leds. When you're performing ray tracing they animate. It's very useful to see the charge of process:
Well ... let's put on fire those leds with some ray tracing work :D
Our test machine: CPU Intel i7-2700K quad-core 3,5Ghz ( 3,9Ghz with turbo ) on a Z68 board, 8Gb of DDR3-2133 CL9, Windows 7 SP1 x64, R2100 card with OpenRL 1.2R2 / Caustic drivers 2.0.2.
We're going to use our beloved Smiley example ( 400K polys )
to render a 2k x 2k ambient occlusion map with 128 samples. These are the results:
As you can see, the R2100 card just took 11.25s to render ( 5.11x faster than our optimized xNormal's C++ renderer ).
The software implementation of OpenRL ( which I think it uses LLVM ) does also an incredible job vectorizing the code. It rendered a bit faster ( 49.97s ) than the xNormal's C++ SIMD-optimized ray tracer ( 57.54s ). Amazing.
But ... let's make this a bit more interesting ! We're going to perform a stress test to see how the number of polygons affects OpenRL :
We subdivided and sculpted a new Smiley example using 9M polys ( more than 1Gb of data! ).
These are the results:
We have multiplied by 23x the number of polys ( and memory/bandwidth used ) and the R2100 is still 3.37x faster than xNormal's CPU ray tracer ! So, I would say it scales pretty well and the card does not suffer too much.
The R2100 is very fast not only rendering but also recomputing dynamically the RT spatial structures. I'm sure it will manage pretty well a complex animated scene ( or a game ) in realtime.
It will be very good for a small and low-power consumption rendering farm ( and let me remind you again that it only consumes 30W omg ! )
EDIT: Btw, if you go to the GDC this year and you want to see one of those cards in action with xN, Imagination Technologies's booth is #512.
Thursday, February 07, 2013
Future xNormal releases will be 64bits only
Ok, sorry guys but we MUST clean the code. There are too much old routines, libraries and plug-ins and we simply cannot maintain all that enormous quantity of code.
All the new releases will be 64bits only !
We're also moving to VS2010 SP1 so we'll suport only 3dsmax 2012-2014, Maya 2012-2014 and Photoshop CS4/5/6 (64bits) by now.
And nope, we won't support Maya 2013.5 because Autodesk had the wonderful idea to make it non-binary compatible with 2013.0 .. so we'll better wait for Maya 2014 ( which should be available by the end of March ) :p
All the new releases will be 64bits only !
We're also moving to VS2010 SP1 so we'll suport only 3dsmax 2012-2014, Maya 2012-2014 and Photoshop CS4/5/6 (64bits) by now.
And nope, we won't support Maya 2013.5 because Autodesk had the wonderful idea to make it non-binary compatible with 2013.0 .. so we'll better wait for Maya 2014 ( which should be available by the end of March ) :p
Thursday, January 17, 2013
ARMED !
I read via
http://www.technologynewsworldwide.com/crafting-windows-phones-finest-strategy-game/
that ARMED ( that amazing RTS game! ) used xNormal.
Yay !
Friday, December 21, 2012
Monday, December 17, 2012
Imagination Technologies - Caustic Graphics R2500 / R2100 ray tracing cards
Finally, here is, Imagination Technologies's / Caustic Graphics's amazing R2500 card.
What's that? It's a professional HARDWARE ray tracing accelerator.
It costs 1495$, but there's a cheaper version ( named R2100 ) for 795$ as you can see here
http://www.imgtec.com/caustic_sales/
Caustic R2100
The R2500 model is built in 90nm ( I think ), it uses PCI Express 16x 2.0, it has 16Gb of DDR2 RAM and two processors able to deliver 160 MRays/s for secondary rays using just 60W.
The R2100 model has 4Gb of DDR2 RAM and it delivers 80 MRays/s using 30W. This is their RTU ( ray tracing unit ) chip, named Caustic RT2-ES1:
Here is a video showing the cards:
The cards are programmed using a C API called OpenRL.
As you probably noticed, xNormal supports OpenRL since a year ago ( because I had access to its Beta SDK program )..
More info at https://caustic.com/series2/index.html
xNormal script exporter for maya
Thanks to Piquet "Froyok" Fabrice who made a script for Maya to export and bake your meshes.
It's called froXnormal.
You can find it at http://www.froyok.fr/scripts.html
Wednesday, November 28, 2012
The ARM revolution
The ARM's Cortex A57 announcement gonna change the computing as we know:
It's an APU/SoC beast specifically optimized for performance/watt and fully scalable ( if 16 cores consume 30W you could place 64 cores to consume 120W or 8 cores to consume 15W ). ARM does not produce chips, they just sell the IP and Verilog code to synthetize the chip to other companies like Samsung, Texas Instruments, NVIDIA, etc... So their design must be very modular, flexible and scalable.
This is really dangerous for the Intel's x86_64 architecture because the A57 uses a much more modern and super power-efficient design grown from mobile devices ( phones, tablets, netbooks ).
But ARM also developed a very power-efficient GPU, the Mali-T658 , with 272GFlops supporting DX11, OpenGL|ES 3 and even OpenCL! This GPU can be combined with the Cortex CPUs to make an "APU". But, as I mentioned, the ARM's architecture is very flexible so an assembler like NVIDIA or Samsung could perfectly integrate their own GPU ( like a GeForce a PowerVR ).
Several companies are developing truly amazing processors based on ARM:
- Samsung developed the Exynos SoC present in old boards like the amazing ODROID-X2 board. We already have seen how amazing is the A15-based Exynos 5 present in the 249$ Chromebook and Arndale boards . It even supports USB3, DDR3 and SATA3!
- Calxeda, who made the EnergyCore ECX-1000 processor used in HP's Moonshot servers, is developing their next 64bits processor too. The power efficiency of ARM servers is incredible:
- NuFront demonstrated some time ago a desktop based on dual-core 2Ghz A9 chips:
- Nvidia anounced some time ago they are developing the Project Denver/Boulder... and they also have the famous Tegra chips.
- AMD also anounced they are developing an Opteron based on ARM.
- Qualcomm has the Snapdragon S4 chip present in a lot of mobile phones and tablets. The next version could be used in laptops and desktops !
- Marvell has the Armada-XP, present in the Dell Copper servers.
- Texas Instruments has the OMAP processors, present in several ARM boards like the Pandaboard ES.
- Apple said that they are investigating the possibility to use an improved A6X ( named A7X probably :p ) chip for their upcoming Macs. I remember when they swapped the PowerPC by the Intel CPUs ... History always repeats, apparently :D
So what we should expect in the future? Super power-efficient ARM APU/SoCs with 16 cores running at 3Ghz+ with amazing GPUs and RAM embedded. Hmmm ... wait! Did you say "embedded RAM"? Yep!
http://hybridmemorycube.org/technology.html
http://www.xbitlabs.com/news/memory/display/20111102133147_Samsung_Plans_to_Manufacture_Hyper_Memory_Cube_Solutions_in_2013_2014.html
So forget discrete GPUs, DIMMs or RAM chips soldered on board. The future APU/SoCs will integrate all ( omg, poor motherboard assemblers like ASUS, Gigabyte, MSI, Asrock, etc! ). In fact, the Intel's processors after Haswell ( that is, Broadwell ) will use BGA packaging and not a LGA socket!
On the software side:
- Microsoft adapted Windows 8 to the ARM architecture ( called WinRT ).
- Linux already supports ARM. More specifically, Ubuntu's ARM support is pretty exciting.
- Apple's devtools and iOS already support ARM CPUs ( present in the iPhones/iPads ).
So ... prepare yourself for the ARM-attack and, if I were Intel, BEWARE !
Friday, November 23, 2012
xN4 dev update
We decided to delay a bit xN4 to use Qt5.
Alpha 1 is pushed to end of Q1 2013, some betas following in Q2. Final version ... I have no idea :p
Alpha 1 is pushed to end of Q1 2013, some betas following in Q2. Final version ... I have no idea :p
Subscribe to:
Posts (Atom)





















