Beyond EMBM: How to achieve better bump/normal mapping on Wii

Definitely something like this is complicated. Already “High Voltage Software” with yours engine Quantum3 DEMO and later evolutions, trough of yours more outstanding games builded whit this engine, this yet put the possibilities virtually at the maximum for the Nintendo Wii:
  • 2011 Conduit 2
  • 2010 Tournament of Legends
  • 2010 Iron Man 2
  • 2009 The Conduit

The real problem of the “bump mapping” on Wii hardware is that it only affects the environment map or map/channel specular. It is called EMBM (EnvironMental Bump Mapping) this is a algorithm that simulates flat specular reflections, at was introduced for the DX6 standard. Not affected to the lighting points or texels textures. The approach on texel data to do lighting effect, it is achieved with a bump emboss, classic from the Voodoo. For which you must use one or more textures to achieve the effect, depending on the quality to obtain. Which is applies on a complete single texture, not by texel/points data of the texture.

The Conduit fake the lighting, trough a cube map, with a black light/areas or the colors that exist in the stage. This is the classic way to use the EMBM. Creating the dark in the side of the texture where would be. As Slave Zero make it the effect in PC version. In this case I am not clear that it is an effect GPU or CPU. But the change does not occur in real-time or adjusted at change in time of the points lights source. It is “lighted by pixel” statically.

The Wii chip as like the GC has a units called TEV (Texture Environment Unit) that have the ability to mix all in last pass of the rendering pipeline of the GPU, the texturing. This units are similar to the typical pixel shader unit, but nowhere near its flexibility, complexity and efficiency. With everything, from NGC it possible get shaders, or saying the same, effects of complex textures materials in: Rogue Squadron, Mario Sunshine, The Legend of Zelda: Twilight Princess or Starfox Adventures. And after in the Wii with The Conduit, Silent Hill: Shattered Memories, Mario Galaxy 1/2 and/or Metroid Other M, these make use of this TEVs, for many effects by Hardware and make use also the EMBM of precise way to recreate textures with bump mapping, reflection, refraction, fresnel or specularity levels like as his “big brothers”, less in terms of Dynamic lighting per pixel bump mapping.

Let’s see, It would be possible to achieve an illumination by pixel combining EMBM with emboss bump mapping and a whit a cube-maps of the room reflex with baked in real time the lights that are in this position, at low FPS and resolution. This would have been as more close the DOT3 pixel shader 1.0 of the contemporary Xbox1 of the NGC, but had penalized much on the performance or in the number of textures loaded in the final scene or it forcing to slicing levels by the graphics load. Since load in the VRAM of the GC or Wii a cubemap for each lighting area for recreate those changes in static or dynamic objects, it would be a very valid solution but by brute force. Would force to the engine and programmers, to control and scale the use of all this variables. It is understood that DOT3 algorithm simplified all this, plus it was more realistic whit illumination and also could add the map of environment and speculate to the final result material. With three passes of the multi-texture GC/Wii get it something similar. This will also depend on whether used in the drawing forward or differed rendering engine. In the case that the Wii need it some more effects, it can get to up 16 passes, but it would be an atrocity, concentrate these quantity of passes in many objects on screen.

For this more later it came to the solution of the pixels shaders, which is a simplification and rationalization of all this. It tries to achieve the same with a one pass.Winning time of calculation for the GPU, memory usage of VRAM and main RAM, and finally main CPU time. Because in the end these effects through multi-texture relied heavily on the GPU driver and therefore complementary CPU instructions.

But it is noteworthy as a real breakthrough in the graphics in video games, is the “streaming data”. The day that the original Xbox introduced in the HDD into the concept of console, and as the Xbox360 exploded this new component, really the textures and the necessary data for the textures to recreate materials, grew exponentially. It is true that the processing speed, the variety of effects and versatility of programmable shaders are critical in this evolution, but it would be unthinkable these really, without hard drives on consoles. It is true that the 360 ​​had many games without this requirement, at first. But it is true that the quality and speed of streaming and DVD use improved a lot.

We could conclude that “The Conduit” is almost the maximum and the best that can be done in a videogame for archive this level of quality materials whit a bump and lighting. And show all run technically in a Quantum3 engine showcase. In terms of technical solution that is the way. Obviously lacks the similar budget that was behind a Halo, for put a example. With a more art work and programming, we could see had for sure a 90% of the quality of a Xbox1 on Wii. Understanding that the differences in the Hardware are so big. Nintendo set up a great GPU at the time. But just then everything was changing, everything, Nvidia was giving the jump in PC.

Again, that The Conduit is very good but it could have been more. More bigger as game and even better finish.

If also this engine had standardized in the Nintendo SDK, like the UDK in Xbox, had been more possible see these effects in more quantity and quality of titles. But it was late.

Add that the Metroid Other M, the Team Ninja shows that they know the technique of “Normal Mapping” better than Retro or Nintendo, and archive the same as The Conduit, perhaps with less (in total Scene) of the “Normal Mapping ” a mean a EMBM, that The Conduit, but very well done. Especially when used less, you can enter as many polygons on screen.

For conclude that The Conduit, Metroid Other M and Mario Galaxy, which also uses EMBM. They are the videogames that better use the Wii. And the whole of the NGC Hardware.

With this post I conclude any reflection on the limits of Wii or NGC. Especially in the field of the search of the photorealism in its capability to generate graphics.

Wii EMBM reference images:

Quake 1 Modified, EMBM in all textures:

Images removed from web

Super Mario Galaxy, enemies (lips …) Ground and others:

On Wheels:

Starfox Adventures: Wood, water and hair:

Rogue Squadron: Water, Xwings, ground…

Metroid Other M: Samus helmet Hud, Allied Armor…

Metroid Other M: Samus Armor, enemy…

Resident Evil: The Darkside Chronicles: hair, clothes, walls …

PC EMBM reference images:

Expendable:

Evolva:

Slave Zero:

3dMark:

Documentation and links used:

Interesting discussion forum on the subject of EMBM in Quake 1 changed: https://forum.beyond3d.com/threads/normal-mapping-wii-demo.46425/page-3

Nvidia documentation: http://www.nvidia.com/object/LO_20010614_6721.html

Report DX6 bump Gamesutra: http://www.gamasutra.com/view/feature/131753/ups_and_downs_of_bump_mapping_.php?page=1

EMBM Patent Law: https://www.google.com/patents/US6825851

Pixel Pixel Shading Nvidia doc: https://developer.nvidia.com/sites/default/files/akamai/gamedev/docs/AGDC__Per_Pixel_Shading.pdf

Bump Mapping and Environment doc: http://www.ics.uci.edu/~majumder/VC/classes/BEmap.pdf

Nvidia ReflectiveBumpMapping Doc: https://developer.nvidia.com/sites/default/files/akamai/gamedev/docs/ReflectiveBumpMapping.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *