 
             # Calculate diffuse lighting.
             if pixel.normal
-              @_normal.copy pixel.normal
-              @_normal.x *= -1 if flippedHorizontal
+              _normal.copy pixel.normal
+              _normal.x *= -1 if flippedHorizontal
 
             else
-              @_normal.set 0, 0, 1
-
-            normalLightProduct = THREE.Math.clamp @_normal.dot(inverseLightDirection), 0, 1
+              _normal.set 0, 0, 1
+
+            normalLightProduct = THREE.Math.clamp _normal.dot(inverseLightDirection), 0, 1
 
             lightDiffuseCoefficient = 0.6
             materialDiffuseCoefficient = 1

        if visualizeNormals
          # Visualized normals mode.
          if pixel.normal
            @_normal.copy pixel.normal
            @_normal.x *= -1 if flippedHorizontal

            horizontalAngle = Math.atan2(@_normal.y, @_normal.x) + Math.PI
            verticalAngle = @_normal.angleTo @_backward

            hue = horizontalAngle / (2 * Math.PI)
            saturation = verticalAngle / (Math.PI / 2)

AM = Artificial.Mirage
LOI = LandsOfIllusions

# Create temporary objects and constants.
_normal = new THREE.Vector3
_backward = new THREE.Vector3 0, 0, 1
_color = new THREE.Color
_lightColor = new THREE.Color
_averageNormal = new THREE.Vector3

class LOI.Assets.Engine.Sprite
  constructor: (@options) ->
