class PBRT::Builder::LightSource

Public Class Methods

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

Public Instance Methods

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

    scale: :spectrum,
    L: :spectrum,
    from: :point3,
    to: :point3,
  ))
end
goniometric(params = {}) click to toggle source
# File lib/pbrt/builder/light_source.rb, line 19
def goniometric(params = {})
  write Statement.variadic("LightSource", "goniometric", ParameterList.from(
    params,

    scale: :spectrum,
    I: :spectrum,
    mapname: :string,
  ))
end
infinite(params = {}) click to toggle source
# File lib/pbrt/builder/light_source.rb, line 29
def infinite(params = {})
  write Statement.variadic("LightSource", "infinite", ParameterList.from(
    params,

    scale: :spectrum,
    L: :spectrum,
    samples: :integer,
    mapname: :string,
  ))
end
point(params = {}) click to toggle source
# File lib/pbrt/builder/light_source.rb, line 40
def point(params = {})
  write Statement.variadic("LightSource", "point", ParameterList.from(
    params,

    scale: :spectrum,
    I: :spectrum,
    from: :point3,
  ))
end
projection(params = {}) click to toggle source
# File lib/pbrt/builder/light_source.rb, line 50
def projection(params = {})
  write Statement.variadic("LightSource", "projection", ParameterList.from(
    params,

    scale: :spectrum,
    I: :spectrum,
    fov: :float,
    mapname: :string,
  ))
end
spot(params = {}) click to toggle source
# File lib/pbrt/builder/light_source.rb, line 61
def spot(params = {})
  write Statement.variadic("LightSource", "spot", ParameterList.from(
    params,

    scale: :spectrum,
    I: :spectrum,
    from: :point3,
    to: :point3,
    coneangle: :float,
    conedeltaangle: :float,
  ))
end

Private Instance Methods

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