class PBRT::Builder::NamedMedium

Public Class Methods

new(builder, name) click to toggle source
# File lib/pbrt/builder/named_medium.rb, line 4
def initialize(builder, name)
  @builder = builder
  @directive = %(MakeNamedMedium "#{name}" "string type")
end

Public Instance Methods

heterogeneous(params = {}) click to toggle source
# File lib/pbrt/builder/named_medium.rb, line 21
def heterogeneous(params = {})
  write Statement.variadic(@directive, "heterogeneous", ParameterList.from(
    params,

    sigma_a: :spectrum,
    sigma_s: :spectrum,
    preset: :string,
    g: :float,
    scale: :float,
    p0: :point3,
    p1: :point3,
    nx: :integer,
    ny: :integer,
    nz: :integer,
    density: :float,
  ))
end
homogeneous(params = {}) click to toggle source
# File lib/pbrt/builder/named_medium.rb, line 9
def homogeneous(params = {})
  write Statement.variadic(@directive, "homogeneous", ParameterList.from(
    params,

    sigma_a: :spectrum,
    sigma_s: :spectrum,
    preset: :string,
    g: :float,
    scale: :float,
  ))
end

Private Instance Methods

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