Update on Normal Map Support

Posted on:August 10 2013

Normal map support in CopperCube is on its way now. It is much more than just a simple test already, and is actually usable. Here is a screenshot of the editor showing it in action, with more than just one light:

I implemented the shaders so they work on the most very basic hardware, and managed to squeeze out support for up to 5 lights (4 point lights + ambient light) for the same object, on pixel shader v 2.0 devices, with fallback for v1.1 ones, if there are ones still today. Remember that a lot of people are using very old and very slow hardware, compared to high level gaming PCs, especially if you count the mobile devices as well.
The problem when introducing new materials like this is that you have to write this for each target separately, not only adding support in the specific programming language, but also in each shader language. So I have to add this in:
  • C++ for Direct3D using Vertex and Pixel Shader Assembly (I should switch to high level shaders on that target soon)
  • C for OpenGL and GL_ARB vertex and fragment programs
  • JavaScript and GLSL for WebGL
  • ActionScript and AGAL for Flash
  • Java and OpenGL ES GLSL for Android

Although this is a lot of work, I hope to have this finished soon, and a free update with basic normal map support will be out soonish.


Thanks for all of your hard work on this Niko! It sounds like this was no mean feat. I will get some of those normal mapped assets I promised over to you soon.
2013-08-12 16:10:00

Add comment:

Posted by:

Enter the missing letter in: "Inte?national"




Possible Codes

Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]