Class: PBRT::Builder::Material

Inherits:
Object
  • Object
show all
Defined in:
lib/pbrt/builder/material.rb

Instance Method Summary collapse

Constructor Details

#initialize(builder) ⇒ Material

Returns a new instance of Material.



4
5
6
# File 'lib/pbrt/builder/material.rb', line 4

def initialize(builder)
  @builder = builder
end

Instance Method Details

#disney(params = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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 = {}) ⇒ Object



31
32
33
34
35
36
37
38
# 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 = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
# 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 = {}) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# 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 = {}) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# 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 = {}) ⇒ Object



86
87
88
89
90
91
92
93
94
# 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 = {}) ⇒ Object



96
97
98
99
100
101
102
103
104
105
106
107
108
# 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 = {}) ⇒ Object



110
111
112
113
114
115
116
117
# 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 = {}) ⇒ Object



119
120
121
122
123
124
125
126
127
128
# 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 = {}) ⇒ Object



130
131
132
133
134
135
# 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 = {}) ⇒ Object



137
138
139
140
141
142
143
144
145
146
147
# 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 = {}) ⇒ Object



149
150
151
152
153
154
155
156
157
158
159
160
# 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 = {}) ⇒ Object



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# 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 = {}) ⇒ Object



180
181
182
183
184
185
186
187
188
189
190
191
192
# 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 = {}) ⇒ Object



194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# 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