class PBRT::Builder
Attributes
io[RW]
Public Class Methods
new(io: StringIO.new, &block)
click to toggle source
# File lib/pbrt/builder.rb, line 5 def initialize(io: StringIO.new, &block) self.io = io instance_eval &block if block_given? end
Public Instance Methods
accelerator()
click to toggle source
# File lib/pbrt/builder.rb, line 35 def accelerator Accelerator.new(self) end
active_transform(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 107 def active_transform(*args) write Statement.fixed_size("ActiveTransform", 1, args) end
area_light_source()
click to toggle source
# File lib/pbrt/builder.rb, line 47 def area_light_source AreaLightSource.new(self) end
attribute_begin(&block)
click to toggle source
# File lib/pbrt/builder.rb, line 121 def attribute_begin(&block) write Statement.fixed_size("AttributeBegin", 0) instance_eval &block write Statement.fixed_size("AttributeEnd", 0) end
blackbody(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 171 def blackbody(*args) Spectrum.new(:blackbody, *args) end
camera()
click to toggle source
# File lib/pbrt/builder.rb, line 15 def camera Camera.new(self) end
color(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 159 def color(*args) Spectrum.new(:color, *args) end
comment(string)
click to toggle source
# File lib/pbrt/builder.rb, line 143 def comment(string) write string.split("\n").map { |s| "# #{s}\n" }.join end
concat_transform(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 99 def concat_transform(*args) write Statement.fixed_size("ConcatTransform", 16, args) end
coord_sys_transform(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 91 def coord_sys_transform(*args) write Statement.fixed_size("CoordSysTransform", 1, args) end
coordinate_system(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 87 def coordinate_system(*args) write Statement.fixed_size("CoordinateSystem", 1, args) end
film()
click to toggle source
# File lib/pbrt/builder.rb, line 23 def film Film.new(self) end
identity()
click to toggle source
# File lib/pbrt/builder.rb, line 67 def identity write Statement.fixed_size("Identity", 0) end
include(args)
click to toggle source
# File lib/pbrt/builder.rb, line 147 def include(args) write Statement.fixed_size("Include", 1, args) end
integrator()
click to toggle source
# File lib/pbrt/builder.rb, line 31 def integrator Integrator.new(self) end
light_source()
click to toggle source
# File lib/pbrt/builder.rb, line 43 def light_source LightSource.new(self) end
look_at(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 83 def look_at(*args) write Statement.fixed_size("LookAt", 9, args) end
make_named_material(name)
click to toggle source
# File lib/pbrt/builder.rb, line 55 def make_named_material(name) NamedMaterial.new(self, name) end
make_named_medium(name)
click to toggle source
# File lib/pbrt/builder.rb, line 59 def make_named_medium(name) NamedMedium.new(self, name) end
material()
click to toggle source
# File lib/pbrt/builder.rb, line 51 def material Material.new(self) end
medium_interface(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 63 def medium_interface(*args) write Statement.fixed_size("MediumInterface", 2, args) end
named_material(args)
click to toggle source
# File lib/pbrt/builder.rb, line 151 def named_material(args) write Statement.fixed_size("NamedMaterial", 1, args) end
object_begin(*args, &block)
click to toggle source
# File lib/pbrt/builder.rb, line 133 def object_begin(*args, &block) write Statement.fixed_size("ObjectBegin", 1, *args) instance_eval &block write Statement.fixed_size("ObjectEnd", 0) end
object_instance(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 139 def object_instance(*args) write Statement.fixed_size("ObjectInstance", 1, *args) end
pixel_filter()
click to toggle source
# File lib/pbrt/builder.rb, line 27 def pixel_filter PixelFilter.new(self) end
reverse_orientation(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 111 def reverse_orientation(*args) write Statement.fixed_size("ReverseOrientation", 0) end
rgb(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 155 def rgb(*args) Spectrum.new(:rgb, *args) end
rotate(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 79 def rotate(*args) write Statement.fixed_size("Rotate", 4, args) end
sampled(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 167 def sampled(*args) Spectrum.new(:spectrum, *args) end
sampler()
click to toggle source
# File lib/pbrt/builder.rb, line 19 def sampler Sampler.new(self) end
scale(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 75 def scale(*args) write Statement.fixed_size("Scale", 3, args) end
shape()
click to toggle source
# File lib/pbrt/builder.rb, line 39 def shape Shape.new(self) end
texture(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 175 def texture(*args) PBRT::Texture.new(self, *args) end
to_s()
click to toggle source
# File lib/pbrt/builder.rb, line 11 def to_s io.string end
transform(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 95 def transform(*args) write Statement.fixed_size("Transform", 16, args) end
transform_begin(&block)
click to toggle source
# File lib/pbrt/builder.rb, line 127 def transform_begin(&block) write Statement.fixed_size("TransformBegin", 0) instance_eval &block write Statement.fixed_size("TransformEnd", 0) end
transform_times(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 103 def transform_times(*args) write Statement.fixed_size("TransformTimes", 2, args) end
translate(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 71 def translate(*args) write Statement.fixed_size("Translate", 3, args) end
world_begin(&block)
click to toggle source
# File lib/pbrt/builder.rb, line 115 def world_begin(&block) write Statement.fixed_size("WorldBegin", 0) instance_eval &block write Statement.fixed_size("WorldEnd", 0) end
write(statement)
click to toggle source
# File lib/pbrt/builder.rb, line 179 def write(statement) io.puts statement self end
xyz(*args)
click to toggle source
# File lib/pbrt/builder.rb, line 163 def xyz(*args) Spectrum.new(:xyz, *args) end