def draw_as_points(points, z, options = {})
      color = options[:color] || DEFAULT_DRAW_COLOR
      scale = options[:scale] || 1.0
      shader = options[:shader]
      mode = options[:mode] || :default

      if shader
        shader.enable z
        $window.gl z do
          shader.image = self
          shader.color = color
        end
      end

      begin
        points.each do |x, y|
          draw_rot_without_hash x, y, z, 0, 0.5, 0.5, scale, scale, color, mode
        end
      ensure
        shader.disable z if shader
      end
    end
def draw_as_points(points, z, options = {})
      color = options[:color] || DEFAULT_DRAW_COLOR
      scale = options[:scale] || 1.0
      shader = options[:shader]
      mode = options[:mode] || :default

      if shader
        shader.enable z
        $window.gl z do
          shader.image = self
          shader.color = color
        end
      end

      begin
        points.each do |x, y|
          draw_rot_without_hash x, y, z, 0, 0.5, 0.5, scale, scale, color, mode
        end
      ensure
        shader.disable z if shader
      end
    end
Draw a list of centred sprites by position.

 @param points [Array<Array>] Array of [x, y] positions
 @param z [Float] Z-order to draw - Ignored if shader is used.
 @option options :scale [Float] (1.0) Relative size of the sprites
 @option options :shader [Ashton::Shader] Shader to apply to all sprites.

 TODO: Need to use point sprites here, but this is still much faster than individual #draws if using shaders and comparable if not.