         @uv_multiplier = 1
         @shape_multiplier = 1
         @group_id = -1
-        @double_sided = not not data.double_sided
+        @double_sided = Boolean @data.double_sided
 
         var_model_view_matrix = "model_view_matrix"
         var_inv_model_view_matrix = ""


        # TODO: find which uniform
        # has conflicting precision between VS and FS in ANGLE/win32
        @vs_code = vs = data.vertex or """
        #ifdef GL_ES
        precision highp float;
        precision highp int;

        return prog

    reupload: ->
        @constructor(@context, @data, @scene)

    destroy: ->
        @context.render_manager.gl.deleteProgram @_program
