# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: ignition/msgs/material.proto

require 'ignition/msgs/color_pb'
require 'ignition/msgs/header_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("ignition/msgs/material.proto", :syntax => :proto3) do
    add_message "ignition.msgs.Material" do
      optional :header, :message, 1, "ignition.msgs.Header"
      optional :script, :message, 2, "ignition.msgs.Material.Script"
      optional :shader_type, :enum, 3, "ignition.msgs.Material.ShaderType"
      optional :normal_map, :string, 4
      optional :ambient, :message, 5, "ignition.msgs.Color"
      optional :diffuse, :message, 6, "ignition.msgs.Color"
      optional :specular, :message, 7, "ignition.msgs.Color"
      optional :emissive, :message, 8, "ignition.msgs.Color"
      optional :lighting, :bool, 9
      optional :pbr, :message, 10, "ignition.msgs.Material.PBR"
    end
    add_message "ignition.msgs.Material.Script" do
      repeated :uri, :string, 1
      optional :name, :string, 2
    end
    add_message "ignition.msgs.Material.PBR" do
      optional :type, :enum, 1, "ignition.msgs.Material.PBR.WorkflowType"
      optional :albedo_map, :string, 2
      optional :normal_map, :string, 3
      optional :metalness, :double, 4
      optional :metalness_map, :string, 5
      optional :roughness, :double, 6
      optional :roughness_map, :string, 7
      optional :glossiness, :double, 8
      optional :glossiness_map, :string, 9
      optional :specular_map, :string, 10
      optional :environment_map, :string, 11
      optional :ambient_occlusion_map, :string, 12
      optional :emissive_map, :string, 13
    end
    add_enum "ignition.msgs.Material.PBR.WorkflowType" do
      value :NONE, 0
      value :METAL, 1
      value :SPECULAR, 2
    end
    add_enum "ignition.msgs.Material.ShaderType" do
      value :VERTEX, 0
      value :PIXEL, 1
      value :NORMAL_MAP_OBJECT_SPACE, 2
      value :NORMAL_MAP_TANGENT_SPACE, 3
    end
  end
end

module Ignition
  module Msgs
    Material = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Material").msgclass
    Material::Script = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Material.Script").msgclass
    Material::PBR = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Material.PBR").msgclass
    Material::PBR::WorkflowType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Material.PBR.WorkflowType").enummodule
    Material::ShaderType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("ignition.msgs.Material.ShaderType").enummodule
  end
end
