This repository has been archived by the owner on Jun 26, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
materials.html
440 lines (202 loc) · 10.7 KB
/
materials.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- Creation date: 18/03/02 -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>materials.html</title>
<meta name="Description" content="">
<meta name="Keywords" content="">
<meta name="Author" content="Julian MacDonald">
<meta name="Generator" content="AceHTML 4 Pro">
</head>
<body bgcolor="#f8e89e">
<font face="tahoma" size="2">
<div align="left"><a href="textures2.html"><b><font size="4">Previous: More Textures</font></b></a></div>
<div align="right"><a href="rendering.html"><b><font size="4">Next: Rendering</font></b></a></div>
<a name="materials"><strong><font color="#3300cc" size="5">4.2 Materials</font></strong></a><br>
<br>
Materials define the interior qualities of the object and can be used
to create a wide variety of effects including smoke, fire, fur,
refracting substances like glass and plastic, and materials with
subsurface scattering like wax, milk, skin etc.<br>
<br>
A material can only be applied to a closed object. Also bear in mind that for the material to be actually
visible, the surface texture of the object needs to be at least partially transparent. Under some
circumstances, the texture will need to be completely transparent; this can be achieved by setting up a
uniform texture and setting <b>Transparency</b> to 1.<br>
<br>
There are two types of material in Art of Illusion: Uniform and Procedural. Materials are created
from the same window used to manage textures. To create a new material, click on
<b>Scene -> Textures</b>, then select <b>Uniform material</b> or <b>Procedural Material</b>
from the <b>New...</b> menu.
<p>
<a name="uniform_mat"><strong><font color="#ff6633" size="4">4.2.1 Uniform Materials</font></strong></a><br>
<br>
As with textures, Uniform materials are applied equally over the whole interior. The dialogue box for
this type of material looks like this:<br>
<br>
<table>
<tbody>
<tr>
<td><img src="textures/unif_materials_dial.jpg"></td>
<td><font face="tahoma" size="2">
The preview view and object can be altered via a pop-up menu activated by right-clicking over the preview
as with the <a href="textures.html#uniform_tex">Uniform Texture dialogue</a>.<br>
<br>
<b>Emissive Color</b> is the colour of light given out by the material (light is actually emitted when
rendering with <a href="rendering.html#glob_illum">Global Illumination</a>)<br>
<br>
<b>Transparent Color</b> defines the colour that is transmitted through the material. Its intensity
determines how transparent the material is e.g. white is completely transparent and black is
completely opaque. although the overall level of transparency is controlled by the <b>
Transparency</b> value.<br>
<br>
<b>Density</b> is the degree of light attenuation in the material. The higher the value, the less the light
is able to penetrate through the material.<br>
<br>
<b>Scattering</b> is the degree to which light is scattered.<br>
<br>
<b>Scattering Color</b> sets the colour of the light that is scattered. <b>Scattering</b> needs to be
non-zero for this to have any effect.<br>
<br>
<b>Eccentricity</b> defines the direction in which light is scattered (again <b>Scattering</b> must be
non-zero) and has values between -1 and +1. A value of 0 is isotropic scattering, i.e. light is
scattered equally in all directions. Negative values mean that the light is scattered forwards and
positive values mean that the light is back-scattered. As the magnitude of eccentricity tends to 1, the
more directional the scattered light becomes. A value of -1 means that all light is
scattered straight ahead and +1 is scattered straight back.<br>
<br>
</font></td>
</tr>
</tbody>
</table>
<b>Index of Refraction</b> This determines the amount that light is bent within the material and is used
to simulate glass, plastic, water etc. The higher the value, the more light is refracted. Typical values
are glass:1.55, water 1.33:<br>
<img src="textures/mat_ior.jpg"><br>
<br>
<b>Casts Shadows</b> If checked, then the material will attenuate light to produce shadows. Otherwise it will not.<br>
<br>
<br>
Materials with <span style="font-weight: bold;">subsurface scattering</span> properties can be simulated by using a partially transparent texture with a scattering material and then rendering using <a href="rendering.html#SSS">photon mapping</a>.<br>
<br>
<br>
<a name="procedural_mat"><strong><font color="#ff6633" size="4">4.2.2 Procedural Materials</font></strong></a><br>
<br>
As with procedural textures, procedural materials allow the specification of the various material properties
described above based on point by point calculations. So each point within the volume enclosed by the
object's surface can take on different material values and colours.<br>
<br>
The procedural material editor looks like this:<br>
<br>
<table>
<tbody>
<tr>
<td><img src="textures/proc_mat_dial.png"></td>
<td><font face="tahoma" size="2">
Exactly the same material properties are listed down the right hand side as are available for uniform
materials. The menu along the left side allows modules to be added to the procedure, exactly as with
procedural textures.<br>
<br>
Clicking the <b>Properties</b> button displays the following dialogue:<p>
<img src="textures/material_prop_menu.jpg"><p>
The <b>Index of Refraction</b> is as described for <a href="#uniform_mat">uniform materials</a>.<br>
<br>
<b>Integration Step Size</b> The mathematical technique for calculating the material property values works
by stepping through the volume. The size of the steps determines the accuracy of the result, smaller being
more accurate but also taking more time to integrate. If there are fine structures within the material, it
will be necessary to reduce this value accordingly.<br>
<br>
<b>Antialiasing</b> As with textures, this controls the 'smoothing' of the material. Values greater than 1
smooth more and less than 1 smooth less. Normally there should be no reason to alter this but it may
be necessary if artifacts occur.</td>
</tr>
</tbody>
</table>
<br>
With procedural materials there is more control over colour values. The colour scale module
(Color Functions -> Scale) can be used to scale colour Values (in HSV colour model) beyond
the normal limit of 1 and so produce more emissive materials. For example the material below uses
a color scale module (currently scaled by 100) to brighten the colourmap used to produce a fire-like
material colour.<br>
<br>
<img src="textures/emissive_mat.jpg"><br>
<br>
By varying the scaling factor, different levels of emissiveness can be obtained as shown below (rendered
with Monte Carlo <a href="rendering.html#glob_illum">Global Illumination</a>):
<img src="textures/fireballs.jpg"><br>
<br>
The same principle can be applied to the other colours, i.e. scattering colour and transparent colour, to
artificially enhance the degree of scattering and transparency (some very odd effects can be produced
for transparent colours with a Value greater than 1 !)<br>
<br>
<br>
<b>Example Procedural Materials</b><br>
<br>
Below are 3 example materials obtained using a small selection of the available modules. Click on the
images to find out more about how they were created.<br>
<br>
<a name="ex_materials"></a>
<a href="froth_mat.html"><img src="textures/mat_froth.jpg"></a>
<a href="starburst_mat.html"><img src="textures/mat_orange_fur.jpg"></a>
<a href="cottonwool_mat.html"><img src="textures/mat_cottonwool.jpg"></a><br>
<br>
<br>
<br>
<a name="assign_mat"><strong><font color="#ff6633" size="4">4.2.3 Assigning Materials to Objects</font></strong></a><br>
<br>
<br>
Materials can only be assigned to closed objects. To assign a material, select the object and click
on <b>Object -> Set Texture and Material</b>, then choose the <b>Material</b> tab:
<p>
<table>
<tbody>
<tr>
<td><img src="textures/object_material_dial.png"></td>
<td><font face="tahoma" size="2">
On the left is a list of the currently defined materials. Click on one and the preview will update
(note that this will often be quite slow due to the complexity in rendering materials). Clicking and
dragging in the preview window will rotate the view. As with the <a href="textures.html#uniform_tex">
uniform texture dialogue</a>, right clicking on
the preview displays a menu from which the view and preview object can be changed.<br>
<br>
Existing materials can be edited and new ones created by clicking on <b>Textures and Materials</b>.<br>
<br>
To map (i.e. scale, position and orient) the material to the object click on <b>Edit Mapping</b>
which will display the material mapping dialogue shown below:
</font></td>
</tr>
</tbody>
</table>
<br>
<br>
<table>
<tbody>
<tr>
<td><img src="textures/material_mapping_dial.jpg"></td>
<td><font face="tahoma" size="2">
As with procedural 3D textures, there is only one mapping type available; Linear.<br>
<br>
Enter appropriate values in the relevant boxes to alter the scaling, orientation and position of the
material within the object.<br>
<br>
<a name="Scale_Material"></a>As with <a href="textures2.html#Scale_Texture">textures</a>, the material can be scaled to the bounding box of the object. If <span style="font-weight: bold;">Scale Material to Object</span> is checked, then the material will rescale according to the size of the object. <br>
<br>
The preview window shows the selected object with the mapped material
and can be oriented by clicking
and dragging within this window. Alternatively, right clicking on the
preview displays a menu from which the view can be changed.
</font></td>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<br>
<div align="left"><a href="textures2.html"><b><font size="4">Previous: More Textures</font></b></a></div>
<div align="right"><a href="rendering.html"><b><font size="4">Next: Rendering</font></b></a></div>
<a href="contents.html#contents_top"><b><font size="4">Back to Contents</font></b></a><br>
</font>
</body>
</html>