Sha256: 7467a9b9937062d11a8d02fdd37ac9ab5444664de97577d974a6abb570ed80d0

Contents?: true

Size: 729 Bytes

Versions: 1

Compression:

Stored size: 729 Bytes

Contents

module Mittsu
  class OpenGLMeshPhongMaterial < OpenGLMeshBasicMaterial
    def needs_face_normals?
      false
    end

    def refresh_uniforms(uniforms)
      super

      uniforms['shininess'].value = @material.shininess

      uniforms['emissive'].value = @material.emissive
      uniforms['specular'].value = @material.specular

      if @material.wrap_around
        uniforms['wrapRGB'].value.copy(@material.wrap_rgb)
      end
    end

    def needs_camera_position_uniform?
      true
    end

    def needs_view_matrix_uniform?
      true
    end

    def needs_lights?
      true
    end

    def init_shader
      @shader = ShaderLib.create_shader(shader_id)
    end

    def shader_id
      :phong
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mittsu-0.1.2 lib/mittsu/renderers/opengl/materials/opengl_mesh_phong_material.rb