~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to render/api.xml

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" ?>
 
2
<RiAPI>
 
3
        <Procedures>
 
4
                <Procedure name="RiDeclare" return="RtToken">
 
5
                        <Arguments>
 
6
                                <Argument name="name" type="RtString"/>
 
7
                                <Argument name="declaration" type="RtString"/>
 
8
                        </Arguments>
 
9
                        <Valid>
 
10
                                <Outside/>
 
11
                                <BeginEnd/>
 
12
                                <Frame/>
 
13
                                <World/>
 
14
                                <Attribute/>
 
15
                                <Transform/>
 
16
                                <Solid/>
 
17
                                <Object/>
 
18
                                <Motion/>
 
19
                        </Valid>
 
20
                </Procedure>
 
21
 
 
22
                <Procedure name="RiBegin" return="RtVoid">
 
23
                        <NoCache/>
 
24
                        <Arguments>
 
25
                                <Argument name="name" type="RtToken"/>
 
26
                        </Arguments>
 
27
                        <Valid>
 
28
                                <Outside/>
 
29
                        </Valid>
 
30
                </Procedure>
 
31
 
 
32
                <Procedure name="RiEnd" return="RtVoid">
 
33
                        <NoCache/>
 
34
                        <Arguments/>
 
35
                        <Valid>
 
36
                                <BeginEnd/>
 
37
                        </Valid>
 
38
                </Procedure>
 
39
 
 
40
                <Procedure name="RiFrameBegin" return="RtVoid">
 
41
                        <Arguments>
 
42
                                <Argument name="number" type="RtInt"/>
 
43
                        </Arguments>
 
44
                        <Valid>
 
45
                                <BeginEnd/>
 
46
                        </Valid>
 
47
                </Procedure>
 
48
 
 
49
                <Procedure name="RiFrameEnd" return="RtVoid">
 
50
                        <Arguments/>
 
51
                        <Valid>
 
52
                                <Frame/>
 
53
                        </Valid>
 
54
                </Procedure>
 
55
 
 
56
                <Procedure name="RiWorldBegin" return="RtVoid">
 
57
                        <Arguments/>
 
58
                        <Valid>
 
59
                                <BeginEnd/>
 
60
                                <Frame/>
 
61
                        </Valid>
 
62
                </Procedure>
 
63
 
 
64
                <Procedure name="RiWorldEnd" return="RtVoid">
 
65
                        <Arguments/>
 
66
                        <Valid>
 
67
                                <World/>
 
68
                        </Valid>
 
69
                </Procedure>
 
70
 
 
71
                <Procedure name="RiFormat" return="RtVoid">
 
72
                        <Arguments>
 
73
                                <Argument name="xresolution" type="RtInt"/>
 
74
                                <Argument name="yresolution" type="RtInt"/>
 
75
                                <Argument name="pixelaspectratio" type="RtFloat"/>
 
76
                        </Arguments>
 
77
                        <Valid>
 
78
                                <BeginEnd/>
 
79
                                <Frame/>
 
80
                        </Valid>
 
81
                </Procedure>
 
82
 
 
83
                <Procedure name="RiFrameAspectRatio" return="RtVoid">
 
84
                        <Arguments>
 
85
                                <Argument name="frameratio" type="RtFloat"/>
 
86
                        </Arguments>
 
87
                        <Valid>
 
88
                                <BeginEnd/>
 
89
                                <Frame/>
 
90
                        </Valid>
 
91
                </Procedure>
 
92
 
 
93
                <Procedure name="RiScreenWindow" return="RtVoid">
 
94
                        <Arguments>
 
95
                                <Argument name="left" type="RtFloat"/>
 
96
                                <Argument name="right" type="RtFloat"/>
 
97
                                <Argument name="bottom" type="RtFloat"/>
 
98
                                <Argument name="top" type="RtFloat"/>
 
99
                        </Arguments>
 
100
                        <Valid>
 
101
                                <BeginEnd/>
 
102
                                <Frame/>
 
103
                        </Valid>
 
104
                </Procedure>
 
105
 
 
106
                <Procedure name="RiCropWindow" return="RtVoid">
 
107
                        <Arguments>
 
108
                                <Argument name="left" type="RtFloat"/>
 
109
                                <Argument name="right" type="RtFloat"/>
 
110
                                <Argument name="top" type="RtFloat"/>
 
111
                                <Argument name="bottom" type="RtFloat"/>
 
112
                        </Arguments>
 
113
                        <Valid>
 
114
                                <BeginEnd/>
 
115
                                <Frame/>
 
116
                        </Valid>
 
117
                </Procedure>
 
118
 
 
119
                <Procedure name="RiProjection" return="RtVoid">
 
120
                        <Arguments>
 
121
                                <Argument name="name" type="RtToken"/>
 
122
                                <Argument name="plist" type="PARAMETERLIST"/>
 
123
                        </Arguments>
 
124
                        <Valid>
 
125
                                <BeginEnd/>
 
126
                                <Frame/>
 
127
                        </Valid>
 
128
                </Procedure>
 
129
 
 
130
                <Procedure name="RiClipping" return="RtVoid">
 
131
                        <Arguments>
 
132
                                <Argument name="cnear" type="RtFloat"/>
 
133
                                <Argument name="cfar" type="RtFloat"/>
 
134
                        </Arguments>
 
135
                        <Valid>
 
136
                                <BeginEnd/>
 
137
                                <Frame/>
 
138
                        </Valid>
 
139
                </Procedure>
 
140
 
 
141
                <Procedure name="RiDepthOfField" return="RtVoid">
 
142
                        <Arguments>
 
143
                                <Argument name="fstop" type="RtFloat"/>
 
144
                                <Argument name="focallength" type="RtFloat"/>
 
145
                                <Argument name="focaldistance" type="RtFloat"/>
 
146
                        </Arguments>
 
147
                        <Valid>
 
148
                                <BeginEnd/>
 
149
                                <Frame/>
 
150
                        </Valid>
 
151
                </Procedure>
 
152
 
 
153
                <Procedure name="RiShutter" return="RtVoid">
 
154
                        <Arguments>
 
155
                                <Argument name="opentime" type="RtFloat"/>
 
156
                                <Argument name="closetime" type="RtFloat"/>
 
157
                        </Arguments>
 
158
                        <Valid>
 
159
                                <BeginEnd/>
 
160
                                <Frame/>
 
161
                        </Valid>
 
162
                </Procedure>
 
163
 
 
164
                <Procedure name="RiPixelVariance" return="RtVoid">
 
165
                        <Arguments>
 
166
                                <Argument name="variance" type="RtFloat"/>
 
167
                        </Arguments>
 
168
                        <Valid>
 
169
                                <BeginEnd/>
 
170
                                <Frame/>
 
171
                        </Valid>
 
172
                </Procedure>
 
173
 
 
174
                <Procedure name="RiPixelSamples" return="RtVoid">
 
175
                        <Arguments>
 
176
                                <Argument name="xsamples" type="RtFloat"/>
 
177
                                <Argument name="ysamples" type="RtFloat"/>
 
178
                        </Arguments>
 
179
                        <Valid>
 
180
                                <BeginEnd/>
 
181
                                <Frame/>
 
182
                        </Valid>
 
183
                </Procedure>
 
184
 
 
185
                <Procedure name="RiPixelFilter" return="RtVoid">
 
186
                        <Arguments>
 
187
                                <Argument name="function" type="RtFilterFunc"/>
 
188
                                <Argument name="xwidth" type="RtFloat"/>
 
189
                                <Argument name="ywidth" type="RtFloat"/>
 
190
                        </Arguments>
 
191
                        <Valid>
 
192
                                <BeginEnd/>
 
193
                                <Frame/>
 
194
                        </Valid>
 
195
                </Procedure>
 
196
 
 
197
                <Procedure name="RiExposure" return="RtVoid">
 
198
                        <Arguments>
 
199
                                <Argument name="gain" type="RtFloat"/>
 
200
                                <Argument name="gamma" type="RtFloat"/>
 
201
                        </Arguments>
 
202
                        <Valid>
 
203
                                <BeginEnd/>
 
204
                                <Frame/>
 
205
                        </Valid>
 
206
                </Procedure>
 
207
 
 
208
                <Procedure name="RiImager" return="RtVoid">
 
209
                        <Arguments>
 
210
                                <Argument name="name" type="RtToken"/>
 
211
                                <Argument name="plist" type="PARAMETERLIST"/>
 
212
                        </Arguments>
 
213
                        <Valid>
 
214
                                <BeginEnd/>
 
215
                                <Frame/>
 
216
                        </Valid>
 
217
                </Procedure>
 
218
 
 
219
                <Procedure name="RiQuantize" return="RtVoid">
 
220
                        <Arguments>
 
221
                                <Argument name="type" type="RtToken"/>
 
222
                                <Argument name="one" type="RtInt"/>
 
223
                                <Argument name="min" type="RtInt"/>
 
224
                                <Argument name="max" type="RtInt"/>
 
225
                                <Argument name="ditheramplitude" type="RtFloat"/>
 
226
                        </Arguments>
 
227
                        <Valid>
 
228
                                <BeginEnd/>
 
229
                                <Frame/>
 
230
                        </Valid>
 
231
                </Procedure>
 
232
 
 
233
                <Procedure name="RiDisplay" return="RtVoid">
 
234
                        <Arguments>
 
235
                                <Argument name="name" type="RtToken"/>
 
236
                                <Argument name="type" type="RtToken"/>
 
237
                                <Argument name="mode" type="RtToken"/>
 
238
                                <Argument name="plist" type="PARAMETERLIST"/>
 
239
                        </Arguments>
 
240
                        <Valid>
 
241
                                <BeginEnd/>
 
242
                                <Frame/>
 
243
                        </Valid>
 
244
                </Procedure>
 
245
 
 
246
                <Procedure name="RiGaussianFilter" return="RtFloat">
 
247
                        <NoCache/>
 
248
                        <Arguments>
 
249
                                <Argument name="x" type="RtFloat"/>
 
250
                                <Argument name="y" type="RtFloat"/>
 
251
                                <Argument name="xwidth" type="RtFloat"/>
 
252
                                <Argument name="ywidth" type="RtFloat"/>
 
253
                        </Arguments>
 
254
                </Procedure>
 
255
 
 
256
                <Procedure name="RiBoxFilter" return="RtFloat">
 
257
                        <NoCache/>
 
258
                        <Arguments>
 
259
                                <Argument name="x" type="RtFloat"/>
 
260
                                <Argument name="y" type="RtFloat"/>
 
261
                                <Argument name="xwidth" type="RtFloat"/>
 
262
                                <Argument name="ywidth" type="RtFloat"/>
 
263
                        </Arguments>
 
264
                </Procedure>
 
265
 
 
266
                <Procedure name="RiTriangleFilter" return="RtFloat">
 
267
                        <NoCache/>
 
268
                        <Arguments>
 
269
                                <Argument name="x" type="RtFloat"/>
 
270
                                <Argument name="y" type="RtFloat"/>
 
271
                                <Argument name="xwidth" type="RtFloat"/>
 
272
                                <Argument name="ywidth" type="RtFloat"/>
 
273
                        </Arguments>
 
274
                </Procedure>
 
275
 
 
276
                <Procedure name="RiCatmullRomFilter" return="RtFloat">
 
277
                        <NoCache/>
 
278
                        <Arguments>
 
279
                                <Argument name="x" type="RtFloat"/>
 
280
                                <Argument name="y" type="RtFloat"/>
 
281
                                <Argument name="xwidth" type="RtFloat"/>
 
282
                                <Argument name="ywidth" type="RtFloat"/>
 
283
                        </Arguments>
 
284
                </Procedure>
 
285
 
 
286
                <Procedure name="RiSincFilter" return="RtFloat">
 
287
                        <NoCache/>
 
288
                        <Arguments>
 
289
                                <Argument name="x" type="RtFloat"/>
 
290
                                <Argument name="y" type="RtFloat"/>
 
291
                                <Argument name="xwidth" type="RtFloat"/>
 
292
                                <Argument name="ywidth" type="RtFloat"/>
 
293
                        </Arguments>
 
294
                </Procedure>
 
295
 
 
296
                <Procedure name="RiDiskFilter" return="RtFloat">
 
297
                        <NoCache/>
 
298
                        <Arguments>
 
299
                                <Argument name="x" type="RtFloat"/>
 
300
                                <Argument name="y" type="RtFloat"/>
 
301
                                <Argument name="xwidth" type="RtFloat"/>
 
302
                                <Argument name="ywidth" type="RtFloat"/>
 
303
                        </Arguments>
 
304
                </Procedure>
 
305
 
 
306
                <Procedure name="RiBesselFilter" return="RtFloat">
 
307
                        <NoCache/>
 
308
                        <Arguments>
 
309
                                <Argument name="x" type="RtFloat"/>
 
310
                                <Argument name="y" type="RtFloat"/>
 
311
                                <Argument name="xwidth" type="RtFloat"/>
 
312
                                <Argument name="ywidth" type="RtFloat"/>
 
313
                        </Arguments>
 
314
                </Procedure>
 
315
 
 
316
                <Procedure name="RiHider" return="RtVoid">
 
317
                        <Arguments>
 
318
                                <Argument name="name" type="RtToken"/>
 
319
                                <Argument name="plist" type="PARAMETERLIST"/>
 
320
                        </Arguments>
 
321
                        <Valid>
 
322
                                <BeginEnd/>
 
323
                                <Frame/>
 
324
                        </Valid>
 
325
                </Procedure>
 
326
 
 
327
                <Procedure name="RiColorSamples" return="RtVoid">
 
328
                        <Arguments>
 
329
                                <Argument name="N" type="RtInt"/>
 
330
                                <Argument name="nRGB" type="RtFloatArray">
 
331
                                        <Length>                int __nRGB_length = N;
 
332
</Length>
 
333
                                </Argument>
 
334
                                <Argument name="RGBn" type="RtFloatArray">
 
335
                                        <Length>                int __RGBn_length = N;
 
336
</Length>
 
337
                                </Argument>
 
338
                        </Arguments>
 
339
                        <Valid>
 
340
                                <BeginEnd/>
 
341
                                <Frame/>
 
342
                        </Valid>
 
343
                </Procedure>
 
344
 
 
345
                <Procedure name="RiRelativeDetail" return="RtVoid">
 
346
                        <Arguments>
 
347
                                <Argument name="relativedetail" type="RtFloat"/>
 
348
                        </Arguments>
 
349
                        <Valid>
 
350
                                <BeginEnd/>
 
351
                                <Frame/>
 
352
                        </Valid>
 
353
                </Procedure>
 
354
 
 
355
                <Procedure name="RiOption" return="RtVoid">
 
356
                        <Arguments>
 
357
                                <Argument name="name" type="RtToken"/>
 
358
                                <Argument name="plist" type="PARAMETERLIST"/>
 
359
                        </Arguments>
 
360
                        <Valid>
 
361
                                <BeginEnd/>
 
362
                                <Frame/>
 
363
                        </Valid>
 
364
                </Procedure>
 
365
 
 
366
                <Procedure name="RiAttributeBegin" return="RtVoid">
 
367
                        <Arguments/>
 
368
                        <Valid>
 
369
                                <World/>
 
370
                                <Attribute/>
 
371
                                <Transform/>
 
372
                                <Solid/>
 
373
                                <Object Aqsis="true"/>
 
374
                        </Valid>
 
375
                </Procedure>
 
376
 
 
377
                <Procedure name="RiAttributeEnd" return="RtVoid">
 
378
                        <Arguments/>
 
379
                        <Valid>
 
380
                                <Attribute/>
 
381
                        </Valid>
 
382
                </Procedure>
 
383
 
 
384
                <Procedure name="RiColor" return="RtVoid">
 
385
                        <Arguments>
 
386
                                <Argument name="Cq" type="RtColor"/>
 
387
                        </Arguments>
 
388
                        <Valid>
 
389
                                <BeginEnd/>
 
390
                                <Frame/>
 
391
                                <World/>
 
392
                                <Attribute/>
 
393
                                <Transform/>
 
394
                                <Solid/>
 
395
                                <Object Aqsis="true"/>
 
396
                                <Motion/>
 
397
                        </Valid>
 
398
                </Procedure>
 
399
 
 
400
                <Procedure name="RiOpacity" return="RtVoid">
 
401
                        <Arguments>
 
402
                                <Argument name="Os" type="RtColor"/>
 
403
                        </Arguments>
 
404
                        <Valid>
 
405
                                <BeginEnd/>
 
406
                                <Frame/>
 
407
                                <World/>
 
408
                                <Attribute/>
 
409
                                <Transform/>
 
410
                                <Solid/>
 
411
                                <Object Aqsis="true"/>
 
412
                                <Motion/>
 
413
                        </Valid>
 
414
                </Procedure>
 
415
 
 
416
                <Procedure name="RiTextureCoordinates" return="RtVoid">
 
417
                        <Arguments>
 
418
                                <Argument name="s1" type="RtFloat"/>
 
419
                                <Argument name="t1" type="RtFloat"/>
 
420
                                <Argument name="s2" type="RtFloat"/>
 
421
                                <Argument name="t2" type="RtFloat"/>
 
422
                                <Argument name="s3" type="RtFloat"/>
 
423
                                <Argument name="t3" type="RtFloat"/>
 
424
                                <Argument name="s4" type="RtFloat"/>
 
425
                                <Argument name="t4" type="RtFloat"/>
 
426
                        </Arguments>
 
427
                        <Valid>
 
428
                                <BeginEnd/>
 
429
                                <Frame/>
 
430
                                <World/>
 
431
                                <Attribute/>
 
432
                                <Transform/>
 
433
                                <Solid/>
 
434
                                <Object Aqsis="true"/>
 
435
                                <Motion/>
 
436
                        </Valid>
 
437
                </Procedure>
 
438
 
 
439
                <Procedure name="RiLightSource" return="RtLightHandle">
 
440
                        <Arguments>
 
441
                                <Argument name="name" type="RtToken"/>
 
442
                                <Argument name="plist" type="PARAMETERLIST"/>
 
443
                        </Arguments>
 
444
                        <Valid>
 
445
                                <BeginEnd/>
 
446
                                <Frame/>
 
447
                                <World/>
 
448
                                <Attribute/>
 
449
                                <Transform/>
 
450
                                <Solid/>
 
451
                                <Motion/>
 
452
                        </Valid>
 
453
                </Procedure>
 
454
 
 
455
                <Procedure name="RiAreaLightSource" return="RtLightHandle">
 
456
                        <Arguments>
 
457
                                <Argument name="name" type="RtToken"/>
 
458
                                <Argument name="plist" type="PARAMETERLIST"/>
 
459
                        </Arguments>
 
460
                        <Valid>
 
461
                                <BeginEnd/>
 
462
                                <Frame/>
 
463
                                <World/>
 
464
                                <Attribute/>
 
465
                                <Transform/>
 
466
                                <Solid/>
 
467
                                <Motion/>
 
468
                        </Valid>
 
469
                </Procedure>
 
470
 
 
471
                <Procedure name="RiIlluminate" return="RtVoid">
 
472
                        <Arguments>
 
473
                                <Argument name="light" type="RtLightHandle"/>
 
474
                                <Argument name="onoff" type="RtBoolean"/>
 
475
                        </Arguments>
 
476
                        <Valid>
 
477
                                <BeginEnd/>
 
478
                                <Frame/>
 
479
                                <World/>
 
480
                                <Attribute/>
 
481
                                <Transform/>
 
482
                                <Solid/>
 
483
                                <Object Aqsis="true"/>
 
484
                                <Motion/>
 
485
                        </Valid>
 
486
                </Procedure>
 
487
 
 
488
                <Procedure name="RiSurface" return="RtVoid">
 
489
                        <Arguments>
 
490
                                <Argument name="name" type="RtToken"/>
 
491
                                <Argument name="plist" type="PARAMETERLIST"/>
 
492
                        </Arguments>
 
493
                        <Valid>
 
494
                                <BeginEnd/>
 
495
                                <Frame/>
 
496
                                <World/>
 
497
                                <Attribute/>
 
498
                                <Transform/>
 
499
                                <Solid/>
 
500
                                <Object Aqsis="true"/>
 
501
                                <Motion/>
 
502
                        </Valid>
 
503
                </Procedure>
 
504
 
 
505
                <Procedure name="RiAtmosphere" return="RtVoid">
 
506
                        <Arguments>
 
507
                                <Argument name="name" type="RtToken"/>
 
508
                                <Argument name="plist" type="PARAMETERLIST"/>
 
509
                        </Arguments>
 
510
                        <Valid>
 
511
                                <BeginEnd/>
 
512
                                <Frame/>
 
513
                                <World/>
 
514
                                <Attribute/>
 
515
                                <Transform/>
 
516
                                <Solid/>
 
517
                                <Object Aqsis="true"/>
 
518
                                <Motion/>
 
519
                        </Valid>
 
520
                </Procedure>
 
521
 
 
522
                <Procedure name="RiInterior" return="RtVoid">
 
523
                        <Arguments>
 
524
                                <Argument name="name" type="RtToken"/>
 
525
                                <Argument name="plist" type="PARAMETERLIST"/>
 
526
                        </Arguments>
 
527
                        <Valid>
 
528
                                <BeginEnd/>
 
529
                                <Frame/>
 
530
                                <World/>
 
531
                                <Attribute/>
 
532
                                <Transform/>
 
533
                                <Solid/>
 
534
                                <Object Aqsis="true"/>
 
535
                                <Motion/>
 
536
                        </Valid>
 
537
                </Procedure>
 
538
 
 
539
                <Procedure name="RiExterior" return="RtVoid">
 
540
                        <Arguments>
 
541
                                <Argument name="name" type="RtToken"/>
 
542
                                <Argument name="plist" type="PARAMETERLIST"/>
 
543
                        </Arguments>
 
544
                        <Valid>
 
545
                                <BeginEnd/>
 
546
                                <Frame/>
 
547
                                <World/>
 
548
                                <Attribute/>
 
549
                                <Transform/>
 
550
                                <Solid/>
 
551
                                <Object Aqsis="true"/>
 
552
                                <Motion/>
 
553
                        </Valid>
 
554
                </Procedure>
 
555
 
 
556
                <Procedure name="RiShadingRate" return="RtVoid">
 
557
                        <Arguments>
 
558
                                <Argument name="size" type="RtFloat"/>
 
559
                        </Arguments>
 
560
                        <Valid>
 
561
                                <BeginEnd/>
 
562
                                <Frame/>
 
563
                                <World/>
 
564
                                <Attribute/>
 
565
                                <Transform/>
 
566
                                <Solid/>
 
567
                                <Object Aqsis="true"/>
 
568
                                <Motion/>
 
569
                        </Valid>
 
570
                </Procedure>
 
571
 
 
572
                <Procedure name="RiShadingInterpolation" return="RtVoid">
 
573
                        <Arguments>
 
574
                                <Argument name="type" type="RtToken"/>
 
575
                        </Arguments>
 
576
                        <Valid>
 
577
                                <BeginEnd/>
 
578
                                <Frame/>
 
579
                                <World/>
 
580
                                <Attribute/>
 
581
                                <Transform/>
 
582
                                <Solid/>
 
583
                                <Object Aqsis="true"/>
 
584
                                <Motion/>
 
585
                        </Valid>
 
586
                </Procedure>
 
587
 
 
588
                <Procedure name="RiMatte" return="RtVoid">
 
589
                        <Arguments>
 
590
                                <Argument name="onoff" type="RtBoolean"/>
 
591
                        </Arguments>
 
592
                        <Valid>
 
593
                                <BeginEnd/>
 
594
                                <Frame/>
 
595
                                <World/>
 
596
                                <Attribute/>
 
597
                                <Transform/>
 
598
                                <Solid/>
 
599
                                <Object Aqsis="true"/>
 
600
                                <Motion/>
 
601
                        </Valid>
 
602
                </Procedure>
 
603
 
 
604
                <Procedure name="RiBound" return="RtVoid">
 
605
                        <Arguments>
 
606
                                <Argument name="bound" type="RtBound"/>
 
607
                        </Arguments>
 
608
                        <Valid>
 
609
                                <BeginEnd/>
 
610
                                <Frame/>
 
611
                                <World/>
 
612
                                <Attribute/>
 
613
                                <Transform/>
 
614
                                <Solid/>
 
615
                                <Object Aqsis="true"/>
 
616
                                <Motion/>
 
617
                        </Valid>
 
618
                </Procedure>
 
619
 
 
620
                <Procedure name="RiDetail" return="RtVoid">
 
621
                        <Arguments>
 
622
                                <Argument name="bound" type="RtBound"/>
 
623
                        </Arguments>
 
624
                        <Valid>
 
625
                                <BeginEnd/>
 
626
                                <Frame/>
 
627
                                <World/>
 
628
                                <Attribute/>
 
629
                                <Transform/>
 
630
                                <Solid/>
 
631
                                <Object Aqsis="true"/>
 
632
                                <Motion/>
 
633
                        </Valid>
 
634
                </Procedure>
 
635
 
 
636
                <Procedure name="RiDetailRange" return="RtVoid">
 
637
                        <Arguments>
 
638
                                <Argument name="offlow" type="RtFloat"/>
 
639
                                <Argument name="onlow" type="RtFloat"/>
 
640
                                <Argument name="onhigh" type="RtFloat"/>
 
641
                                <Argument name="offhigh" type="RtFloat"/>
 
642
                        </Arguments>
 
643
                        <Valid>
 
644
                                <BeginEnd/>
 
645
                                <Frame/>
 
646
                                <World/>
 
647
                                <Attribute/>
 
648
                                <Transform/>
 
649
                                <Solid/>
 
650
                                <Object Aqsis="true"/>
 
651
                                <Motion/>
 
652
                        </Valid>
 
653
                </Procedure>
 
654
 
 
655
                <Procedure name="RiGeometricApproximation" return="RtVoid">
 
656
                        <Arguments>
 
657
                                <Argument name="type" type="RtToken"/>
 
658
                                <Argument name="value" type="RtFloat"/>
 
659
                        </Arguments>
 
660
                        <Valid>
 
661
                                <BeginEnd/>
 
662
                                <Frame/>
 
663
                                <World/>
 
664
                                <Attribute/>
 
665
                                <Transform/>
 
666
                                <Solid/>
 
667
                                <Object Aqsis="true"/>
 
668
                                <Motion/>
 
669
                        </Valid>
 
670
                </Procedure>
 
671
 
 
672
                <Procedure name="RiOrientation" return="RtVoid">
 
673
                        <Arguments>
 
674
                                <Argument name="orientation" type="RtToken"/>
 
675
                        </Arguments>
 
676
                        <Valid>
 
677
                                <BeginEnd/>
 
678
                                <Frame/>
 
679
                                <World/>
 
680
                                <Attribute/>
 
681
                                <Transform/>
 
682
                                <Solid/>
 
683
                                <Object Aqsis="true"/>
 
684
                                <Motion/>
 
685
                        </Valid>
 
686
                </Procedure>
 
687
 
 
688
                <Procedure name="RiReverseOrientation" return="RtVoid">
 
689
                        <Arguments/>
 
690
                        <Valid>
 
691
                                <BeginEnd/>
 
692
                                <Frame/>
 
693
                                <World/>
 
694
                                <Attribute/>
 
695
                                <Transform/>
 
696
                                <Solid/>
 
697
                                <Object Aqsis="true"/>
 
698
                                <Motion/>
 
699
                        </Valid>
 
700
                </Procedure>
 
701
 
 
702
                <Procedure name="RiSides" return="RtVoid">
 
703
                        <Arguments>
 
704
                                <Argument name="nsides" type="RtInt"/>
 
705
                        </Arguments>
 
706
                        <Valid>
 
707
                                <BeginEnd/>
 
708
                                <Frame/>
 
709
                                <World/>
 
710
                                <Attribute/>
 
711
                                <Transform/>
 
712
                                <Solid/>
 
713
                                <Object Aqsis="true"/>
 
714
                                <Motion/>
 
715
                        </Valid>
 
716
                </Procedure>
 
717
 
 
718
                <Procedure name="RiIdentity" return="RtVoid">
 
719
                        <Arguments/>
 
720
                        <Valid>
 
721
                                <BeginEnd/>
 
722
                                <Frame/>
 
723
                                <World/>
 
724
                                <Attribute/>
 
725
                                <Transform/>
 
726
                                <Solid/>
 
727
                                <Object Aqsis="true"/>
 
728
                                <Motion/>
 
729
                        </Valid>
 
730
                </Procedure>
 
731
 
 
732
                <Procedure name="RiTransform" return="RtVoid">
 
733
                        <Arguments>
 
734
                                <Argument name="transform" type="RtMatrix"/>
 
735
                        </Arguments>
 
736
                        <Valid>
 
737
                                <BeginEnd/>
 
738
                                <Frame/>
 
739
                                <World/>
 
740
                                <Attribute/>
 
741
                                <Transform/>
 
742
                                <Solid/>
 
743
                                <Object Aqsis="true"/>
 
744
                                <Motion/>
 
745
                        </Valid>
 
746
                </Procedure>
 
747
 
 
748
                <Procedure name="RiConcatTransform" return="RtVoid">
 
749
                        <Arguments>
 
750
                                <Argument name="transform" type="RtMatrix"/>
 
751
                        </Arguments>
 
752
                        <Valid>
 
753
                                <BeginEnd/>
 
754
                                <Frame/>
 
755
                                <World/>
 
756
                                <Attribute/>
 
757
                                <Transform/>
 
758
                                <Solid/>
 
759
                                <Object Aqsis="true"/>
 
760
                                <Motion/>
 
761
                        </Valid>
 
762
                </Procedure>
 
763
 
 
764
                <Procedure name="RiPerspective" return="RtVoid">
 
765
                        <Arguments>
 
766
                                <Argument name="fov" type="RtFloat"/>
 
767
                        </Arguments>
 
768
                        <Valid>
 
769
                                <BeginEnd/>
 
770
                                <Frame/>
 
771
                                <World/>
 
772
                                <Attribute/>
 
773
                                <Transform/>
 
774
                                <Solid/>
 
775
                                <Object Aqsis="true"/>
 
776
                                <Motion/>
 
777
                        </Valid>
 
778
                </Procedure>
 
779
 
 
780
                <Procedure name="RiTranslate" return="RtVoid">
 
781
                        <Arguments>
 
782
                                <Argument name="dx" type="RtFloat"/>
 
783
                                <Argument name="dy" type="RtFloat"/>
 
784
                                <Argument name="dz" type="RtFloat"/>
 
785
                        </Arguments>
 
786
                        <Valid>
 
787
                                <BeginEnd/>
 
788
                                <Frame/>
 
789
                                <World/>
 
790
                                <Attribute/>
 
791
                                <Transform/>
 
792
                                <Solid/>
 
793
                                <Object Aqsis="true"/>
 
794
                                <Motion/>
 
795
                        </Valid>
 
796
                </Procedure>
 
797
 
 
798
                <Procedure name="RiRotate" return="RtVoid">
 
799
                        <Arguments>
 
800
                                <Argument name="angle" type="RtFloat"/>
 
801
                                <Argument name="dx" type="RtFloat"/>
 
802
                                <Argument name="dy" type="RtFloat"/>
 
803
                                <Argument name="dz" type="RtFloat"/>
 
804
                        </Arguments>
 
805
                        <Valid>
 
806
                                <BeginEnd/>
 
807
                                <Frame/>
 
808
                                <World/>
 
809
                                <Attribute/>
 
810
                                <Transform/>
 
811
                                <Solid/>
 
812
                                <Object Aqsis="true"/>
 
813
                                <Motion/>
 
814
                        </Valid>
 
815
                </Procedure>
 
816
 
 
817
                <Procedure name="RiScale" return="RtVoid">
 
818
                        <Arguments>
 
819
                                <Argument name="sx" type="RtFloat"/>
 
820
                                <Argument name="sy" type="RtFloat"/>
 
821
                                <Argument name="sz" type="RtFloat"/>
 
822
                        </Arguments>
 
823
                        <Valid>
 
824
                                <BeginEnd/>
 
825
                                <Frame/>
 
826
                                <World/>
 
827
                                <Attribute/>
 
828
                                <Transform/>
 
829
                                <Solid/>
 
830
                                <Object Aqsis="true"/>
 
831
                                <Motion/>
 
832
                        </Valid>
 
833
                </Procedure>
 
834
 
 
835
                <Procedure name="RiSkew" return="RtVoid">
 
836
                        <Arguments>
 
837
                                <Argument name="angle" type="RtFloat"/>
 
838
                                <Argument name="dx1" type="RtFloat"/>
 
839
                                <Argument name="dy1" type="RtFloat"/>
 
840
                                <Argument name="dz1" type="RtFloat"/>
 
841
                                <Argument name="dx2" type="RtFloat"/>
 
842
                                <Argument name="dy2" type="RtFloat"/>
 
843
                                <Argument name="dz2" type="RtFloat"/>
 
844
                        </Arguments>
 
845
                        <Valid>
 
846
                                <BeginEnd/>
 
847
                                <Frame/>
 
848
                                <World/>
 
849
                                <Attribute/>
 
850
                                <Transform/>
 
851
                                <Solid/>
 
852
                                <Object Aqsis="true"/>
 
853
                                <Motion/>
 
854
                        </Valid>
 
855
                </Procedure>
 
856
 
 
857
                <Procedure name="RiDeformation" return="RtVoid">
 
858
                        <Arguments>
 
859
                                <Argument name="name" type="RtToken"/>
 
860
                                <Argument name="plist" type="PARAMETERLIST"/>
 
861
                        </Arguments>
 
862
                        <Valid>
 
863
                                <BeginEnd/>
 
864
                                <Frame/>
 
865
                                <World/>
 
866
                                <Attribute/>
 
867
                                <Transform/>
 
868
                                <Solid/>
 
869
                                <Object Aqsis="true"/>
 
870
                                <Motion/>
 
871
                        </Valid>
 
872
                </Procedure>
 
873
 
 
874
                <Procedure name="RiDisplacement" return="RtVoid">
 
875
                        <Arguments>
 
876
                                <Argument name="name" type="RtToken"/>
 
877
                                <Argument name="plist" type="PARAMETERLIST"/>
 
878
                        </Arguments>
 
879
                        <Valid>
 
880
                                <BeginEnd/>
 
881
                                <Frame/>
 
882
                                <World/>
 
883
                                <Attribute/>
 
884
                                <Transform/>
 
885
                                <Solid/>
 
886
                                <Object Aqsis="true"/>
 
887
                                <Motion/>
 
888
                        </Valid>
 
889
                </Procedure>
 
890
 
 
891
                <Procedure name="RiCoordinateSystem" return="RtVoid">
 
892
                        <Arguments>
 
893
                                <Argument name="space" type="RtToken"/>
 
894
                        </Arguments>
 
895
                        <Valid>
 
896
                                <BeginEnd/>
 
897
                                <Frame/>
 
898
                                <World/>
 
899
                                <Attribute/>
 
900
                                <Transform/>
 
901
                                <Solid/>
 
902
                                <Object Aqsis="true"/>
 
903
                        </Valid>
 
904
                </Procedure>
 
905
 
 
906
                <Procedure name="RiTransformPoints" return="RtPoint*">
 
907
                        <Arguments>
 
908
                                <Argument name="fromspace" type="RtToken"/>
 
909
                                <Argument name="tospace" type="RtToken"/>
 
910
                                <Argument name="npoints" type="RtInt"/>
 
911
                                <Argument name="points" type="RtPointArray">
 
912
                                        <Length>                int __points_length = npoints;
 
913
</Length>
 
914
                                </Argument>
 
915
                        </Arguments>
 
916
                        <Valid>
 
917
                                <BeginEnd/>
 
918
                                <Frame/>
 
919
                                <World/>
 
920
                                <Attribute/>
 
921
                                <Transform/>
 
922
                                <Solid/>
 
923
                                <Object Aqsis="true"/>
 
924
                        </Valid>
 
925
                </Procedure>
 
926
 
 
927
                <Procedure name="RiTransformBegin" return="RtVoid">
 
928
                        <Arguments/>
 
929
                        <Valid>
 
930
                                <BeginEnd/>
 
931
                                <Frame/>
 
932
                                <World/>
 
933
                                <Attribute/>
 
934
                                <Transform/>
 
935
                                <Solid/>
 
936
                                <Object Aqsis="true"/>
 
937
                        </Valid>
 
938
                </Procedure>
 
939
 
 
940
                <Procedure name="RiTransformEnd" return="RtVoid">
 
941
                        <Arguments/>
 
942
                        <Valid>
 
943
                                <Transform/>
 
944
                        </Valid>
 
945
                </Procedure>
 
946
 
 
947
                <Procedure name="RiAttribute" return="RtVoid">
 
948
                        <Arguments>
 
949
                                <Argument name="name" type="RtToken"/>
 
950
                                <Argument name="plist" type="PARAMETERLIST"/>
 
951
                        </Arguments>
 
952
                        <Valid>
 
953
                                <BeginEnd/>
 
954
                                <Frame/>
 
955
                                <World/>
 
956
                                <Attribute/>
 
957
                                <Transform/>
 
958
                                <Solid/>
 
959
                                <Object Aqsis="true"/>
 
960
                                <Motion/>
 
961
                        </Valid>
 
962
                </Procedure>
 
963
 
 
964
                <Procedure name="RiPolygon" return="RtVoid">
 
965
                        <Arguments>
 
966
                                <Argument name="nvertices" type="RtInt"/>
 
967
                                <Argument name="plist" type="PARAMETERLIST"/>
 
968
                        </Arguments>
 
969
                        <VaryingSize>&#x9;&#x9;varying_size = nvertices;&#xa;</VaryingSize>
 
970
                        <VertexSize>&#x9;&#x9;vertex_size = nvertices;&#xa;</VertexSize>
 
971
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = nvertices;&#xa;</FaceVaryingSize>
 
972
                        <Valid>
 
973
                                <World/>
 
974
                                <Attribute/>
 
975
                                <Transform/>
 
976
                                <Solid/>
 
977
                                <Object/>
 
978
                                <Motion/>
 
979
                        </Valid>
 
980
                </Procedure>
 
981
 
 
982
                <Procedure name="RiGeneralPolygon" return="RtVoid">
 
983
                        <Arguments>
 
984
                                <Argument name="nloops" type="RtInt"/>
 
985
                                <Argument name="nverts" type="RtIntArray">
 
986
                                        <Length>                int __nverts_length = nloops;
 
987
</Length>
 
988
                                </Argument>
 
989
                                <Argument name="plist" type="PARAMETERLIST"/>
 
990
                        </Arguments>
 
991
                        <VaryingSize>&#x9;&#x9;varying_size = 0;
 
992
                {
 
993
                        int __i;
 
994
                        for(__i=0;__i&lt;nloops;__i++)
 
995
                                varying_size+=nverts[__i];
 
996
                }
 
997
</VaryingSize>
 
998
                        <VertexSize>&#x9;&#x9;vertex_size = varying_size;&#xa;</VertexSize>
 
999
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = varying_size;&#xa;</FaceVaryingSize>
 
1000
                        <Valid>
 
1001
                                <World/>
 
1002
                                <Attribute/>
 
1003
                                <Transform/>
 
1004
                                <Solid/>
 
1005
                                <Object/>
 
1006
                                <Motion/>
 
1007
                        </Valid>
 
1008
                </Procedure>
 
1009
 
 
1010
                <Procedure name="RiPointsPolygons" return="RtVoid">
 
1011
                        <Arguments>
 
1012
                                <Argument name="npolys" type="RtInt"/>
 
1013
                                <Argument name="nverts" type="RtIntArray">
 
1014
                                        <Length>                int __nverts_length = npolys;
 
1015
</Length>
 
1016
                                </Argument>
 
1017
                                <Argument name="verts" type="RtIntArray">
 
1018
                                        <Length>                int __verts_length = 0;
 
1019
                {
 
1020
                        int __i;
 
1021
                        for(__i=0; __i&lt;npolys; __i++)
 
1022
                                __verts_length+=nverts[__i];
 
1023
                }
 
1024
</Length>
 
1025
                                </Argument>
 
1026
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1027
                        </Arguments>
 
1028
                        <VaryingSize>           varying_size=0;
 
1029
                {
 
1030
                        int __i;
 
1031
                        for(__i=0; __i&lt;__verts_length; __i++)
 
1032
                                if(verts[__i]&gt;varying_size)
 
1033
                                        varying_size=verts[__i];
 
1034
                }
 
1035
                varying_size+=1;
 
1036
</VaryingSize>
 
1037
                        <VertexSize>            vertex_size=varying_size;&#xa;</VertexSize>
 
1038
                        <FaceVaryingSize>               facevarying_size=0;
 
1039
                {
 
1040
                        int __i;
 
1041
                        for(__i=0; __i&lt;npolys; __i++)
 
1042
                                facevarying_size+=nverts[__i];
 
1043
                }
 
1044
</FaceVaryingSize>
 
1045
                        <Valid>
 
1046
                                <World/>
 
1047
                                <Attribute/>
 
1048
                                <Transform/>
 
1049
                                <Solid/>
 
1050
                                <Object/>
 
1051
                                <Motion/>
 
1052
                        </Valid>
 
1053
                </Procedure>
 
1054
 
 
1055
                <Procedure name="RiPointsGeneralPolygons" return="RtVoid">
 
1056
                        <Arguments>
 
1057
                                <Argument name="npolys" type="RtInt"/>
 
1058
                                <Argument name="nloops" type="RtIntArray">
 
1059
                                        <Length>                int __nloops_length = npolys;&#xa;</Length>
 
1060
                                </Argument>
 
1061
                                <Argument name="nverts" type="RtIntArray">
 
1062
                                        <Length>                int __nverts_length = 0;
 
1063
                {
 
1064
                        int __i;
 
1065
                        for(__i=0; __i&lt;npolys; __i++)
 
1066
                                __nverts_length+=nloops[__i];
 
1067
                }
 
1068
</Length>
 
1069
                                </Argument>
 
1070
                                <Argument name="verts" type="RtIntArray">
 
1071
                                        <Length>                int __verts_length = 0;
 
1072
                {
 
1073
                        int __i;
 
1074
                        for(__i=0; __i&lt;__nverts_length; __i++)
 
1075
                                __verts_length+=nverts[__i];
 
1076
                }
 
1077
</Length>
 
1078
                                </Argument>
 
1079
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1080
                        </Arguments>
 
1081
                        <VaryingSize>           varying_size=0;
 
1082
                {
 
1083
                        int __i;
 
1084
                        for(__i=0; __i&lt;__verts_length; __i++)
 
1085
                                if(verts[__i]&gt;varying_size)
 
1086
                                        varying_size=verts[__i];
 
1087
                }
 
1088
                varying_size+=1;
 
1089
</VaryingSize>
 
1090
                        <VertexSize>            vertex_size=varying_size;&#xa;</VertexSize>
 
1091
                        <FaceVaryingSize>               facevarying_size=0;
 
1092
                {
 
1093
                        int __i;
 
1094
                        for(__i=0; __i&lt;npolys; __i++)
 
1095
                                facevarying_size+=nverts[__i];
 
1096
                }
 
1097
</FaceVaryingSize>
 
1098
                        <Valid>
 
1099
                                <World/>
 
1100
                                <Attribute/>
 
1101
                                <Transform/>
 
1102
                                <Solid/>
 
1103
                                <Object/>
 
1104
                                <Motion/>
 
1105
                        </Valid>
 
1106
                </Procedure>
 
1107
 
 
1108
                <Procedure name="RiBasis" return="RtVoid">
 
1109
                        <Arguments>
 
1110
                                <Argument name="ubasis" type="RtBasis"/>
 
1111
                                <Argument name="ustep" type="RtInt"/>
 
1112
                                <Argument name="vbasis" type="RtBasis"/>
 
1113
                                <Argument name="vstep" type="RtInt"/>
 
1114
                        </Arguments>
 
1115
                        <Valid>
 
1116
                                <BeginEnd/>
 
1117
                                <Frame/>
 
1118
                                <World/>
 
1119
                                <Attribute/>
 
1120
                                <Transform/>
 
1121
                                <Solid/>
 
1122
                                <Object Aqsis="true"/>
 
1123
                                <Motion/>
 
1124
                        </Valid>
 
1125
                </Procedure>
 
1126
 
 
1127
                <Procedure name="RiPatch" return="RtVoid">
 
1128
                        <Arguments>
 
1129
                                <Argument name="type" type="RtToken"/>
 
1130
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1131
                        </Arguments>
 
1132
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1133
                        <VertexSize>&#x9;&#x9;vertex_size = 4;
 
1134
                if(strcmp(type, "bicubic")==0)
 
1135
                        vertex_size=16;
 
1136
</VertexSize>
 
1137
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = varying_size;&#xa;</FaceVaryingSize>
 
1138
                        <Valid>
 
1139
                                <World/>
 
1140
                                <Attribute/>
 
1141
                                <Transform/>
 
1142
                                <Solid/>
 
1143
                                <Object/>
 
1144
                                <Motion/>
 
1145
                        </Valid>
 
1146
                </Procedure>
 
1147
 
 
1148
                <Procedure name="RiPatchMesh" return="RtVoid">
 
1149
                        <Arguments>
 
1150
                                <Argument name="type" type="RtToken"/>
 
1151
                                <Argument name="nu" type="RtInt"/>
 
1152
                                <Argument name="uwrap" type="RtToken"/>
 
1153
                                <Argument name="nv" type="RtInt"/>
 
1154
                                <Argument name="vwrap" type="RtToken"/>
 
1155
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1156
                        </Arguments>
 
1157
                        <UniformSize>
 
1158
                if(strcmp(type, "bilinear")==0)
 
1159
                {
 
1160
                        if(strcmp(uwrap, "periodic")==0)
 
1161
                                uniform_size = nu;
 
1162
                        else
 
1163
                                uniform_size = nu-1;
 
1164
                        if(strcmp(vwrap, "periodic")==0)
 
1165
                                uniform_size *= nv;
 
1166
                        else
 
1167
                                uniform_size *= nv-1;
 
1168
                }
 
1169
                else
 
1170
                {
 
1171
                        int ustep = QGetRenderContext() ->pattrCurrent()->GetIntegerAttribute( "System", "BasisStep" ) [ 0 ];
 
1172
                        int vstep = QGetRenderContext() ->pattrCurrent()->GetIntegerAttribute( "System", "BasisStep" ) [ 1 ];
 
1173
                        if(strcmp(uwrap, "periodic")==0)
 
1174
                                uniform_size = nu/ustep;
 
1175
                        else
 
1176
                                uniform_size = (nu-4)/ustep;
 
1177
                        if(strcmp(vwrap, "periodic")==0)
 
1178
                                uniform_size *= nv/vstep;
 
1179
                        else
 
1180
                                uniform_size *= (nv-4)/vstep;
 
1181
                }
 
1182
</UniformSize>
 
1183
                        <VaryingSize>
 
1184
                if(strcmp(type, "bilinear")==0)
 
1185
                        varying_size = nu*nv;
 
1186
                else
 
1187
                {
 
1188
                        int ustep = QGetRenderContext() ->pattrCurrent()->GetIntegerAttribute( "System", "BasisStep" ) [ 0 ];
 
1189
                        int vstep = QGetRenderContext() ->pattrCurrent()->GetIntegerAttribute( "System", "BasisStep" ) [ 1 ];
 
1190
                        varying_size = (nu/ustep)*(nv/vstep);
 
1191
                }
 
1192
</VaryingSize>
 
1193
                        <VertexSize>            vertex_size=nu*nv;&#xa;</VertexSize>
 
1194
                        <Valid>
 
1195
                                <World/>
 
1196
                                <Attribute/>
 
1197
                                <Transform/>
 
1198
                                <Solid/>
 
1199
                                <Object/>
 
1200
                                <Motion/>
 
1201
                        </Valid>
 
1202
                </Procedure>
 
1203
 
 
1204
                <Procedure name="RiNuPatch" return="RtVoid">
 
1205
                        <Arguments>
 
1206
                                <Argument name="nu" type="RtInt"/>
 
1207
                                <Argument name="uorder" type="RtInt"/>
 
1208
                                <Argument name="uknot" type="RtFloatArray">
 
1209
                                        <Length>                int __uknot_length = nu + uorder;&#xa;</Length>
 
1210
                                </Argument>
 
1211
                                <Argument name="umin" type="RtFloat"/>
 
1212
                                <Argument name="umax" type="RtFloat"/>
 
1213
                                <Argument name="nv" type="RtInt"/>
 
1214
                                <Argument name="vorder" type="RtInt"/>
 
1215
                                <Argument name="vknot" type="RtFloatArray">
 
1216
                                        <Length>                int __vknot_length = nv + vorder;&#xa;</Length>
 
1217
                                </Argument>
 
1218
                                <Argument name="vmin" type="RtFloat"/>
 
1219
                                <Argument name="vmax" type="RtFloat"/>
 
1220
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1221
                        </Arguments>
 
1222
                        <UniformSize>           uniform_size=(1+nu-uorder+1)*(1+nv-vorder+1);&#xa;</UniformSize>
 
1223
                        <VaryingSize>           varying_size=(1+nu-uorder+1)*(1+nv-vorder+1);&#xa;</VaryingSize>
 
1224
                        <VertexSize>            vertex_size=nu*nv;&#xa;</VertexSize>
 
1225
                        <Valid>
 
1226
                                <World/>
 
1227
                                <Attribute/>
 
1228
                                <Transform/>
 
1229
                                <Solid/>
 
1230
                                <Object/>
 
1231
                                <Motion/>
 
1232
                        </Valid>
 
1233
                </Procedure>
 
1234
 
 
1235
                <Procedure name="RiTrimCurve" return="RtVoid">
 
1236
                        <Arguments>
 
1237
                                <Argument name="nloops" type="RtInt"/>
 
1238
                                <Argument name="ncurves" type="RtIntArray">
 
1239
                                        <Length>                int __ncurves_length = nloops;&#xa;</Length>
 
1240
                                </Argument>
 
1241
                                <Argument name="order" type="RtIntArray">
 
1242
                                        <Length>                int __order_length = 0;
 
1243
                {
 
1244
                        int __i;
 
1245
                        for(__i=0; __i&lt;nloops; __i++)
 
1246
                                __order_length+=ncurves[__i];
 
1247
                }
 
1248
</Length>
 
1249
                                </Argument>
 
1250
                                <Argument name="knot" type="RtFloatArray">
 
1251
                                        <Length>                int __knot_length = 0;
 
1252
                {
 
1253
                        int __i;
 
1254
                        for(__i=0; __i&lt;__order_length; __i++)
 
1255
                                __knot_length+=order[__i]+n[__i];
 
1256
                }
 
1257
</Length>
 
1258
                                </Argument>
 
1259
                                <Argument name="min" type="RtFloatArray">
 
1260
                                        <Length>                int __min_length = __order_length;&#xa;</Length>
 
1261
                                </Argument>
 
1262
                                <Argument name="max" type="RtFloatArray">
 
1263
                                        <Length>                int __max_length = __order_length;&#xa;</Length>
 
1264
                                </Argument>
 
1265
                                <Argument name="n" type="RtIntArray">
 
1266
                                        <Length>                int __n_length = __order_length;&#xa;</Length>
 
1267
                                </Argument>
 
1268
                                <Argument name="u" type="RtFloatArray">
 
1269
                                        <Length>                int __u_length = 0;
 
1270
                {
 
1271
                        int __i;
 
1272
                        for(__i=0; __i&lt;__order_length; __i++)
 
1273
                                __u_length+=n[__i];
 
1274
                }
 
1275
</Length>
 
1276
                                </Argument>
 
1277
                                <Argument name="v" type="RtFloatArray">
 
1278
                                        <Length>                int __v_length = __u_length;&#xa;</Length>
 
1279
                                </Argument>
 
1280
                                <Argument name="w" type="RtFloatArray">
 
1281
                                        <Length>                int __w_length = __u_length;&#xa;</Length>
 
1282
                                </Argument>
 
1283
                        </Arguments>
 
1284
                        <Valid>
 
1285
                                <World/>
 
1286
                                <Attribute/>
 
1287
                                <Transform/>
 
1288
                                <Solid/>
 
1289
                                <Object/>
 
1290
                                <Motion/>
 
1291
                        </Valid>
 
1292
                </Procedure>
 
1293
 
 
1294
                <Procedure name="RiSphere" return="RtVoid">
 
1295
                        <Arguments>
 
1296
                                <Argument name="radius" type="RtFloat"/>
 
1297
                                <Argument name="zmin" type="RtFloat"/>
 
1298
                                <Argument name="zmax" type="RtFloat"/>
 
1299
                                <Argument name="thetamax" type="RtFloat"/>
 
1300
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1301
                        </Arguments>
 
1302
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1303
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1304
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1305
                        <Valid>
 
1306
                                <World/>
 
1307
                                <Attribute/>
 
1308
                                <Transform/>
 
1309
                                <Solid/>
 
1310
                                <Object/>
 
1311
                                <Motion/>
 
1312
                        </Valid>
 
1313
                </Procedure>
 
1314
 
 
1315
                <Procedure name="RiCone" return="RtVoid">
 
1316
                        <Arguments>
 
1317
                                <Argument name="height" type="RtFloat"/>
 
1318
                                <Argument name="radius" type="RtFloat"/>
 
1319
                                <Argument name="thetamax" type="RtFloat"/>
 
1320
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1321
                        </Arguments>
 
1322
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1323
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1324
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1325
                        <Valid>
 
1326
                                <World/>
 
1327
                                <Attribute/>
 
1328
                                <Transform/>
 
1329
                                <Solid/>
 
1330
                                <Object/>
 
1331
                                <Motion/>
 
1332
                        </Valid>
 
1333
                </Procedure>
 
1334
 
 
1335
                <Procedure name="RiCylinder" return="RtVoid">
 
1336
                        <Arguments>
 
1337
                                <Argument name="radius" type="RtFloat"/>
 
1338
                                <Argument name="zmin" type="RtFloat"/>
 
1339
                                <Argument name="zmax" type="RtFloat"/>
 
1340
                                <Argument name="thetamax" type="RtFloat"/>
 
1341
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1342
                        </Arguments>
 
1343
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1344
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1345
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1346
                        <Valid>
 
1347
                                <World/>
 
1348
                                <Attribute/>
 
1349
                                <Transform/>
 
1350
                                <Solid/>
 
1351
                                <Object/>
 
1352
                                <Motion/>
 
1353
                        </Valid>
 
1354
                </Procedure>
 
1355
 
 
1356
                <Procedure name="RiHyperboloid" return="RtVoid">
 
1357
                        <Arguments>
 
1358
                                <Argument name="point1" type="RtPoint"/>
 
1359
                                <Argument name="point2" type="RtPoint"/>
 
1360
                                <Argument name="thetamax" type="RtFloat"/>
 
1361
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1362
                        </Arguments>
 
1363
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1364
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1365
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1366
                        <Valid>
 
1367
                                <World/>
 
1368
                                <Attribute/>
 
1369
                                <Transform/>
 
1370
                                <Solid/>
 
1371
                                <Object/>
 
1372
                                <Motion/>
 
1373
                        </Valid>
 
1374
                </Procedure>
 
1375
 
 
1376
                <Procedure name="RiParaboloid" return="RtVoid">
 
1377
                        <Arguments>
 
1378
                                <Argument name="rmax" type="RtFloat"/>
 
1379
                                <Argument name="zmin" type="RtFloat"/>
 
1380
                                <Argument name="zmax" type="RtFloat"/>
 
1381
                                <Argument name="thetamax" type="RtFloat"/>
 
1382
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1383
                        </Arguments>
 
1384
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1385
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1386
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1387
                        <Valid>
 
1388
                                <World/>
 
1389
                                <Attribute/>
 
1390
                                <Transform/>
 
1391
                                <Solid/>
 
1392
                                <Object/>
 
1393
                                <Motion/>
 
1394
                        </Valid>
 
1395
                </Procedure>
 
1396
 
 
1397
                <Procedure name="RiDisk" return="RtVoid">
 
1398
                        <Arguments>
 
1399
                                <Argument name="height" type="RtFloat"/>
 
1400
                                <Argument name="radius" type="RtFloat"/>
 
1401
                                <Argument name="thetamax" type="RtFloat"/>
 
1402
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1403
                        </Arguments>
 
1404
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1405
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1406
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1407
                        <Valid>
 
1408
                                <World/>
 
1409
                                <Attribute/>
 
1410
                                <Transform/>
 
1411
                                <Solid/>
 
1412
                                <Object/>
 
1413
                                <Motion/>
 
1414
                        </Valid>
 
1415
                </Procedure>
 
1416
 
 
1417
                <Procedure name="RiTorus" return="RtVoid">
 
1418
                        <Arguments>
 
1419
                                <Argument name="majorrad" type="RtFloat"/>
 
1420
                                <Argument name="minorrad" type="RtFloat"/>
 
1421
                                <Argument name="phimin" type="RtFloat"/>
 
1422
                                <Argument name="phimax" type="RtFloat"/>
 
1423
                                <Argument name="thetamax" type="RtFloat"/>
 
1424
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1425
                        </Arguments>
 
1426
                        <VaryingSize>&#x9;&#x9;varying_size = 4;&#xa;</VaryingSize>
 
1427
                        <VertexSize>&#x9;&#x9;vertex_size = 4;&#xa;</VertexSize>
 
1428
                        <FaceVaryingSize>&#x9;&#x9;facevarying_size = 4;&#xa;</FaceVaryingSize>
 
1429
                        <Valid>
 
1430
                                <World/>
 
1431
                                <Attribute/>
 
1432
                                <Transform/>
 
1433
                                <Solid/>
 
1434
                                <Object/>
 
1435
                                <Motion/>
 
1436
                        </Valid>
 
1437
                </Procedure>
 
1438
 
 
1439
                <Procedure name="RiProcedural" return="RtVoid">
 
1440
                        <Arguments>
 
1441
                                <Argument name="data" type="RtPointer"/>
 
1442
                                <Argument name="bound" type="RtBound"/>
 
1443
                                <Argument name="refineproc" type="RtProcSubdivFunc"/>
 
1444
                                <Argument name="freeproc" type="RtProcFreeFunc"/>
 
1445
                        </Arguments>
 
1446
                        <Valid>
 
1447
                                <World/>
 
1448
                                <Attribute/>
 
1449
                                <Transform/>
 
1450
                                <Solid/>
 
1451
                                <Object/>
 
1452
                        </Valid>
 
1453
                </Procedure>
 
1454
 
 
1455
                <Procedure name="RiGeometry" return="RtVoid">
 
1456
                        <Arguments>
 
1457
                                <Argument name="type" type="RtToken"/>
 
1458
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1459
                        </Arguments>
 
1460
                        <Valid>
 
1461
                                <World/>
 
1462
                                <Attribute/>
 
1463
                                <Transform/>
 
1464
                                <Solid/>
 
1465
                                <Object/>
 
1466
                        </Valid>
 
1467
                </Procedure>
 
1468
 
 
1469
                <Procedure name="RiSolidBegin" return="RtVoid">
 
1470
                        <Arguments>
 
1471
                                <Argument name="type" type="RtToken"/>
 
1472
                        </Arguments>
 
1473
                        <Valid>
 
1474
                                <World/>
 
1475
                                <Attribute/>
 
1476
                                <Transform/>
 
1477
                                <Solid/>
 
1478
                                <Object Aqsis="true"/>
 
1479
                        </Valid>
 
1480
                </Procedure>
 
1481
 
 
1482
                <Procedure name="RiSolidEnd" return="RtVoid">
 
1483
                        <Arguments/>
 
1484
                        <Valid>
 
1485
                                <Solid/>
 
1486
                        </Valid>
 
1487
                </Procedure>
 
1488
 
 
1489
                <Procedure name="RiObjectBegin" return="RtObjectHandle">
 
1490
                        <Arguments/>
 
1491
                        <Valid>
 
1492
                                <BeginEnd/>
 
1493
                                <Frame/>
 
1494
                                <World/>
 
1495
                                <Attribute/>
 
1496
                                <Transform/>
 
1497
                                <Solid/>
 
1498
                        </Valid>
 
1499
                </Procedure>
 
1500
 
 
1501
                <Procedure name="RiObjectEnd" return="RtVoid">
 
1502
                        <Arguments/>
 
1503
                        <Valid>
 
1504
                                <Object/>
 
1505
                        </Valid>
 
1506
                </Procedure>
 
1507
 
 
1508
                <Procedure name="RiObjectInstance" return="RtVoid">
 
1509
                        <Arguments>
 
1510
                                <Argument name="handle" type="RtObjectHandle"/>
 
1511
                        </Arguments>
 
1512
                        <Valid>
 
1513
                                <World/>
 
1514
                                <Attribute/>
 
1515
                                <Transform/>
 
1516
                                <Solid/>
 
1517
                                <Object Aqsis="true"/>
 
1518
                        </Valid>
 
1519
                </Procedure>
 
1520
 
 
1521
                <Procedure name="RiMotionBegin" return="RtVoid">
 
1522
                        <NoCache/>
 
1523
                        <Arguments>
 
1524
                                <Argument name="N" type="RtInt"/>
 
1525
                                <Argument name="..." type=""/>
 
1526
                        </Arguments>
 
1527
                        <Valid>
 
1528
                                <BeginEnd/>
 
1529
                                <Frame/>
 
1530
                                <World/>
 
1531
                                <Attribute/>
 
1532
                                <Transform/>
 
1533
                                <Solid/>
 
1534
                                <Object Aqsis="true"/>
 
1535
                        </Valid>
 
1536
                </Procedure>
 
1537
 
 
1538
                <Procedure name="RiMotionBeginV" return="RtVoid">
 
1539
                        <Arguments>
 
1540
                                <Argument name="N" type="RtInt"/>
 
1541
                                <Argument name="times" type="RtFloatArray">
 
1542
                                        <Length>                int __times_length = N;
 
1543
</Length>
 
1544
                                </Argument>
 
1545
                        </Arguments>
 
1546
                        <Valid>
 
1547
                                <BeginEnd/>
 
1548
                                <Frame/>
 
1549
                                <World/>
 
1550
                                <Attribute/>
 
1551
                                <Transform/>
 
1552
                                <Solid/>
 
1553
                                <Object Aqsis="true"/>
 
1554
                        </Valid>
 
1555
                </Procedure>
 
1556
 
 
1557
                <Procedure name="RiMotionEnd" return="RtVoid">
 
1558
                        <Arguments/>
 
1559
                        <Valid>
 
1560
                                <Motion/>
 
1561
                        </Valid>
 
1562
                </Procedure>
 
1563
 
 
1564
                <Procedure name="RiMakeTexture" return="RtVoid">
 
1565
                        <Arguments>
 
1566
                                <Argument name="imagefile" type="RtString"/>
 
1567
                                <Argument name="texturefile" type="RtString"/>
 
1568
                                <Argument name="swrap" type="RtToken"/>
 
1569
                                <Argument name="twrap" type="RtToken"/>
 
1570
                                <Argument name="filterfunc" type="RtFilterFunc"/>
 
1571
                                <Argument name="swidth" type="RtFloat"/>
 
1572
                                <Argument name="twidth" type="RtFloat"/>
 
1573
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1574
                        </Arguments>
 
1575
                        <Valid>
 
1576
                                <BeginEnd/>
 
1577
                                <Frame/>
 
1578
                        </Valid>
 
1579
                </Procedure>
 
1580
 
 
1581
                <Procedure name="RiMakeBump" return="RtVoid">
 
1582
                        <Arguments>
 
1583
                                <Argument name="imagefile" type="RtString"/>
 
1584
                                <Argument name="bumpfile" type="RtString"/>
 
1585
                                <Argument name="swrap" type="RtToken"/>
 
1586
                                <Argument name="twrap" type="RtToken"/>
 
1587
                                <Argument name="filterfunc" type="RtFilterFunc"/>
 
1588
                                <Argument name="swidth" type="RtFloat"/>
 
1589
                                <Argument name="twidth" type="RtFloat"/>
 
1590
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1591
                        </Arguments>
 
1592
                        <Valid>
 
1593
                                <BeginEnd/>
 
1594
                                <Frame/>
 
1595
                        </Valid>
 
1596
                </Procedure>
 
1597
 
 
1598
                <Procedure name="RiMakeLatLongEnvironment" return="RtVoid">
 
1599
                        <Arguments>
 
1600
                                <Argument name="imagefile" type="RtString"/>
 
1601
                                <Argument name="reflfile" type="RtString"/>
 
1602
                                <Argument name="filterfunc" type="RtFilterFunc"/>
 
1603
                                <Argument name="swidth" type="RtFloat"/>
 
1604
                                <Argument name="twidth" type="RtFloat"/>
 
1605
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1606
                        </Arguments>
 
1607
                        <Valid>
 
1608
                                <BeginEnd/>
 
1609
                                <Frame/>
 
1610
                        </Valid>
 
1611
                </Procedure>
 
1612
 
 
1613
                <Procedure name="RiMakeCubeFaceEnvironment" return="RtVoid">
 
1614
                        <Arguments>
 
1615
                                <Argument name="px" type="RtString"/>
 
1616
                                <Argument name="nx" type="RtString"/>
 
1617
                                <Argument name="py" type="RtString"/>
 
1618
                                <Argument name="ny" type="RtString"/>
 
1619
                                <Argument name="pz" type="RtString"/>
 
1620
                                <Argument name="nz" type="RtString"/>
 
1621
                                <Argument name="reflfile" type="RtString"/>
 
1622
                                <Argument name="fov" type="RtFloat"/>
 
1623
                                <Argument name="filterfunc" type="RtFilterFunc"/>
 
1624
                                <Argument name="swidth" type="RtFloat"/>
 
1625
                                <Argument name="twidth" type="RtFloat"/>
 
1626
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1627
                        </Arguments>
 
1628
                        <Valid>
 
1629
                                <BeginEnd/>
 
1630
                                <Frame/>
 
1631
                        </Valid>
 
1632
                </Procedure>
 
1633
 
 
1634
                <Procedure name="RiMakeShadow" return="RtVoid">
 
1635
                        <Arguments>
 
1636
                                <Argument name="picfile" type="RtString"/>
 
1637
                                <Argument name="shadowfile" type="RtString"/>
 
1638
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1639
                        </Arguments>
 
1640
                        <Valid>
 
1641
                                <BeginEnd/>
 
1642
                                <Frame/>
 
1643
                        </Valid>
 
1644
                </Procedure>
 
1645
 
 
1646
                <Procedure name="RiMakeOcclusion" return="RtVoid">
 
1647
                        <Arguments>
 
1648
                                <Argument name="npics" type="RtInt"/>
 
1649
                                <Argument name="picfiles" type="RtStringArray">
 
1650
                                        <Length>                int __picfiles_length = npics;
 
1651
</Length>
 
1652
                                </Argument>
 
1653
                                <Argument name="shadowfile" type="RtString"/>
 
1654
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1655
                        </Arguments>
 
1656
                        <Valid>
 
1657
                                <BeginEnd/>
 
1658
                                <Frame/>
 
1659
                        </Valid>
 
1660
                </Procedure>
 
1661
 
 
1662
                <Procedure name="RiErrorHandler" return="RtVoid">
 
1663
                        <Arguments>
 
1664
                                <Argument name="handler" type="RtErrorFunc"/>
 
1665
                        </Arguments>
 
1666
                        <Valid>
 
1667
                                <Outside/>
 
1668
                                <BeginEnd/>
 
1669
                                <Frame/>
 
1670
                                <World/>
 
1671
                                <Attribute/>
 
1672
                                <Transform/>
 
1673
                                <Solid/>
 
1674
                                <Object/>
 
1675
                                <Motion/>
 
1676
                        </Valid>
 
1677
                </Procedure>
 
1678
                
 
1679
                <Procedure name="RiErrorIgnore" return="RtVoid">
 
1680
                        <NoCache/>
 
1681
                        <Arguments>
 
1682
                                <Argument name="code" type="RtInt"/>
 
1683
                                <Argument name="severity" type="RtInt"/>
 
1684
                                <Argument name="message" type="RtString"/>
 
1685
                        </Arguments>
 
1686
                </Procedure>
 
1687
                
 
1688
                <Procedure name="RiErrorPrint" return="RtVoid">
 
1689
                        <NoCache/>
 
1690
                        <Arguments>
 
1691
                                <Argument name="code" type="RtInt"/>
 
1692
                                <Argument name="severity" type="RtInt"/>
 
1693
                                <Argument name="message" type="RtString"/>
 
1694
                        </Arguments>
 
1695
                </Procedure>
 
1696
                
 
1697
                <Procedure name="RiErrorAbort" return="RtVoid">
 
1698
                        <NoCache/>
 
1699
                        <Arguments>
 
1700
                                <Argument name="code" type="RtInt"/>
 
1701
                                <Argument name="severity" type="RtInt"/>
 
1702
                                <Argument name="message" type="RtString"/>
 
1703
                        </Arguments>
 
1704
                </Procedure>
 
1705
                
 
1706
                <Procedure name="RiArchiveRecord" return="RtVoid">
 
1707
                        <NoCache/>
 
1708
                        <Arguments>
 
1709
                                <Argument name="type" type="RtToken"/>
 
1710
                                <Argument name="" type="char *"/>
 
1711
                                <Argument name="..." type=""/>
 
1712
                        </Arguments>
 
1713
                </Procedure>
 
1714
                
 
1715
                <Procedure name="RiGetContext" return="RtContextHandle">
 
1716
                        <NoCache/>
 
1717
                        <Arguments/>
 
1718
                </Procedure>
 
1719
                
 
1720
                <Procedure name="RiContext" return="RtVoid">
 
1721
                        <NoCache/>
 
1722
                        <Arguments>
 
1723
                                <Argument name="handle" type="RtContextHandle"/>
 
1724
                        </Arguments>
 
1725
                </Procedure>
 
1726
                
 
1727
                <Procedure name="RiClippingPlane" return="RtVoid">
 
1728
                        <Arguments>
 
1729
                                <Argument name="x" type="RtFloat"/>
 
1730
                                <Argument name="y" type="RtFloat"/>
 
1731
                                <Argument name="z" type="RtFloat"/>
 
1732
                                <Argument name="nx" type="RtFloat"/>
 
1733
                                <Argument name="ny" type="RtFloat"/>
 
1734
                                <Argument name="nz" type="RtFloat"/>
 
1735
                        </Arguments>
 
1736
                </Procedure>
 
1737
                
 
1738
                <Procedure name="RiCoordSysTransform" return="RtVoid">
 
1739
                        <Arguments>
 
1740
                                <Argument name="space" type="RtToken"/>
 
1741
                        </Arguments>
 
1742
                </Procedure>
 
1743
                
 
1744
                <Procedure name="RiBlobby" return="RtVoid">
 
1745
                        <Arguments>
 
1746
                                <Argument name="nleaf" type="RtInt"/>
 
1747
                                <Argument name="ncode" type="RtInt"/>
 
1748
                                <Argument name="code" type="RtIntArray">
 
1749
                                        <Length>                int __code_length = ncode;&#xa;</Length>
 
1750
                                </Argument>
 
1751
                                <Argument name="nflt" type="RtInt"/>
 
1752
                                <Argument name="flt" type="RtFloatArray">
 
1753
                                        <Length>                int __flt_length = nflt;&#xa;</Length>
 
1754
                                </Argument>
 
1755
                                <Argument name="nstr" type="RtInt"/>
 
1756
                                <Argument name="str" type="RtTokenArray">
 
1757
                                        <Length>                int __str_length = nstr;&#xa;</Length>
 
1758
                                </Argument>
 
1759
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1760
                        </Arguments>
 
1761
                        <Valid>
 
1762
                                <World/>
 
1763
                                <Attribute/>
 
1764
                                <Transform/>
 
1765
                                <Solid/>
 
1766
                                <Object/>
 
1767
                                <Motion/>
 
1768
                        </Valid>
 
1769
                </Procedure>
 
1770
                
 
1771
                <Procedure name="RiPoints" return="RtVoid">
 
1772
                        <Arguments>
 
1773
                                <Argument name="npoints" type="RtInt"/>
 
1774
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1775
                        </Arguments>
 
1776
                        <VaryingSize>           varying_size = npoints;&#xa;</VaryingSize>
 
1777
                        <VertexSize>            vertex_size = npoints;&#xa;</VertexSize>
 
1778
                        <FaceVaryingSize>               facevarying_size = npoints;&#xa;</FaceVaryingSize>
 
1779
                        <Valid>
 
1780
                                <World/>
 
1781
                                <Attribute/>
 
1782
                                <Transform/>
 
1783
                                <Solid/>
 
1784
                                <Object/>
 
1785
                                <Motion/>
 
1786
                        </Valid>
 
1787
                </Procedure>
 
1788
 
 
1789
                <Procedure name="RiCurves" return="RtVoid">
 
1790
                        <Arguments>
 
1791
                                <Argument name="type" type="RtToken"/>
 
1792
                                <Argument name="ncurves" type="RtInt"/>
 
1793
                                <Argument name="nvertices" type="RtIntArray">
 
1794
                                        <Length>                int __nvertices_length = ncurves;&#xa;</Length>
 
1795
                                </Argument>
 
1796
                                <Argument name="wrap" type="RtToken"/>
 
1797
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1798
                        </Arguments>
 
1799
                        <UniformSize>           uniform_size = ncurves;&#xa;</UniformSize>
 
1800
                        <VaryingSize>           varying_size = 0;
 
1801
                {
 
1802
                        int __i;
 
1803
                        for(__i=0; __i&lt;__nvertices_length; __i++)
 
1804
                        {
 
1805
                                if(strcmp(type, "cubic")==0)
 
1806
                                {
 
1807
                                        int step = QGetRenderContext() ->pattrCurrent()->GetIntegerAttribute( "System", "BasisStep" ) [ 0 ];
 
1808
                                        if(strcmp(wrap, "periodic")==0)
 
1809
                                                varying_size+=nvertices[__i]/step;
 
1810
                                        else
 
1811
                                                varying_size+=((nvertices[__i]-4)/step)+1;
 
1812
                                }
 
1813
                                else
 
1814
                                {
 
1815
                                        if(strcmp(wrap, "periodic")==0)
 
1816
                                                varying_size+=nvertices[__i];
 
1817
                                        else
 
1818
                                                varying_size+=nvertices[__i]-1;
 
1819
                                }
 
1820
                                varying_size+=1;
 
1821
                        }
 
1822
                }
 
1823
</VaryingSize>
 
1824
                        <VertexSize>            vertex_size = 0;
 
1825
                {
 
1826
                        int __i;
 
1827
                        for(__i=0; __i&lt;ncurves; __i++)
 
1828
                                vertex_size+=nvertices[__i];
 
1829
                }
 
1830
</VertexSize>
 
1831
                        <Valid>
 
1832
                                <World/>
 
1833
                                <Attribute/>
 
1834
                                <Transform/>
 
1835
                                <Solid/>
 
1836
                                <Object/>
 
1837
                                <Motion/>
 
1838
                        </Valid>
 
1839
                </Procedure>
 
1840
 
 
1841
                <Procedure name="RiSubdivisionMesh" return="RtVoid">
 
1842
                        <Arguments>
 
1843
                                <Argument name="scheme" type="RtToken"/>
 
1844
                                <Argument name="nfaces" type="RtInt"/>
 
1845
                                <Argument name="nvertices" type="RtIntArray">
 
1846
                                        <Length>                int __nvertices_length = nfaces;&#xa;</Length>
 
1847
                                </Argument>
 
1848
                                <Argument name="vertices" type="RtIntArray">
 
1849
                                        <Length>                int __vertices_length = 0;
 
1850
                {
 
1851
                        int __i;
 
1852
                        for(__i=0; __i&lt;nfaces; __i++)
 
1853
                                __vertices_length+=nvertices[__i];
 
1854
                }
 
1855
</Length>
 
1856
                                </Argument>
 
1857
                                <Argument name="ntags" type="RtInt"/>
 
1858
                                <Argument name="tags" type="RtTokenArray">
 
1859
                                        <Length>                int __tags_length = ntags;</Length>
 
1860
                                </Argument>
 
1861
                                <Argument name="nargs" type="RtIntArray">
 
1862
                                        <Length>                int __nargs_length = ntags*2;&#xa;</Length>
 
1863
                                </Argument>
 
1864
                                <Argument name="intargs" type="RtIntArray">
 
1865
                                        <Length>                int __intargs_length = 0;
 
1866
                {
 
1867
                        int __i;
 
1868
                        for(__i=0; __i&lt;ntags*2; __i+=2)
 
1869
                                __intargs_length+=nargs[__i];
 
1870
                }
 
1871
</Length>
 
1872
                                </Argument>
 
1873
                                <Argument name="floatargs" type="RtFloatArray">
 
1874
                                        <Length>                int __floatargs_length = 0;
 
1875
                {
 
1876
                        int __i;
 
1877
                        for(__i=0; __i&lt;ntags*2; __i+=2)
 
1878
                                __floatargs_length+=nargs[__i+1];
 
1879
                }
 
1880
</Length>
 
1881
                                </Argument>
 
1882
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1883
                        </Arguments>
 
1884
                        <VaryingSize>           varying_size=0;
 
1885
                {
 
1886
                        int __i;
 
1887
                        for(__i=0; __i&lt;__vertices_length; __i++)
 
1888
                                if(vertices[__i]&gt;varying_size)
 
1889
                                        varying_size=vertices[__i];
 
1890
                }
 
1891
                varying_size+=1;
 
1892
</VaryingSize>
 
1893
                        <VertexSize>            vertex_size=varying_size;&#xa;</VertexSize>
 
1894
                        <FaceVaryingSize>               facevarying_size=0;
 
1895
                {
 
1896
                        int __i;
 
1897
                        for(__i=0; __i&lt;nfaces; __i++)
 
1898
                                facevarying_size+=nvertices[__i];
 
1899
                }
 
1900
</FaceVaryingSize>
 
1901
                        <Valid>
 
1902
                                <World/>
 
1903
                                <Attribute/>
 
1904
                                <Transform/>
 
1905
                                <Solid/>
 
1906
                                <Object/>
 
1907
                                <Motion/>
 
1908
                        </Valid>
 
1909
                </Procedure>
 
1910
 
 
1911
                <Procedure name="RiReadArchive" return="RtVoid">
 
1912
                        <Arguments>
 
1913
                                <Argument name="name" type="RtToken"/>
 
1914
                                <Argument name="callback" type="RtArchiveCallback"/>
 
1915
                                <Argument name="plist" type="PARAMETERLIST"/>
 
1916
                        </Arguments>
 
1917
                </Procedure>
 
1918
 
 
1919
                <Procedure name="RiProcFree" return="RtVoid">
 
1920
                        <NoCache/>
 
1921
                        <Arguments>
 
1922
                                <Argument name="data" type="RtPointer"/>
 
1923
                        </Arguments>
 
1924
                </Procedure>
 
1925
 
 
1926
                <Procedure name="RiProcDelayedReadArchive" return="RtVoid">
 
1927
                        <NoCache/>
 
1928
                        <Arguments>
 
1929
                                <Argument name="data" type="RtPointer"/>
 
1930
                                <Argument name="detail" type="RtFloat"/>
 
1931
                        </Arguments>
 
1932
                </Procedure>
 
1933
 
 
1934
                <Procedure name="RiProcRunProgram" return="RtVoid">
 
1935
                        <NoCache/>
 
1936
                        <Arguments>
 
1937
                                <Argument name="data" type="RtPointer"/>
 
1938
                                <Argument name="detail" type="RtFloat"/>
 
1939
                        </Arguments>
 
1940
                </Procedure>
 
1941
 
 
1942
                <Procedure name="RiProcDynamicLoad" return="RtVoid">
 
1943
                        <NoCache/>
 
1944
                        <Arguments>
 
1945
                                <Argument name="data" type="RtPointer"/>
 
1946
                                <Argument name="detail" type="RtFloat"/>
 
1947
                        </Arguments>
 
1948
                </Procedure>
 
1949
 
 
1950
        </Procedures>
 
1951
</RiAPI>
 
1952