Update on Normal Map Support

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.

Only one comment:

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.
mrmdesign () - 12 08 13 - 16:10

Remember personal info?
Email (optional):
URL (optional):
Enter "layered" (antispam):
Comment:Emoticons / Textile

  ( Register your username / Log in )

Notify: Yes, send me email when someone replies.  

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.
Note: If you type in your email adress above, it will be visible to other visitors, although it will be hidden for bots using javaScript.