class PBRT::Builder::Material

Constants

ALL_PARAMS

Public Class Methods

new(builder) click to toggle source
# File lib/pbrt/builder/material.rb, line 4
def initialize(builder)
  @builder = builder
end

Public Instance Methods

disney(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 8
def disney(params = {})
  write Statement.variadic("Material", "disney", ParameterList.from(
    params,

    bumpmap: :float_texture,
    color: :spectrum_texture,
    anisotropic: :float_texture,
    clearcoat: :float_texture,
    clearcoatgloss: :float_texture,
    eta: :float_texture,
    metallic: :float_texture,
    roughness: :float_texture,
    scatterdistance: :spectrum_texture,
    sheen: :float_texture,
    sheentint: :float_texture,
    spectrans: :float_texture,
    speculartint: :float_texture,
    thin: :bool,
    difftrans: :spectrum_texture,
    flatness: :spectrum_texture,
  ))
end
fourier(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 31
def fourier(params = {})
  write Statement.variadic("Material", "fourier", ParameterList.from(
    params,

    bumpmap: :float_texture,
    bsdffile: :string,
  ))
end
glass(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 40
def glass(params = {})
  write Statement.variadic("Material", "glass", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kr: :spectrum_texture,
    Kt: :spectrum_texture,
    eta: :float_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    remaproughness: :bool,
  ))
end
hair(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 54
def hair(params = {})
  write Statement.variadic("Material", "hair", ParameterList.from(
    params,

    bumpmap: :float_texture,
    sigma_a: :spectrum_texture,
    color: :spectrum_texture,
    eumelanin: :float_texture,
    pheomelanin: :float_texture,
    eta: :float_texture,
    beta_m: :float_texture,
    beta_n: :float_texture,
    alpha: :float_texture,
  ))
end
kdsubsurface(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 70
def kdsubsurface(params = {})
  write Statement.variadic("Material", "kdsubsurface", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    mfp: :float_texture,
    eta: :float_texture,
    Kr: :spectrum_texture,
    Kt: :spectrum_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    remaproughness: :bool,
  ))
end
matte(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 86
def matte(params = {})
  write Statement.variadic("Material", "matte", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    sigma: :float_texture,
  ))
end
metal(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 96
def metal(params = {})
  write Statement.variadic("Material", "metal", ParameterList.from(
    params,

    bumpmap: :float_texture,
    eta: :spectrum_texture,
    k: :spectrum_texture,
    roughness: :float_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    remaproughness: :bool,
  ))
end
mirror(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 110
def mirror(params = {})
  write Statement.variadic("Material", "mirror", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kr: :spectrum_texture,
  ))
end
mix(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 119
def mix(params = {})
  write Statement.variadic("Material", "mix", ParameterList.from(
    params,

    bumpmap: :float_texture,
    amount: :spectrum_texture,
    namedmaterial1: :string,
    namedmaterial2: :string,
  ))
end
none(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 130
def none(params = {})
  write Statement.variadic("Material", "none", ParameterList.from(
    params,
    bumpmap: :float_texture,
  ))
end
plastic(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 137
def plastic(params = {})
  write Statement.variadic("Material", "plastic", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    Ks: :spectrum_texture,
    roughness: :float_texture,
    remaproughness: :bool,
  ))
end
substrate(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 149
def substrate(params = {})
  write Statement.variadic("Material", "substrate", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    Ks: :spectrum_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    remaproughness: :bool,
  ))
end
subsurface(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 162
def subsurface(params = {})
  write Statement.variadic("Material", "subsurface", ParameterList.from(
    params,

    bumpmap: :float_texture,
    name: :string,
    sigma_a: :spectrum_texture,
    sigma_prime_s: :spectrum_texture,
    scale: :float,
    eta: :float_texture,
    Kr: :spectrum_texture,
    Kt: :spectrum_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    remaproughness: :bool,
  ))
end
translucent(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 180
def translucent(params = {})
  write Statement.variadic("Material", "translucent", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    Ks: :spectrum_texture,
    reflect: :spectrum_texture,
    transmit: :spectrum_texture,
    roughness: :float_texture,
    remaproughness: :bool,
  ))
end
uber(params = {}) click to toggle source
# File lib/pbrt/builder/material.rb, line 194
def uber(params = {})
  write Statement.variadic("Material", "uber", ParameterList.from(
    params,

    bumpmap: :float_texture,
    Kd: :spectrum_texture,
    Ks: :spectrum_texture,
    Kr: :spectrum_texture,
    Kt: :spectrum_texture,
    roughness: :float_texture,
    uroughness: :float_texture,
    vroughness: :float_texture,
    eta: :float_texture,
    opacity: :spectrum_texture,
    remaproughness: :bool,
  ))
end

Private Instance Methods

write(statement) click to toggle source
# File lib/pbrt/builder/material.rb, line 214
def write(statement)
  @builder.write(statement)
end