mrdoob/three.js — pull request #1544 by jfeldste (2012-03-19 15:49:45+00:00)
Title: Fixed a normalization issue for the PlayBook platform.

Our current drivers have an issue with normalizing a vec3 in the vertex shader. There are two solutions two possible workarounds for this issue.

1. This normalize seems needless as the normal will need to be re-normalized in the fragment shader anyways. Plus this code doesn't seem to use the normalized vector in the vertex shader. (this is the submitted solution)

2. If this is necessary, we don't seem to have a problem with normalizing vec4s in our vertex shader. So something like: vNormal = normalize( vec4( normalMatrix * normal, 1.0) ).xyz would work on the PlayBook platform. Although in this case you might be better off placing this code in a platform specific block.

Note: With our latest unreleased drivers, this issue is fixed. I have no explicit ETA yet for these drivers though, thus the need for the workaround.