From COLLADA Public Wiki
Jump to: navigation, search
Product information


This article is part of the COLLADA products directory
Adding to the list of products

xNormal is an application to bake normal/displacement/vector displacement/cavity/relief/cone/ambient occlusion/projected base texture maps from a very high polygonal mesh into a lowpoly one. Also provides a tool set to convert height maps to normal maps, cavity maps, cone maps, cubemaps to SH maps, etc... and includes also a realtime 3D viewer with shaders and 3dsmax and Photoshop plug-ins.

xNormal 3.16.8

April 4, 2009


  • The bent normals rendering now is 200% faster.
  • Added a “distribution” parameter to the bent normals options.
  • Solved a bug in the software ray tracing graphics driver that was causing a crash.
  • Solved a bug in the DX10 graphics driver drawing the stars that was causing nice artifacts using
  • Vista x64 ForceWare 180 drivers ( hardware switch instruction ).
  • The software ray tracing graphics driver now uses an adaptive refinement when you stop the camera or you stop moving the light.
  • Optimized the BMP image importer a 500% ( line cache ).
  • Solved a problem welding vertices of the cage.
  • Recompiled using the latest libraries.
  • The software AO rendering now is 200% faster.
  • Solved a bug that could cause the Simple AO tool to hang when the user enables the "CPU rendering" option.
  • Now, by default, the mesh cage will be created using averaged vertex normals.
  • Added the "break" and "weld" buttons to the 3D viewer's cage editor.
  • Added some words about T-junctions on the lowpoly model in the documentation.

xNormal 3.16.6

February 17, 2009

  • Solved some bugs ( AO-normal map misalignment, OpenGL .0f shader error, etc... )

xNormal 3.16.4

January 8, 2008

  • Added SBM mesh importer/exporter support for Maya 8.5, 2008 and 2009.
  • Added an option to see the vector displacement map's seams in the 3D viewer
  • Added a new tool: the SBM file converter.
  • Added a occluded/unoccluded color to the Simple GPU AO tool.
  • Solved some bugs (AO from command line, unsigned height map, unnecessary tangent computation, etc...)

xNormal 3.16.3

November 21, 2008


  • Added support for vector displacement mapping in the DX10 graphics driver.
  • Solved a lot of bugs ( Windows 2000 dll problem, Simple GPU AO cosine modes patch, fixed command line arguments error ).

xNormal 3.16.2

October 27, 2008


  • MatchUV feature for subdivided models.
  • Vector displacement map support.
  • Ray distance tool.
  • Photoshop CS4 support ( including x64 ).
  • Sh diffuseGI cubemap converter tool.
  • Radiosity normal mapping support.
  • Auto-normalized maps.
  • Improved memory management for big images.
  • Improved SDK compatibility .
  • Lots of bugs solved.

xNormal 3.16.1

September 1, 2008


  • New AA system.
  • Added an experimental CUDA2 map renderer
  • Improved anti-seam technology
  • Solved a lot of bugs ( AA pixelization, cone map, TS-normal map hard edges, crash in the 3D viewer, etc... )

xNormal 3.15.2

June 2, 2008


  • Added an option to the "wireframe and ray fails" map to show UV seams.
  • Solved some bugs ( incorrect mesh auto-clear, AA 1/1 diagnostics crash, etc )

xNormal 3.15.1

May 25, 2008


  • Added new map render types: wireframe, clockwise UVs, cavity and ray fails.
  • Added indirect illumination and radiosity to the realtime ray tracing graphics driver.
  • Added 3dsmax 2009 support.
  • Added the SBM mesh importer for 3dsmax.
  • Added "edge padding" option to the tangent/object normal map converter.
  • Improved the floating point accuracy of the internal renderer. Added also a new anti-seam technology.
  • Reduced the memory required to store the mesh normals ( that means greater polycount! )
  • Solved deveral bugs.

xNormal 3.14.6

April 18, 2008


  • Some UI improvements like drag and drop, multi selection, etc
  • Bigger preview
  • Multimonitor enhacements
  • Cage autoassignment message-box after pressing the "save meshes"
  • Added two buttons to clear the lowpoly/highpoly meshes
  • Several bugs fixed

xNormal 3.14.5

April 4, 2008


  • Added gamma correction option in the DX10 graphics driver.
  • Solved some bugs

xNormal 3.14.4

March 29, 2008

File:SsaoSmall.jpg File:CornellSmall.jpg

  • SSAO in the DX10 graphics driver.
  • Fake indirect lighting in the DX10 graphics driver. Added a Cornell box example to show this.
  • Recompiled using SSE for extra speed.
  • Improved a bit the quality of the raytracing graphics driver.
  • Corrected several bugs.

xNormal 3.14.3

February 24, 2008


  • Added a three light simulation in the 3D viewer
  • Added more options to the fine detail
  • Corrected some minor bugs

xNormal 3.14.2

February 9, 2008

  • Corrected some minor bugs

xNormal 3.14.1

January 28, 2008


  • Added a DX10 graphics driver with HDRI, improved bloom effect and sightly better soft shadows.
  • Added an useful text information in the 3D viewer: the maximum cage distance. You can measure better uniform ray distances and height limits just going to the "edit cages" mode and looking at the text's value.
  • The height map rendering no longer requires to enter manually the min/max ray length in the options dialog. Now uses the cage as limit or the const uniform ray distances on the highpoly mesh list. Max cage distance
  • Solved some bugs ( including a crash in the Simple AO GPU tool when loading files with more than one mesh inside ).

xNormal 3.14.0

January 18, 2008


  • Solved some bugs in the Ogre importer ( flipped UVs and tangent basis data ). Also solved several bugs in the PLY mesh importer.
  • The PLY, OBJ and ASE mesh importers now consume less memory. Used the Stanford's mesh collection with 1,5Gb of RAM to test. The Lucy mesh ( 116M polygons ) was loaded without problems with that amount of memory.
  • The realtime ray tracing graphics driver has been optimized to manage big meshes better. Standford's mesh set
  • Added per-vertex ambient occlusion computation in the simple GPU AO tool.
  • The 3D viewer was adapted to show the per-vertex-AO in both highres and lowpoly mesh models. Per-vertex AO
  • Changed completely the rendering system to make it more efficient and to consume less RAM. Now uses a "bucket" approach. Now is possible to render 4k x 4k maps with full antialiasing without problems. The new adaptive sampling render system allows to generate the maps faster when you enable antialiasing. A diagnostics option has been added to see visually the sampling density.
  • Modified the preview window to show the realtime progress of the render.
  • To finish, the maps baked don't use the alpha channel anymore. Now you can use "paste" or to enter manually a path in the file boxes. Some bugs were corrected too.

xNormal 3.12.0

November 6, 2007


  • Added video capture support inside the 3D viewer ( with coded selection ).
  • Removed 32k UV lowpoly limit to improve compatibility with ZBrush AUV/GUV tiles.
  • Added a realtime ray tracing graphics driver ( 100% software, no need for any hardware ).
  • Optimized CPU multicore usage.
  • Added a new height map - to - occlusion map method ( LON )
  • Added PRT-n/p map baking.
  • Added a GPU tool to bake simple ambient occlusion.
  • Added a height map - to - cone map tool for improved parallax effect.
  • Added 3DSMax 2008 support.
  • Added Ogre engine mesh importer/exporter.
  • Added OpenEXR B44A compression support.
  • Improved the compatibility of the PLY mesh importer.
  • Solved tons of bugs ( including a severe hangup when rendering the AO, fixed dilation filter for Photoshop, 3D viewer memory leaks, solved Radeon HD 2XXX problems, etc... ).

xNormal 3.11.1

August 31, 2007


  • Corrected a bug that was generating the message "The size of the cage data must be ZERO or equal to the positions array count" with certain external cage files ( position welding ).
  • Revamped the Photoshop dilation filter so you don't have anymore to flatten the image or to select an alpha channel mask to work.
  • Corrected a bug that was not setting well the default mesh scale ( 1.0 ) in both lowpoly and highpoly slots.
  • Added a function in the highpoly mesh context menu to load multiple meshes at one time ( load mesh folder ).
  • The AO bent normals default backbround has been set to (0,0,1) normal ( blue color ) like the normal map one.

xNormal 3.11.0

July 20, 2007


  • Added full screen antialiasing support for the DX9 graphics driver.
  • Added a checkbox inside the 3D viewer to lock the position of the light to the camera. Notice the shadows dissapear when you enable this mode(which is logical on the other hand)...
  • ATI viewer problems solved(I hope...)
  • Changed the default normal map back color to that nice blue we all luv!
  • Added a checkbox to auto center the camera orbit point in the 3D viewer.
  • Distributed rendering with hxGrid
  • Added "attenuation" and "jitter" options to the ambient occlusion generation. Also improved a lot the quality of the AO generation. Caution when you set the # of rays... now with 32 you can get the same results than 200 before.
  • Modified internally the memory manager to allow to use RAM more efficiently. That increases a lot the polygon limits.
  • Solved a crash bug when you set the render maps width and height different.
  • Added a two new Photoshop filters: the dilation filter and the normalize filter.
  • Now the grid is a plane, not lines.
  • Solved a problem that was causing the 3DSMAX6/7/8 exporter not to be loaded using 3DSMAX 6 and 7.
  • Added projective caustics/translucent shadows to the 3D viewer ( see Bojana's example ).
  • Now the DX9 graphics driver will use high-quality floating-point normal maps if your graphics card can filter/mipmap them correctly.
  • Added axis indicators to the referenceCubemap.jpg.
  • Rolled back to the DirectX April 2007 edition due to problems with the June 2007 one ( debug mode is broken, speed loss, etc... ).
  • Added a new tool: the object/tangent space converter.
  • Added a "mesh scale" parameter to control the conversion units when importing geometry.
  • Solved some hang problems with multi-core CPUs when showing the progress window.
  • Corrected tons of bugs and improved the UI accesibility with tab order.

Enjoy it!

xNormal 3.10.6

10 Jun 2007


  • Added two new examples from Howard Day and Vidar Rapp.
  • Added an option to render a cheap and fast AO map from a lowpoly model + a normal map.
  • Improved numerical stability and memory efficiency.
  • Rewritten the multicore renderer.
  • Added the 8MonkeyLabs mesh importer for their upcoming game Darkest of days
  • Two new tools: the heightmap to occlusion and PhotoNormal to generate normal maps from photographs. Also added the normal map to cavity methods.
  • Added automatic camera and light rotation in the 3D viewer.
  • Added antialiased/non-antialiased map mask output files.
  • Solved tons of bugs

xNormal 3.10.5

29 Apr 2007

Just uploaded the 3.10.5 with some bugs corrected, a SBM mesh exporter port for old 3dsmax version(6/7/8) and recompiled the image filters to support the new Photoshop CS3.

xNormal is an application to generate normal / ambient occlusion / parallax displacement maps. It also includes an interactive 3D viewer with multiple meshes and textures formats support (including COLLADA 1.4). The idea is to model the highpoly and lowpoly models with your favourite program (3dsmax, Maya, XSI, lw, silo, Blender, zbrush, Modo, mudbox, etc.) and then pass them to xNormal to bake some maps easy and fast.

xNormal 3.10.4

16 Apr 2007

  • Improved AO rendering speed.
  • Added a "bent normals / unoccluded direction" map generation.
  • Added MIN/MAX rendering values for almost all the maps. You can use to control the bright/contrast with that.
  • Now you can use the "AO Bias" option to eliminate surface self-collision problems.
  • Also added a new AO distribution model, the "Random" one, which is very useful to add some dirt to the shadow areas.
  • Solved some bugs in the OpenGL graphics driver painting the highpoly models and also some problems in the DX9 graphics driver rendering meshes.
  • Added an option to ignore the ray hit if the highpoly normal and the lowpoly one are opposite ( to solve reversed-normal problems ).
  • Added a Photoshop PSD image importer.
  • Added Photoshop CS/CS2 filters for the xNormal height map to normal map and normal map to cavity map tool.
  • Added 3DSMAX 9 .SBM mesh importer/exporter plugins with complete cage support ( with the "Projection Modifier" ).
  • Added support for the HD Photo ( Windows Media Photo ) image format which allows to compress ( a lot! ) with much more quality than the JPGs and close or even better than the JPEG2000 image format. It includes support for alpha channels and can be lossy or lossless.
  • Added a new amazing example created by Bojana Nedeljkovic for the Dominance War 2 contest. I wish her the best luck to win!
  • Also added other incredible Diablo 3 example created by Samuel Arshlevon for the Blizzard 2006 contest.
  • Added a new tool to generate a cavity map approximation from a tangent-space normal map.
  • Changed the old installer by the new and better NullSoft Scriptable Install System one.
  • Finally, solved a lot of minor bugs ( numeric up-down increment revised, black sand remover configure button, degenerated triangle-cages crash, etc... )