source: GTP/trunk/App/Demos/Illum/Shark3D/version164x12u/IllumDemoApplication/src/res/levelutil/shader/ordinary.s3d_shader @ 2269

Revision 2269, 103.5 KB checked in by barsi, 17 years ago (diff)
Line 
1// Machine-made Shark 3D Snake Text 2x0 Stream. Format: ascii.
2shader_array
3{
4    name "ordinary"
5    ident "eng_shader_std.group"
6    param
7    {
8        env "shaderenv"
9        init_method "init_method"
10        child_array
11        {
12            ident "eng_shader_std.modelmesh"
13            param
14            {
15                env "shaderenv"
16                methods "init_method"
17                mesh_var "mesh"
18                texchan_var_array "tex0" "normalmap"
19                tex_attr_var_array "attr0"
20                usage "render"
21                tangentu_attr_var "tangentu"
22                tangentv_attr_var "tangentv"
23                insp_ident "showmesh"
24                insp_rank 80000
25                insp_color 1.0 1.0 0.0
26            }
27        }
28        {
29            ident "eng_shader_std.modelmesh"
30            param
31            {
32                env "shaderenv"
33                methods "init_method"
34                usage "shvol_occl"
35                mesh_var "mesh_shvol_occl"
36                texchan_var_array
37                tex_attr_var_array
38                insp_ident "showocclmesh"
39                insp_rank 80000
40                insp_color 0.5 1.0 0.0
41            }
42        }
43        {
44            ident "eng_shader_std.meshenter"
45            param
46            {
47                env "shaderenv"
48                mesh_var_array "mesh"
49                insp_ident "showbound"
50                insp_rank 80000
51                insp_color 1.0 0.0 0.0
52                enter_array
53                {
54                    triggers "main_trigger" "mirror_trigger"
55                    method "main_method"
56                }
57                {
58                    triggers "gtp_distance_impostor_trigger"
59                    method "gtp_distance_impostor_method"
60                }
61                {
62                    triggers "gen_shmap_trigger"
63                    method "gen_shmap_method"
64                }
65                {
66                    triggers "light_trigger"
67                    method "light_method"
68                    param_array
69                    {
70                        src_extvar "ext_light_cenrange"
71                        dest_var "light_cenrange"
72                    }
73                    {
74                        src_extvar "ext_light_ambient"
75                        dest_var "light_ambient"
76                    }
77                    {
78                        src_extvar "ext_light_diffuse"
79                        dest_var "light_diffuse"
80                    }
81                    {
82                        src_extvar "ext_light_specular"
83                        dest_var "light_specular"
84                    }
85                }
86                {
87                    triggers "lightmild_trigger"
88                    method "lightmild_method"
89                    param_array
90                    {
91                        src_extvar "ext_light_cenrange"
92                        dest_var "light_cenrange"
93                    }
94                    {
95                        src_extvar "ext_light_ambient"
96                        dest_var "light_ambient"
97                    }
98                    {
99                        src_extvar "ext_light_diffuse"
100                        dest_var "light_diffuse"
101                    }
102                    {
103                        src_extvar "ext_light_specular"
104                        dest_var "light_specular"
105                    }
106                }
107                {
108                    triggers "lightbright_trigger"
109                    method "lightbright_method"
110                    param_array
111                    {
112                        src_extvar "ext_light_cenrange"
113                        dest_var "light_cenrange"
114                    }
115                    {
116                        src_extvar "ext_light_ambient"
117                        dest_var "light_ambient"
118                    }
119                    {
120                        src_extvar "ext_light_diffuse"
121                        dest_var "light_diffuse"
122                    }
123                    {
124                        src_extvar "ext_light_specular"
125                        dest_var "light_specular"
126                    }
127                    {
128                        src_extvar "ext_light_brighttex"
129                        dest_var "light_brighttex"
130                    }
131                    {
132                        src_extvar "ext_light_brightmat"
133                        dest_var "light_brightmat"
134                    }
135                }
136                {
137                    triggers "lightshmap_trigger"
138                    method "lightshmap_method"
139                    param_array
140                    {
141                        src_extvar "ext_light_cenrange"
142                        dest_var "light_cenrange"
143                    }
144                    {
145                        src_extvar "ext_light_ambient"
146                        dest_var "light_ambient"
147                    }
148                    {
149                        src_extvar "ext_light_diffuse"
150                        dest_var "light_diffuse"
151                    }
152                    {
153                        src_extvar "ext_light_specular"
154                        dest_var "light_specular"
155                    }
156                    {
157                        src_extvar "ext_light_projmat"
158                        dest_var "light_projmat"
159                    }
160                    {
161                        src_extvar "ext_light_shmapmat"
162                        dest_var "light_shmapmat"
163                    }
164                    {
165                        src_extvar "ext_light_projtex"
166                        dest_var "light_projtex"
167                    }
168                    {
169                        src_extvar "ext_light_shmap"
170                        dest_var "light_shmap"
171                    }
172                }
173                {
174                    triggers "gen_brightmap_for_softshmap_trigger"
175                    method "gen_brightmap_for_softshmap_method"
176                    param_array
177                    {
178                        src_extvar "ext_light_intens"
179                        dest_var "light_intens"
180                    }
181                    {
182                        src_extvar "ext_light_projmat"
183                        dest_var "light_projmat"
184                    }
185                    {
186                        src_extvar "ext_light_shmapmat"
187                        dest_var "light_shmapmat"
188                    }
189                    {
190                        src_extvar "ext_light_projtex"
191                        dest_var "light_projtex"
192                    }
193                    {
194                        src_extvar "ext_light_shmap"
195                        dest_var "light_shmap"
196                    }
197                }
198                {
199                    triggers "gen_brightclear_trigger"
200                    method "gen_brightclear_method"
201                }
202            }
203        }
204        {
205            ident "eng_shader_std.meshenter"
206            param
207            {
208                env "shaderenv"
209                mesh_var_array "mesh_shvol_occl"
210                insp_ident "showbound"
211                insp_rank 80000
212                insp_color 1.0 0.0 0.0
213                enter_array
214                {
215                    triggers "shvol_mark_trigger"
216                    method "shvol_mark_method"
217                    param_array
218                    {
219                        src_extvar "ext_light_cenrange"
220                        dest_var "light_cenrange"
221                    }
222                    {
223                        src_extvar "ext_light_shvolparam"
224                        dest_var "light_shvolparam"
225                    }
226                }
227            }
228        }
229        {
230            ident "eng_shader_shvol.occluder"
231            param
232            {
233                env "shaderenv"
234                methods "shvol_mark_method"
235                reverse_rank 90010
236                nonreverse_rank 90000
237                insp_ident "showocclwire"
238                rel_gap 0.01
239                backface 0
240                mesh_var "mesh_shvol_occl"
241                cenrange_var "light_cenrange"
242                shvolparam_var "light_shvolparam"
243                extrude_var "light_extrude"
244                strict_shaderprog_ident
245                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
246                strict_shaderprog_param_array
247                {
248                    src_var "light_cenrange"
249                    dest_progvar "prog_light_cenrange"
250                }
251                {
252                    src_var "light_extrude"
253                    dest_progvar "prog_light_extrude"
254                }
255                quick_shaderprog_ident
256                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
257                quick_shaderprog_param_array
258                {
259                    src_var "light_cenrange"
260                    dest_progvar "prog_light_cenrange"
261                }
262                {
263                    src_var "light_extrude"
264                    dest_progvar "prog_light_extrude"
265                }
266            }
267        }
268        {
269            ident "eng_shader_std.paintmesh"
270            param
271            {
272                env "shaderenv"
273                rank 99999
274                cull_mode "back"
275                depth_test "less_equal"
276                depth_write 1
277                methods "gen_shmap_method"
278                mesh_var "mesh"
279                texchan_var_array
280                tex_attr_var_array
281                attrmat_var_array ""
282                use_vertex_bone_wgh 1
283                use_vertex_bone_subscr 1
284                use_vertex_point 1
285                shaderprog_ident
286                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
287                shaderprog_param_array
288            }
289        }
290        {
291            ident "eng_shader_std.paintmesh"
292            param
293            {
294                env "shaderenv"
295                methods "main_method"
296                rank 12000
297                insp_ident "showwire"
298                cull_mode "back"
299                depth_test "less_equal"
300                depth_write 1
301                use_vertex_bone_wgh 1
302                use_vertex_bone_subscr 1
303                use_vertex_point 1
304                use_vertex_normal 0
305                color 0.0 0.0 0.0
306                mesh_var "mesh"
307                texchan_var_array
308                tex_attr_var_array
309                attrmat_var_array
310                lightarray_var ""
311                shaderprog_ident
312                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
313                shaderprog_param_array
314            }
315        }
316        {
317            ident "eng_shader_std.paintmesh"
318            param
319            {
320                env "shaderenv"
321                methods "light_method"
322                rank 99999
323                insp_ident "showwire"
324                cull_mode "back"
325                depth_test "less_equal"
326                depth_write 1
327                use_vertex_bone_wgh 1
328                use_vertex_bone_subscr 1
329                use_vertex_point 1
330                use_vertex_normal 1
331                mesh_var "mesh"
332                texchan_var_array "tex0" "normalmap"
333                tex_attr_var_array "attr0" "tangentu" "tangentv"
334                attrmat_var_array ""
335                blend_col_src_fac "one"
336                blend_col_dest_fac "inv_src_col"
337                lightarray_var ""
338                shaderprog_ident
339                    "levelutil/shader/prog/bump.s3d_shaderprog_run"
340                shaderprog_param_array
341                {
342                    src_var "light_cenrange"
343                    dest_progvar "prog_light_cenrange"
344                }
345                {
346                    src_var "light_ambient"
347                    dest_progvar "prog_light_ambient"
348                }
349                {
350                    src_var "light_diffuse"
351                    dest_progvar "prog_light_diffuse"
352                }
353                {
354                    src_var "light_specular"
355                    dest_progvar "prog_light_specular"
356                }
357            }
358        }
359        {
360            ident "eng_shader_std.paintmesh"
361            param
362            {
363                env "shaderenv"
364                methods "lightmild_method"
365                rank 99999
366                insp_ident "showwire"
367                cull_mode "back"
368                depth_test "less_equal"
369                depth_write 1
370                use_vertex_bone_wgh 1
371                use_vertex_bone_subscr 1
372                use_vertex_point 1
373                use_vertex_normal 1
374                mesh_var "mesh"
375                texchan_var_array "tex0" "normalmap"
376                tex_attr_var_array "attr0" "tangentu" "tangentv"
377                attrmat_var_array ""
378                blend_col_src_fac "one"
379                blend_col_dest_fac "inv_src_col"
380                lightarray_var ""
381                shaderprog_ident
382                    "levelutil/shader/prog/bump_mild.s3d_shaderprog_run"
383                shaderprog_param_array
384                {
385                    src_var "light_cenrange"
386                    dest_progvar "prog_light_cenrange"
387                }
388                {
389                    src_var "light_ambient"
390                    dest_progvar "prog_light_ambient"
391                }
392                {
393                    src_var "light_diffuse"
394                    dest_progvar "prog_light_diffuse"
395                }
396                {
397                    src_var "light_specular"
398                    dest_progvar "prog_light_specular"
399                }
400            }
401        }
402        {
403            ident "eng_shader_std.paintmesh"
404            param
405            {
406                env "shaderenv"
407                methods "lightbright_method"
408                rank 12000
409                insp_ident "showwire"
410                cull_mode "back"
411                depth_test "less_equal"
412                depth_write 0
413                mesh_var "mesh"
414                texchan_var_array "tex0" "normalmap" "light_brighttex"
415                tex_attr_var_array "attr0" "tangentu" "tangentv"
416                attrmat_var_array "" "" ""
417                blend_col_src_fac "one"
418                blend_col_dest_fac "inv_src_col"
419                use_vertex_bone_wgh 1
420                use_vertex_bone_subscr 1
421                use_vertex_point 1
422                use_vertex_normal 1
423                shaderprog_ident
424                    "levelutil/shader/prog/bump_bright.s3d_shaderprog_run"
425                shaderprog_param_array
426                {
427                    src_var "light_cenrange"
428                    dest_progvar "prog_light_cenrange"
429                }
430                {
431                    src_var "light_ambient"
432                    dest_progvar "prog_light_ambient"
433                }
434                {
435                    src_var "light_diffuse"
436                    dest_progvar "prog_light_diffuse"
437                }
438                {
439                    src_var "light_specular"
440                    dest_progvar "prog_light_specular"
441                }
442                {
443                    src_var "light_brightmat"
444                    dest_progvar "prog_light_brightmat"
445                }
446            }
447        }
448        {
449            ident "eng_shader_std.paintmesh"
450            param
451            {
452                env "shaderenv"
453                methods "lightshmap_method"
454                rank 99999
455                insp_ident "showwire"
456                cull_mode "back"
457                depth_test "less_equal"
458                depth_write 0
459                use_vertex_bone_wgh 1
460                use_vertex_bone_subscr 1
461                use_vertex_point 1
462                use_vertex_normal 1
463                mesh_var "mesh"
464                texchan_var_array "tex0" "normalmap" "light_projtex"
465                    "light_shmap"
466                tex_attr_var_array "attr0" "tangentu" "tangentv"
467                attrmat_var_array ""
468                blend_col_src_fac "one"
469                blend_col_dest_fac "inv_src_col"
470                lightarray_var ""
471                shaderprog_ident
472                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
473                shaderprog_param_array
474                {
475                    src_var "light_cenrange"
476                    dest_progvar "prog_light_cenrange"
477                }
478                {
479                    src_var "light_ambient"
480                    dest_progvar "prog_light_ambient"
481                }
482                {
483                    src_var "light_diffuse"
484                    dest_progvar "prog_light_diffuse"
485                }
486                {
487                    src_var "light_specular"
488                    dest_progvar "prog_light_specular"
489                }
490                {
491                    src_var "light_projmat"
492                    dest_progvar "prog_light_projmat"
493                }
494                {
495                    src_var "light_shmapmat"
496                    dest_progvar "prog_light_shmapmat"
497                }
498            }
499        }
500        {
501            ident "eng_shader_std.paintmesh"
502            param
503            {
504                env "shaderenv"
505                methods "gen_brightmap_for_softshmap_method"
506                rank 99999
507                cull_mode "back"
508                depth_test "less_equal"
509                depth_write 0
510                use_vertex_bone_wgh 1
511                use_vertex_bone_subscr 1
512                use_vertex_point 1
513                use_vertex_normal 1
514                mesh_var "mesh"
515                texchan_var_array "light_projtex" "light_shmap"
516                tex_attr_var_array ""
517                attrmat_var_array ""
518                blend_col_src_fac "one"
519                blend_col_dest_fac "inv_src_col"
520                lightarray_var ""
521                shaderprog_ident
522                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
523                    & "derprog_run"
524                shaderprog_param_array
525                {
526                    src_var "light_intens"
527                    dest_progvar "prog_light_intens"
528                }
529                {
530                    src_var "light_projmat"
531                    dest_progvar "prog_light_projmat"
532                }
533                {
534                    src_var "light_shmapmat"
535                    dest_progvar "prog_light_shmapmat"
536                }
537            }
538        }
539        {
540            ident "eng_shader_std.paintmesh"
541            param
542            {
543                env "shaderenv"
544                methods "gen_brightclear_method"
545                rank 12000
546                cull_mode "back"
547                depth_test "less_equal"
548                depth_write 1
549                mesh_var "mesh"
550                texchan_var_array
551                tex_attr_var_array
552                attrmat_var_array
553                fog_enabled 0
554                blend_col_src_fac "one"
555                blend_col_dest_fac "zero"
556                color 0.0 0.0 0.0
557                alpha 0.0
558                use_vertex_bone_wgh 1
559                use_vertex_bone_subscr 1
560                use_vertex_point 1
561                shaderprog_ident
562                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
563                shaderprog_param_array
564            }
565        }
566        {
567            ident "eng_shader_std.paintmesh"
568            param
569            {
570                env "shaderenv"
571                methods "gtp_distance_impostor_method"
572                rank 12000
573                insp_ident "insp_shader_mesh"
574                cull_mode "back"
575                depth_test "less_equal"
576                depth_write 1
577                mesh_var "mesh"
578                texchan_var_array
579                tex_attr_var_array "attr0"
580                attrmat_var_array ""
581                use_vertex_bone_wgh 1
582                use_vertex_bone_subscr 1
583                use_vertex_point 1
584                color 1.0 1.0 1.0
585                shaderprog_ident
586                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
587                    & "g_run"
588                shaderprog_param_array
589            }
590        }
591    }
592}
593{
594    name "ordinary_diffuse"
595    ident "eng_shader_std.group"
596    param
597    {
598        env "shaderenv"
599        init_method "init_method"
600        child_array
601        {
602            ident "eng_shader_std.modelmesh"
603            param
604            {
605                env "shaderenv"
606                methods "init_method"
607                mesh_var "mesh"
608                texchan_var_array "tex0" "normalmap"
609                tex_attr_var_array "attr0"
610                usage "render"
611                tangentu_attr_var "tangentu"
612                tangentv_attr_var "tangentv"
613            }
614        }
615        {
616            ident "eng_shader_std.modelmesh"
617            param
618            {
619                env "shaderenv"
620                methods "init_method"
621                usage "shvol_occl"
622                mesh_var "mesh_shvol_occl"
623                texchan_var_array
624                tex_attr_var_array
625            }
626        }
627        {
628            ident "eng_shader_std.meshenter"
629            param
630            {
631                env "shaderenv"
632                mesh_var_array "mesh"
633                insp_ident "insp_shader_bound"
634                insp_rank 80000
635                insp_color 1.0 0.0 0.0
636                enter_array
637                {
638                    triggers "main_trigger" "mirror_trigger"
639                    method "main_method"
640                }
641                {
642                    triggers "gtp_distance_impostor_trigger"
643                    method "gtp_distance_impostor_method"
644                }
645                {
646                    triggers "gen_shmap_trigger"
647                    method "gen_shmap_method"
648                }
649                {
650                    triggers "light_trigger"
651                    method "light_method"
652                    param_array
653                    {
654                        src_extvar "ext_light_cenrange"
655                        dest_var "light_cenrange"
656                    }
657                    {
658                        src_extvar "ext_light_ambient"
659                        dest_var "light_ambient"
660                    }
661                    {
662                        src_extvar "ext_light_diffuse"
663                        dest_var "light_diffuse"
664                    }
665                    {
666                        src_extvar "ext_light_specular"
667                        dest_var "light_specular"
668                    }
669                }
670                {
671                    triggers "lightmild_trigger"
672                    method "lightmild_method"
673                    param_array
674                    {
675                        src_extvar "ext_light_cenrange"
676                        dest_var "light_cenrange"
677                    }
678                    {
679                        src_extvar "ext_light_ambient"
680                        dest_var "light_ambient"
681                    }
682                    {
683                        src_extvar "ext_light_diffuse"
684                        dest_var "light_diffuse"
685                    }
686                    {
687                        src_extvar "ext_light_specular"
688                        dest_var "light_specular"
689                    }
690                }
691                {
692                    triggers "lightbright_trigger"
693                    method "lightbright_method"
694                    param_array
695                    {
696                        src_extvar "ext_light_cenrange"
697                        dest_var "light_cenrange"
698                    }
699                    {
700                        src_extvar "ext_light_ambient"
701                        dest_var "light_ambient"
702                    }
703                    {
704                        src_extvar "ext_light_diffuse"
705                        dest_var "light_diffuse"
706                    }
707                    {
708                        src_extvar "ext_light_specular"
709                        dest_var "light_specular"
710                    }
711                    {
712                        src_extvar "ext_light_brighttex"
713                        dest_var "light_brighttex"
714                    }
715                    {
716                        src_extvar "ext_light_brightmat"
717                        dest_var "light_brightmat"
718                    }
719                }
720                {
721                    triggers "lightshmap_trigger"
722                    method "lightshmap_method"
723                    param_array
724                    {
725                        src_extvar "ext_light_cenrange"
726                        dest_var "light_cenrange"
727                    }
728                    {
729                        src_extvar "ext_light_ambient"
730                        dest_var "light_ambient"
731                    }
732                    {
733                        src_extvar "ext_light_diffuse"
734                        dest_var "light_diffuse"
735                    }
736                    {
737                        src_extvar "ext_light_specular"
738                        dest_var "light_specular"
739                    }
740                    {
741                        src_extvar "ext_light_projmat"
742                        dest_var "light_projmat"
743                    }
744                    {
745                        src_extvar "ext_light_shmapmat"
746                        dest_var "light_shmapmat"
747                    }
748                    {
749                        src_extvar "ext_light_projtex"
750                        dest_var "light_projtex"
751                    }
752                    {
753                        src_extvar "ext_light_shmap"
754                        dest_var "light_shmap"
755                    }
756                }
757                {
758                    triggers "gen_brightmap_for_softshmap_trigger"
759                    method "gen_brightmap_for_softshmap_method"
760                    param_array
761                    {
762                        src_extvar "ext_light_intens"
763                        dest_var "light_intens"
764                    }
765                    {
766                        src_extvar "ext_light_projmat"
767                        dest_var "light_projmat"
768                    }
769                    {
770                        src_extvar "ext_light_shmapmat"
771                        dest_var "light_shmapmat"
772                    }
773                    {
774                        src_extvar "ext_light_projtex"
775                        dest_var "light_projtex"
776                    }
777                    {
778                        src_extvar "ext_light_shmap"
779                        dest_var "light_shmap"
780                    }
781                }
782                {
783                    triggers "gen_brightclear_trigger"
784                    method "gen_brightclear_method"
785                }
786            }
787        }
788        {
789            ident "eng_shader_std.meshenter"
790            param
791            {
792                env "shaderenv"
793                mesh_var_array "mesh_shvol_occl"
794                insp_ident "insp_shader_bound"
795                insp_rank 80000
796                insp_color 1.0 0.0 0.0
797                enter_array
798                {
799                    triggers "shvol_mark_trigger"
800                    method "shvol_mark_method"
801                    param_array
802                    {
803                        src_extvar "ext_light_cenrange"
804                        dest_var "light_cenrange"
805                    }
806                    {
807                        src_extvar "ext_light_shvolparam"
808                        dest_var "light_shvolparam"
809                    }
810                }
811            }
812        }
813        {
814            ident "eng_shader_shvol.occluder"
815            param
816            {
817                env "shaderenv"
818                methods "shvol_mark_method"
819                reverse_rank 90010
820                nonreverse_rank 90000
821                insp_ident "insp_shader_shvol"
822                rel_gap 0.01
823                backface 0
824                mesh_var "mesh_shvol_occl"
825                cenrange_var "light_cenrange"
826                shvolparam_var "light_shvolparam"
827                extrude_var "light_extrude"
828                strict_shaderprog_ident
829                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
830                strict_shaderprog_param_array
831                {
832                    src_var "light_cenrange"
833                    dest_progvar "prog_light_cenrange"
834                }
835                {
836                    src_var "light_extrude"
837                    dest_progvar "prog_light_extrude"
838                }
839                quick_shaderprog_ident
840                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
841                quick_shaderprog_param_array
842                {
843                    src_var "light_cenrange"
844                    dest_progvar "prog_light_cenrange"
845                }
846                {
847                    src_var "light_extrude"
848                    dest_progvar "prog_light_extrude"
849                }
850            }
851        }
852        {
853            ident "eng_shader_std.paintmesh"
854            param
855            {
856                env "shaderenv"
857                rank 99999
858                cull_mode "back"
859                depth_test "less_equal"
860                depth_write 1
861                methods "gen_shmap_method"
862                mesh_var "mesh"
863                texchan_var_array
864                tex_attr_var_array
865                attrmat_var_array ""
866                use_vertex_bone_wgh 1
867                use_vertex_bone_subscr 1
868                use_vertex_point 1
869                shaderprog_ident
870                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
871                shaderprog_param_array
872            }
873        }
874        {
875            ident "eng_shader_std.paintmesh"
876            param
877            {
878                env "shaderenv"
879                methods "gtp_distance_impostor_method"
880                rank 12000
881                insp_ident "insp_shader_mesh"
882                cull_mode "back"
883                depth_test "less_equal"
884                depth_write 1
885                mesh_var "mesh"
886                texchan_var_array
887                tex_attr_var_array "attr0"
888                attrmat_var_array ""
889                use_vertex_bone_wgh 1
890                use_vertex_bone_subscr 1
891                use_vertex_point 1
892                color 1.0 1.0 1.0
893                shaderprog_ident
894                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
895                    & "g_run"
896                shaderprog_param_array
897            }
898        }
899        {
900            ident "eng_shader_std.paintmesh"
901            param
902            {
903                env "shaderenv"
904                methods "main_method"
905                rank 12000
906                insp_ident "insp_shader_mesh"
907                cull_mode "back"
908                depth_test "less_equal"
909                depth_write 1
910                use_vertex_bone_wgh 1
911                use_vertex_bone_subscr 1
912                use_vertex_point 1
913                use_vertex_normal 0
914                color 0.0 0.0 0.0
915                mesh_var "mesh"
916                texchan_var_array
917                tex_attr_var_array
918                attrmat_var_array
919                lightarray_var ""
920                shaderprog_ident
921                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
922                shaderprog_param_array
923            }
924        }
925        {
926            ident "eng_shader_std.paintmesh"
927            param
928            {
929                env "shaderenv"
930                methods "lightmild_method"
931                rank 99999
932                insp_ident "insp_shader_mesh"
933                cull_mode "back"
934                depth_test "less_equal"
935                depth_write 1
936                use_vertex_bone_wgh 1
937                use_vertex_bone_subscr 1
938                use_vertex_point 1
939                use_vertex_normal 1
940                mesh_var "mesh"
941                texchan_var_array "tex0" "normalmap"
942                tex_attr_var_array "attr0" "tangentu" "tangentv"
943                attrmat_var_array ""
944                blend_col_src_fac "one"
945                blend_col_dest_fac "inv_src_col"
946                lightarray_var ""
947                shaderprog_ident
948                    "levelutil/shader/prog/bump_mild.s3d_shaderprog_run"
949                shaderprog_param_array
950                {
951                    src_var "light_cenrange"
952                    dest_progvar "prog_light_cenrange"
953                }
954                {
955                    src_var "light_ambient"
956                    dest_progvar "prog_light_ambient"
957                }
958                {
959                    src_var "light_diffuse"
960                    dest_progvar "prog_light_diffuse"
961                }
962                {
963                    src_var "light_specular"
964                    dest_progvar "prog_light_specular"
965                }
966            }
967        }
968        {
969            ident "eng_shader_std.paintmesh"
970            param
971            {
972                env "shaderenv"
973                methods "lightbright_method"
974                rank 12000
975                insp_ident "insp_shader_mesh"
976                cull_mode "back"
977                depth_test "less_equal"
978                depth_write 0
979                mesh_var "mesh"
980                texchan_var_array "tex0" "normalmap" "light_brighttex"
981                tex_attr_var_array "attr0" "tangentu" "tangentv"
982                attrmat_var_array "" "" ""
983                blend_col_src_fac "one"
984                blend_col_dest_fac "inv_src_col"
985                use_vertex_bone_wgh 1
986                use_vertex_bone_subscr 1
987                use_vertex_point 1
988                use_vertex_normal 1
989                shaderprog_ident
990                    "levelutil/shader/prog/bump_bright.s3d_shaderprog_run"
991                shaderprog_param_array
992                {
993                    src_var "light_cenrange"
994                    dest_progvar "prog_light_cenrange"
995                }
996                {
997                    src_var "light_ambient"
998                    dest_progvar "prog_light_ambient"
999                }
1000                {
1001                    src_var "light_diffuse"
1002                    dest_progvar "prog_light_diffuse"
1003                }
1004                {
1005                    src_var "light_specular"
1006                    dest_progvar "prog_light_specular"
1007                }
1008                {
1009                    src_var "light_brightmat"
1010                    dest_progvar "prog_light_brightmat"
1011                }
1012            }
1013        }
1014        {
1015            ident "eng_shader_std.paintmesh"
1016            param
1017            {
1018                env "shaderenv"
1019                methods "lightshmap_method"
1020                rank 99999
1021                insp_ident "insp_shader_mesh"
1022                cull_mode "back"
1023                depth_test "less_equal"
1024                depth_write 0
1025                use_vertex_bone_wgh 1
1026                use_vertex_bone_subscr 1
1027                use_vertex_point 1
1028                use_vertex_normal 1
1029                mesh_var "mesh"
1030                texchan_var_array "tex0" "normalmap" "light_projtex"
1031                    "light_shmap"
1032                tex_attr_var_array "attr0" "tangentu" "tangentv"
1033                attrmat_var_array ""
1034                blend_col_src_fac "one"
1035                blend_col_dest_fac "inv_src_col"
1036                lightarray_var ""
1037                shaderprog_ident
1038                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
1039                shaderprog_param_array
1040                {
1041                    src_var "light_cenrange"
1042                    dest_progvar "prog_light_cenrange"
1043                }
1044                {
1045                    src_var "light_ambient"
1046                    dest_progvar "prog_light_ambient"
1047                }
1048                {
1049                    src_var "light_diffuse"
1050                    dest_progvar "prog_light_diffuse"
1051                }
1052                {
1053                    src_var "light_specular"
1054                    dest_progvar "prog_light_specular"
1055                }
1056                {
1057                    src_var "light_projmat"
1058                    dest_progvar "prog_light_projmat"
1059                }
1060                {
1061                    src_var "light_shmapmat"
1062                    dest_progvar "prog_light_shmapmat"
1063                }
1064            }
1065        }
1066        {
1067            ident "eng_shader_std.paintmesh"
1068            param
1069            {
1070                env "shaderenv"
1071                methods "gen_brightmap_for_softshmap_method"
1072                rank 99999
1073                cull_mode "back"
1074                depth_test "less_equal"
1075                depth_write 0
1076                use_vertex_bone_wgh 1
1077                use_vertex_bone_subscr 1
1078                use_vertex_point 1
1079                use_vertex_normal 1
1080                mesh_var "mesh"
1081                texchan_var_array "light_projtex" "light_shmap"
1082                tex_attr_var_array ""
1083                attrmat_var_array ""
1084                blend_col_src_fac "one"
1085                blend_col_dest_fac "inv_src_col"
1086                lightarray_var ""
1087                shaderprog_ident
1088                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
1089                    & "derprog_run"
1090                shaderprog_param_array
1091                {
1092                    src_var "light_intens"
1093                    dest_progvar "prog_light_intens"
1094                }
1095                {
1096                    src_var "light_projmat"
1097                    dest_progvar "prog_light_projmat"
1098                }
1099                {
1100                    src_var "light_shmapmat"
1101                    dest_progvar "prog_light_shmapmat"
1102                }
1103            }
1104        }
1105        {
1106            ident "eng_shader_std.paintmesh"
1107            param
1108            {
1109                env "shaderenv"
1110                methods "gen_brightclear_method"
1111                rank 12000
1112                cull_mode "back"
1113                depth_test "less_equal"
1114                depth_write 1
1115                mesh_var "mesh"
1116                texchan_var_array
1117                tex_attr_var_array
1118                attrmat_var_array
1119                fog_enabled 0
1120                blend_col_src_fac "one"
1121                blend_col_dest_fac "zero"
1122                color 0.0 0.0 0.0
1123                alpha 0.0
1124                use_vertex_bone_wgh 1
1125                use_vertex_bone_subscr 1
1126                use_vertex_point 1
1127                shaderprog_ident
1128                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
1129                shaderprog_param_array
1130            }
1131        }
1132        {
1133            ident "gtp_shader.createtex"
1134            param
1135            {
1136                env "shaderenv"
1137                methods "init_method"
1138                texchan_var "envmap0"
1139                width 128
1140                height 128
1141                texprop_rendertarget 1
1142                texprop_cube 1
1143                texprop_float 0
1144                texprop_comp 4
1145                texprop_bitspercomp 8
1146                samplermode_clamp 0
1147                samplermode_filter 1
1148            }
1149        }
1150        {
1151            ident "gtp_shader.envmap"
1152            param
1153            {
1154                env "shaderenv"
1155                methods "main_method"
1156                rank -9000
1157                max_ext 256
1158                max_recursion 1
1159                ext_dist_scale 20.0
1160                proj_neg_z 0.1
1161                proj_pos_z 100.0
1162                enum_trigger "mirror_trigger"
1163                destprop_antialias 0
1164                mesh_var "mesh"
1165                update_interval 2
1166                update_all_face 1
1167                start_frame 0
1168                last_center_var "lastCenter"
1169                world_space 1
1170                dest_array
1171                {
1172                    from_var "envmap0"
1173                    to_var "envmap0"
1174                    texprop_restrusage 0
1175                    texprop_depth 0
1176                    texprop_comp 3
1177                    texprop_float 0
1178                    samplermode_filter 0
1179                    samplermode_clamp 1
1180                }
1181            }
1182        }
1183        {
1184            ident "gtp_shader.createtex"
1185            param
1186            {
1187                env "shaderenv"
1188                methods "init_method"
1189                texchan_var "dist"
1190                width 128
1191                height 128
1192                texprop_rendertarget 1
1193                texprop_cube 1
1194                texprop_float 1
1195                texprop_comp 2
1196                texprop_bitspercomp 16
1197                samplermode_clamp 0
1198                samplermode_filter 0
1199            }
1200        }
1201        {
1202            ident "gtp_shader.envmap"
1203            param
1204            {
1205                env "shaderenv"
1206                methods "main_method"
1207                rank -9000
1208                max_ext 128
1209                max_recursion 1
1210                ext_dist_scale 20.0
1211                proj_neg_z 0.1
1212                proj_pos_z 100.0
1213                enum_trigger "gtp_distance_impostor_trigger"
1214                destprop_antialias 0
1215                mesh_var "mesh"
1216                update_interval 0
1217                update_all_face 1
1218                start_frame 0
1219                last_center_var ""
1220                world_space 1
1221                dest_array
1222                {
1223                    from_var "dist"
1224                    to_var "dist"
1225                    texprop_restrusage 0
1226                    texprop_depth 0
1227                    texprop_comp 1
1228                    texprop_float 1
1229                    samplermode_filter 0
1230                    samplermode_clamp 1
1231                }
1232            }
1233        }
1234        {
1235            ident "gtp_shader.createtex"
1236            param
1237            {
1238                env "shaderenv"
1239                methods "init_method"
1240                texchan_var "filteredenvmap"
1241                width 4
1242                height 4
1243                texprop_rendertarget 1
1244                texprop_cube 1
1245                texprop_float 0
1246                texprop_comp 4
1247                texprop_bitspercomp 8
1248                samplermode_clamp 0
1249                samplermode_filter 1
1250            }
1251        }
1252        {
1253            ident "gtp_shader.cubetexfilter"
1254            param
1255            {
1256                env "shaderenv"
1257                methods "main_method"
1258                rank -8000
1259                iter_start 0
1260                iter_end 0
1261                iter_step 0
1262                width_scale 1.0
1263                height_scale 1.0
1264                destprop_antialias 0
1265                passinfo_var ""
1266                src_array "envmap0"
1267                update_interval 0
1268                dest_array
1269                {
1270                    from_var "filteredenvmap"
1271                    to_var "filteredenvmap"
1272                    texprop_restrusage 0
1273                    texprop_depth 0
1274                    texprop_float 0
1275                    texprop_comp 4
1276                    texprop_bitspercomp 0
1277                    samplermode_filter 1
1278                    samplermode_clamp 1
1279                }
1280                shaderprog_ident
1281                    "levelutil/shader/prog/gtp_reduce_cubemap.s3d_shaderprog_r"
1282                    & "un"
1283                shaderprog_param_array
1284                {
1285                }
1286            }
1287        }
1288        {
1289            ident "gtp_shader.createtex"
1290            param
1291            {
1292                env "shaderenv"
1293                methods "init_method"
1294                texchan_var "filtereddist"
1295                width 4
1296                height 4
1297                texprop_rendertarget 1
1298                texprop_cube 1
1299                texprop_float 1
1300                texprop_comp 2
1301                texprop_bitspercomp 16
1302                samplermode_clamp 0
1303                samplermode_filter 0
1304            }
1305        }
1306        {
1307            ident "gtp_shader.cubetexfilter"
1308            param
1309            {
1310                env "shaderenv"
1311                methods "main_method"
1312                rank -8000
1313                iter_start 0
1314                iter_end 0
1315                iter_step 0
1316                width_scale 1.0
1317                height_scale 1.0
1318                destprop_antialias 0
1319                passinfo_var ""
1320                src_array "dist"
1321                update_interval 0
1322                dest_array
1323                {
1324                    from_var "filtereddist"
1325                    to_var "filtereddist"
1326                    texprop_restrusage 0
1327                    texprop_depth 0
1328                    texprop_float 0
1329                    texprop_comp 4
1330                    texprop_bitspercomp 0
1331                    samplermode_filter 1
1332                    samplermode_clamp 1
1333                }
1334                shaderprog_ident
1335                    "levelutil/shader/prog/gtp_reduce_cubemap.s3d_shaderprog_r"
1336                    & "un"
1337                shaderprog_param_array
1338                {
1339                }
1340            }
1341        }
1342        {
1343            ident "gtp_shader.worldmat"
1344            param
1345            {
1346                env "shaderenv"
1347                methods "main_method"
1348                worldmat_var "worldMat"
1349            }
1350        }
1351        {
1352            ident "gtp_shader.worldmat"
1353            param
1354            {
1355                env "shaderenv"
1356                methods "main_method"
1357                worldmat_var "worldMatIT"
1358                inverse 1
1359                transpose 1
1360            }
1361        }
1362        {
1363            ident "eng_shader_std.paintmesh"
1364            param
1365            {
1366                env "shaderenv"
1367                methods "main_method"
1368                rank 12000
1369                insp_ident "insp_shader_mesh"
1370                cull_mode "back"
1371                depth_test "less_equal"
1372                depth_write 0
1373                mesh_var "mesh"
1374                texchan_var_array "filteredenvmap" "filtereddist"
1375                tex_attr_var_array "attr0"
1376                attrmat_var_array ""
1377                use_vertex_bone_wgh 1
1378                use_vertex_bone_subscr 1
1379                use_vertex_point 1
1380                use_vertex_normal 1
1381                use_vertex_coloralpha 0
1382                shaderprog_ident
1383                    "levelutil/shader/prog/gtp_diffuse.s3d_shaderprog_run"
1384                shaderprog_param_array
1385                {
1386                    src_var "lastCenter"
1387                    dest_progvar "lastCenter"
1388                }
1389                {
1390                    src_var "worldMat"
1391                    dest_progvar "worldMat"
1392                }
1393                {
1394                    src_var "worldMatIT"
1395                    dest_progvar "worldMatIT"
1396                }
1397            }
1398        }
1399    }
1400}
1401{
1402    name "ordinary_caustic_receiver"
1403    ident "eng_shader_std.group"
1404    param
1405    {
1406        env "shaderenv"
1407        init_method "init_method"
1408        child_array
1409        {
1410            ident "eng_shader_std.modelmesh"
1411            param
1412            {
1413                env "shaderenv"
1414                methods "init_method"
1415                mesh_var "mesh"
1416                texchan_var_array "tex0" "normalmap"
1417                tex_attr_var_array "attr0"
1418                usage "render"
1419                tangentu_attr_var "tangentu"
1420                tangentv_attr_var "tangentv"
1421                insp_ident "showmesh"
1422                insp_rank 80000
1423                insp_color 1.0 1.0 0.0
1424            }
1425        }
1426        {
1427            ident "eng_shader_std.modelmesh"
1428            param
1429            {
1430                env "shaderenv"
1431                methods "init_method"
1432                usage "shvol_occl"
1433                mesh_var "mesh_shvol_occl"
1434                texchan_var_array
1435                tex_attr_var_array
1436                insp_ident "showocclmesh"
1437                insp_rank 80000
1438                insp_color 0.5 1.0 0.0
1439            }
1440        }
1441        {
1442            ident "eng_shader_std.meshenter"
1443            param
1444            {
1445                env "shaderenv"
1446                mesh_var_array "mesh"
1447                insp_ident "showbound"
1448                insp_rank 80000
1449                insp_color 1.0 0.0 0.0
1450                enter_array
1451                {
1452                    triggers "main_trigger" "mirror_trigger"
1453                    method "main_method"
1454                }
1455                {
1456                    triggers "gtp_distance_impostor_trigger"
1457                    method "gtp_distance_impostor_method"
1458                }
1459                {
1460                    triggers "caustic_recieve_trigger"
1461                    method "caustic_recieve_method"
1462                    param_array
1463                    {
1464                        src_extvar "lastCenter"
1465                        dest_var "cauCubeLastCenter"
1466                    }
1467                    {
1468                        src_extvar "cauCubeMap"
1469                        dest_var "cauCubeMap"
1470                    }
1471                }
1472                {
1473                    triggers "gen_shmap_trigger"
1474                    method "gen_shmap_method"
1475                }
1476                {
1477                    triggers "light_trigger"
1478                    method "light_method"
1479                    param_array
1480                    {
1481                        src_extvar "ext_light_cenrange"
1482                        dest_var "light_cenrange"
1483                    }
1484                    {
1485                        src_extvar "ext_light_ambient"
1486                        dest_var "light_ambient"
1487                    }
1488                    {
1489                        src_extvar "ext_light_diffuse"
1490                        dest_var "light_diffuse"
1491                    }
1492                    {
1493                        src_extvar "ext_light_specular"
1494                        dest_var "light_specular"
1495                    }
1496                }
1497                {
1498                    triggers "lightmild_trigger"
1499                    method "lightmild_method"
1500                    param_array
1501                    {
1502                        src_extvar "ext_light_cenrange"
1503                        dest_var "light_cenrange"
1504                    }
1505                    {
1506                        src_extvar "ext_light_ambient"
1507                        dest_var "light_ambient"
1508                    }
1509                    {
1510                        src_extvar "ext_light_diffuse"
1511                        dest_var "light_diffuse"
1512                    }
1513                    {
1514                        src_extvar "ext_light_specular"
1515                        dest_var "light_specular"
1516                    }
1517                }
1518                {
1519                    triggers "lightbright_trigger"
1520                    method "lightbright_method"
1521                    param_array
1522                    {
1523                        src_extvar "ext_light_cenrange"
1524                        dest_var "light_cenrange"
1525                    }
1526                    {
1527                        src_extvar "ext_light_ambient"
1528                        dest_var "light_ambient"
1529                    }
1530                    {
1531                        src_extvar "ext_light_diffuse"
1532                        dest_var "light_diffuse"
1533                    }
1534                    {
1535                        src_extvar "ext_light_specular"
1536                        dest_var "light_specular"
1537                    }
1538                    {
1539                        src_extvar "ext_light_brighttex"
1540                        dest_var "light_brighttex"
1541                    }
1542                    {
1543                        src_extvar "ext_light_brightmat"
1544                        dest_var "light_brightmat"
1545                    }
1546                }
1547                {
1548                    triggers "lightshmap_trigger"
1549                    method "lightshmap_method"
1550                    param_array
1551                    {
1552                        src_extvar "ext_light_cenrange"
1553                        dest_var "light_cenrange"
1554                    }
1555                    {
1556                        src_extvar "ext_light_ambient"
1557                        dest_var "light_ambient"
1558                    }
1559                    {
1560                        src_extvar "ext_light_diffuse"
1561                        dest_var "light_diffuse"
1562                    }
1563                    {
1564                        src_extvar "ext_light_specular"
1565                        dest_var "light_specular"
1566                    }
1567                    {
1568                        src_extvar "ext_light_projmat"
1569                        dest_var "light_projmat"
1570                    }
1571                    {
1572                        src_extvar "ext_light_shmapmat"
1573                        dest_var "light_shmapmat"
1574                    }
1575                    {
1576                        src_extvar "ext_light_projtex"
1577                        dest_var "light_projtex"
1578                    }
1579                    {
1580                        src_extvar "ext_light_shmap"
1581                        dest_var "light_shmap"
1582                    }
1583                }
1584                {
1585                    triggers "gen_brightmap_for_softshmap_trigger"
1586                    method "gen_brightmap_for_softshmap_method"
1587                    param_array
1588                    {
1589                        src_extvar "ext_light_intens"
1590                        dest_var "light_intens"
1591                    }
1592                    {
1593                        src_extvar "ext_light_projmat"
1594                        dest_var "light_projmat"
1595                    }
1596                    {
1597                        src_extvar "ext_light_shmapmat"
1598                        dest_var "light_shmapmat"
1599                    }
1600                    {
1601                        src_extvar "ext_light_projtex"
1602                        dest_var "light_projtex"
1603                    }
1604                    {
1605                        src_extvar "ext_light_shmap"
1606                        dest_var "light_shmap"
1607                    }
1608                }
1609                {
1610                    triggers "gen_brightclear_trigger"
1611                    method "gen_brightclear_method"
1612                }
1613            }
1614        }
1615        {
1616            ident "eng_shader_std.meshenter"
1617            param
1618            {
1619                env "shaderenv"
1620                mesh_var_array "mesh_shvol_occl"
1621                insp_ident "showbound"
1622                insp_rank 80000
1623                insp_color 1.0 0.0 0.0
1624                enter_array
1625                {
1626                    triggers "shvol_mark_trigger"
1627                    method "shvol_mark_method"
1628                    param_array
1629                    {
1630                        src_extvar "ext_light_cenrange"
1631                        dest_var "light_cenrange"
1632                    }
1633                    {
1634                        src_extvar "ext_light_shvolparam"
1635                        dest_var "light_shvolparam"
1636                    }
1637                }
1638            }
1639        }
1640        {
1641            ident "eng_shader_shvol.occluder"
1642            param
1643            {
1644                env "shaderenv"
1645                methods "shvol_mark_method"
1646                reverse_rank 90010
1647                nonreverse_rank 90000
1648                insp_ident "showocclwire"
1649                rel_gap 0.01
1650                backface 0
1651                mesh_var "mesh_shvol_occl"
1652                cenrange_var "light_cenrange"
1653                shvolparam_var "light_shvolparam"
1654                extrude_var "light_extrude"
1655                strict_shaderprog_ident
1656                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
1657                strict_shaderprog_param_array
1658                {
1659                    src_var "light_cenrange"
1660                    dest_progvar "prog_light_cenrange"
1661                }
1662                {
1663                    src_var "light_extrude"
1664                    dest_progvar "prog_light_extrude"
1665                }
1666                quick_shaderprog_ident
1667                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
1668                quick_shaderprog_param_array
1669                {
1670                    src_var "light_cenrange"
1671                    dest_progvar "prog_light_cenrange"
1672                }
1673                {
1674                    src_var "light_extrude"
1675                    dest_progvar "prog_light_extrude"
1676                }
1677            }
1678        }
1679        {
1680            ident "eng_shader_std.paintmesh"
1681            param
1682            {
1683                env "shaderenv"
1684                rank 99999
1685                cull_mode "back"
1686                depth_test "less_equal"
1687                depth_write 1
1688                methods "gen_shmap_method"
1689                mesh_var "mesh"
1690                texchan_var_array
1691                tex_attr_var_array
1692                attrmat_var_array ""
1693                use_vertex_bone_wgh 1
1694                use_vertex_bone_subscr 1
1695                use_vertex_point 1
1696                shaderprog_ident
1697                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
1698                shaderprog_param_array
1699            }
1700        }
1701        {
1702            ident "eng_shader_std.paintmesh"
1703            param
1704            {
1705                env "shaderenv"
1706                methods "main_method"
1707                rank 12000
1708                insp_ident "showwire"
1709                cull_mode "back"
1710                depth_test "less_equal"
1711                depth_write 1
1712                use_vertex_bone_wgh 1
1713                use_vertex_bone_subscr 1
1714                use_vertex_point 1
1715                use_vertex_normal 0
1716                color 0.0 0.0 0.0
1717                mesh_var "mesh"
1718                texchan_var_array
1719                tex_attr_var_array
1720                attrmat_var_array
1721                lightarray_var ""
1722                shaderprog_ident
1723                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
1724                shaderprog_param_array
1725            }
1726        }
1727        {
1728            ident "eng_shader_std.paintmesh"
1729            param
1730            {
1731                env "shaderenv"
1732                methods "light_method"
1733                rank 99999
1734                insp_ident "showwire"
1735                cull_mode "back"
1736                depth_test "less_equal"
1737                depth_write 1
1738                use_vertex_bone_wgh 1
1739                use_vertex_bone_subscr 1
1740                use_vertex_point 1
1741                use_vertex_normal 1
1742                mesh_var "mesh"
1743                texchan_var_array "tex0" "normalmap"
1744                tex_attr_var_array "attr0" "tangentu" "tangentv"
1745                attrmat_var_array ""
1746                blend_col_src_fac "one"
1747                blend_col_dest_fac "inv_src_col"
1748                lightarray_var ""
1749                shaderprog_ident
1750                    "levelutil/shader/prog/bump.s3d_shaderprog_run"
1751                shaderprog_param_array
1752                {
1753                    src_var "light_cenrange"
1754                    dest_progvar "prog_light_cenrange"
1755                }
1756                {
1757                    src_var "light_ambient"
1758                    dest_progvar "prog_light_ambient"
1759                }
1760                {
1761                    src_var "light_diffuse"
1762                    dest_progvar "prog_light_diffuse"
1763                }
1764                {
1765                    src_var "light_specular"
1766                    dest_progvar "prog_light_specular"
1767                }
1768            }
1769        }
1770        {
1771            ident "eng_shader_std.paintmesh"
1772            param
1773            {
1774                env "shaderenv"
1775                methods "lightmild_method"
1776                rank 99999
1777                insp_ident "showwire"
1778                cull_mode "back"
1779                depth_test "less_equal"
1780                depth_write 1
1781                use_vertex_bone_wgh 1
1782                use_vertex_bone_subscr 1
1783                use_vertex_point 1
1784                use_vertex_normal 1
1785                mesh_var "mesh"
1786                texchan_var_array "tex0" "normalmap"
1787                tex_attr_var_array "attr0" "tangentu" "tangentv"
1788                attrmat_var_array ""
1789                blend_col_src_fac "one"
1790                blend_col_dest_fac "inv_src_col"
1791                lightarray_var ""
1792                shaderprog_ident
1793                    "levelutil/shader/prog/bump_mild.s3d_shaderprog_run"
1794                shaderprog_param_array
1795                {
1796                    src_var "light_cenrange"
1797                    dest_progvar "prog_light_cenrange"
1798                }
1799                {
1800                    src_var "light_ambient"
1801                    dest_progvar "prog_light_ambient"
1802                }
1803                {
1804                    src_var "light_diffuse"
1805                    dest_progvar "prog_light_diffuse"
1806                }
1807                {
1808                    src_var "light_specular"
1809                    dest_progvar "prog_light_specular"
1810                }
1811            }
1812        }
1813        {
1814            ident "eng_shader_std.paintmesh"
1815            param
1816            {
1817                env "shaderenv"
1818                methods "lightbright_method"
1819                rank 12000
1820                insp_ident "showwire"
1821                cull_mode "back"
1822                depth_test "less_equal"
1823                depth_write 0
1824                mesh_var "mesh"
1825                texchan_var_array "tex0" "normalmap" "light_brighttex"
1826                tex_attr_var_array "attr0" "tangentu" "tangentv"
1827                attrmat_var_array "" "" ""
1828                blend_col_src_fac "one"
1829                blend_col_dest_fac "inv_src_col"
1830                use_vertex_bone_wgh 1
1831                use_vertex_bone_subscr 1
1832                use_vertex_point 1
1833                use_vertex_normal 1
1834                shaderprog_ident
1835                    "levelutil/shader/prog/bump_bright.s3d_shaderprog_run"
1836                shaderprog_param_array
1837                {
1838                    src_var "light_cenrange"
1839                    dest_progvar "prog_light_cenrange"
1840                }
1841                {
1842                    src_var "light_ambient"
1843                    dest_progvar "prog_light_ambient"
1844                }
1845                {
1846                    src_var "light_diffuse"
1847                    dest_progvar "prog_light_diffuse"
1848                }
1849                {
1850                    src_var "light_specular"
1851                    dest_progvar "prog_light_specular"
1852                }
1853                {
1854                    src_var "light_brightmat"
1855                    dest_progvar "prog_light_brightmat"
1856                }
1857            }
1858        }
1859        {
1860            ident "eng_shader_std.paintmesh"
1861            param
1862            {
1863                env "shaderenv"
1864                methods "lightshmap_method"
1865                rank 99999
1866                insp_ident "showwire"
1867                cull_mode "back"
1868                depth_test "less_equal"
1869                depth_write 0
1870                use_vertex_bone_wgh 1
1871                use_vertex_bone_subscr 1
1872                use_vertex_point 1
1873                use_vertex_normal 1
1874                mesh_var "mesh"
1875                texchan_var_array "tex0" "normalmap" "light_projtex"
1876                    "light_shmap"
1877                tex_attr_var_array "attr0" "tangentu" "tangentv"
1878                attrmat_var_array ""
1879                blend_col_src_fac "one"
1880                blend_col_dest_fac "inv_src_col"
1881                lightarray_var ""
1882                shaderprog_ident
1883                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
1884                shaderprog_param_array
1885                {
1886                    src_var "light_cenrange"
1887                    dest_progvar "prog_light_cenrange"
1888                }
1889                {
1890                    src_var "light_ambient"
1891                    dest_progvar "prog_light_ambient"
1892                }
1893                {
1894                    src_var "light_diffuse"
1895                    dest_progvar "prog_light_diffuse"
1896                }
1897                {
1898                    src_var "light_specular"
1899                    dest_progvar "prog_light_specular"
1900                }
1901                {
1902                    src_var "light_projmat"
1903                    dest_progvar "prog_light_projmat"
1904                }
1905                {
1906                    src_var "light_shmapmat"
1907                    dest_progvar "prog_light_shmapmat"
1908                }
1909            }
1910        }
1911        {
1912            ident "eng_shader_std.paintmesh"
1913            param
1914            {
1915                env "shaderenv"
1916                methods "gen_brightmap_for_softshmap_method"
1917                rank 99999
1918                cull_mode "back"
1919                depth_test "less_equal"
1920                depth_write 0
1921                use_vertex_bone_wgh 1
1922                use_vertex_bone_subscr 1
1923                use_vertex_point 1
1924                use_vertex_normal 1
1925                mesh_var "mesh"
1926                texchan_var_array "light_projtex" "light_shmap"
1927                tex_attr_var_array ""
1928                attrmat_var_array ""
1929                blend_col_src_fac "one"
1930                blend_col_dest_fac "inv_src_col"
1931                lightarray_var ""
1932                shaderprog_ident
1933                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
1934                    & "derprog_run"
1935                shaderprog_param_array
1936                {
1937                    src_var "light_intens"
1938                    dest_progvar "prog_light_intens"
1939                }
1940                {
1941                    src_var "light_projmat"
1942                    dest_progvar "prog_light_projmat"
1943                }
1944                {
1945                    src_var "light_shmapmat"
1946                    dest_progvar "prog_light_shmapmat"
1947                }
1948            }
1949        }
1950        {
1951            ident "eng_shader_std.paintmesh"
1952            param
1953            {
1954                env "shaderenv"
1955                methods "gen_brightclear_method"
1956                rank 12000
1957                cull_mode "back"
1958                depth_test "less_equal"
1959                depth_write 1
1960                mesh_var "mesh"
1961                texchan_var_array
1962                tex_attr_var_array
1963                attrmat_var_array
1964                fog_enabled 0
1965                blend_col_src_fac "one"
1966                blend_col_dest_fac "zero"
1967                color 0.0 0.0 0.0
1968                alpha 0.0
1969                use_vertex_bone_wgh 1
1970                use_vertex_bone_subscr 1
1971                use_vertex_point 1
1972                shaderprog_ident
1973                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
1974                shaderprog_param_array
1975            }
1976        }
1977        {
1978            ident "eng_shader_std.paintmesh"
1979            param
1980            {
1981                env "shaderenv"
1982                methods "gtp_distance_impostor_method"
1983                rank 12000
1984                insp_ident "insp_shader_mesh"
1985                cull_mode "back"
1986                depth_test "less_equal"
1987                depth_write 1
1988                mesh_var "mesh"
1989                texchan_var_array
1990                tex_attr_var_array "attr0"
1991                attrmat_var_array ""
1992                use_vertex_bone_wgh 1
1993                use_vertex_bone_subscr 1
1994                use_vertex_point 1
1995                color 1.0 1.0 1.0
1996                shaderprog_ident
1997                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
1998                    & "g_run"
1999                shaderprog_param_array
2000            }
2001        }
2002        {
2003            ident "gtp_shader.worldmat"
2004            param
2005            {
2006                env "shaderenv"
2007                methods "caustic_recieve_method"
2008                worldmat_var "worldMat"
2009            }
2010        }
2011        {
2012            ident "eng_shader_std.paintmesh"
2013            param
2014            {
2015                env "shaderenv"
2016                methods "caustic_recieve_method"
2017                rank 14000
2018                insp_ident "insp_shader_mesh"
2019                cull_mode "back"
2020                depth_test "less_equal"
2021                depth_write 1
2022                depth_bias_overlay 1
2023                depth_bias_offs 1
2024                mesh_var "mesh"
2025                texchan_var_array "cauCubeMap"
2026                tex_attr_var_array "attr0"
2027                attrmat_var_array ""
2028                use_vertex_bone_wgh 1
2029                use_vertex_bone_subscr 1
2030                use_vertex_point 1
2031                blend_col_dest_fac "one"
2032                blend_col_src_fac "one"
2033                blend_col_op "src_plus_dest"
2034                color 1.0 1.0 1.0
2035                shaderprog_ident
2036                    "levelutil/shader/prog/gtp_caustic_recieve.s3d_shaderprog_"
2037                    & "run"
2038                shaderprog_param_array
2039                {
2040                    src_var "cauCubeLastCenter"
2041                    dest_progvar "lastCenter"
2042                }
2043                {
2044                    src_var "worldMat"
2045                    dest_progvar "worldMat"
2046                }
2047            }
2048        }
2049    }
2050}
2051{
2052    name "ordinary_copper"
2053    ident "eng_shader_std.group"
2054    param
2055    {
2056        env "shaderenv"
2057        init_method "init_method"
2058        child_array
2059        {
2060            ident "eng_shader_std.modelmesh"
2061            param
2062            {
2063                env "shaderenv"
2064                methods "init_method"
2065                mesh_var "mesh"
2066                texchan_var_array "tex0" "normalmap"
2067                tex_attr_var_array "attr0"
2068                usage "render"
2069                tangentu_attr_var "tangentu"
2070                tangentv_attr_var "tangentv"
2071                insp_ident "showmesh"
2072                insp_rank 80000
2073                insp_color 1.0 1.0 0.0
2074            }
2075        }
2076        {
2077            ident "eng_shader_std.modelmesh"
2078            param
2079            {
2080                env "shaderenv"
2081                methods "init_method"
2082                usage "shvol_occl"
2083                mesh_var "mesh_shvol_occl"
2084                texchan_var_array
2085                tex_attr_var_array
2086                insp_ident "showocclmesh"
2087                insp_rank 80000
2088                insp_color 0.5 1.0 0.0
2089            }
2090        }
2091        {
2092            ident "eng_shader_std.meshenter"
2093            param
2094            {
2095                env "shaderenv"
2096                mesh_var_array "mesh"
2097                insp_ident "showbound"
2098                insp_rank 80000
2099                insp_color 1.0 0.0 0.0
2100                enter_array
2101                {
2102                    triggers "main_trigger" "mirror_trigger"
2103                    method "main_method"
2104                }
2105                {
2106                    triggers "gtp_distance_impostor_trigger"
2107                    method "gtp_distance_impostor_method"
2108                }
2109                {
2110                    triggers "gen_shmap_trigger"
2111                    method "gen_shmap_method"
2112                }
2113                {
2114                    triggers "light_trigger"
2115                    method "light_method"
2116                    param_array
2117                    {
2118                        src_extvar "ext_light_cenrange"
2119                        dest_var "light_cenrange"
2120                    }
2121                    {
2122                        src_extvar "ext_light_ambient"
2123                        dest_var "light_ambient"
2124                    }
2125                    {
2126                        src_extvar "ext_light_diffuse"
2127                        dest_var "light_diffuse"
2128                    }
2129                    {
2130                        src_extvar "ext_light_specular"
2131                        dest_var "light_specular"
2132                    }
2133                }
2134                {
2135                    triggers "lightmild_trigger"
2136                    method "lightmild_method"
2137                    param_array
2138                    {
2139                        src_extvar "ext_light_cenrange"
2140                        dest_var "light_cenrange"
2141                    }
2142                    {
2143                        src_extvar "ext_light_ambient"
2144                        dest_var "light_ambient"
2145                    }
2146                    {
2147                        src_extvar "ext_light_diffuse"
2148                        dest_var "light_diffuse"
2149                    }
2150                    {
2151                        src_extvar "ext_light_specular"
2152                        dest_var "light_specular"
2153                    }
2154                }
2155                {
2156                    triggers "lightbright_trigger"
2157                    method "lightbright_method"
2158                    param_array
2159                    {
2160                        src_extvar "ext_light_cenrange"
2161                        dest_var "light_cenrange"
2162                    }
2163                    {
2164                        src_extvar "ext_light_ambient"
2165                        dest_var "light_ambient"
2166                    }
2167                    {
2168                        src_extvar "ext_light_diffuse"
2169                        dest_var "light_diffuse"
2170                    }
2171                    {
2172                        src_extvar "ext_light_specular"
2173                        dest_var "light_specular"
2174                    }
2175                    {
2176                        src_extvar "ext_light_brighttex"
2177                        dest_var "light_brighttex"
2178                    }
2179                    {
2180                        src_extvar "ext_light_brightmat"
2181                        dest_var "light_brightmat"
2182                    }
2183                }
2184                {
2185                    triggers "lightshmap_trigger"
2186                    method "lightshmap_method"
2187                    param_array
2188                    {
2189                        src_extvar "ext_light_cenrange"
2190                        dest_var "light_cenrange"
2191                    }
2192                    {
2193                        src_extvar "ext_light_ambient"
2194                        dest_var "light_ambient"
2195                    }
2196                    {
2197                        src_extvar "ext_light_diffuse"
2198                        dest_var "light_diffuse"
2199                    }
2200                    {
2201                        src_extvar "ext_light_specular"
2202                        dest_var "light_specular"
2203                    }
2204                    {
2205                        src_extvar "ext_light_projmat"
2206                        dest_var "light_projmat"
2207                    }
2208                    {
2209                        src_extvar "ext_light_shmapmat"
2210                        dest_var "light_shmapmat"
2211                    }
2212                    {
2213                        src_extvar "ext_light_projtex"
2214                        dest_var "light_projtex"
2215                    }
2216                    {
2217                        src_extvar "ext_light_shmap"
2218                        dest_var "light_shmap"
2219                    }
2220                }
2221                {
2222                    triggers "gen_brightmap_for_softshmap_trigger"
2223                    method "gen_brightmap_for_softshmap_method"
2224                    param_array
2225                    {
2226                        src_extvar "ext_light_intens"
2227                        dest_var "light_intens"
2228                    }
2229                    {
2230                        src_extvar "ext_light_projmat"
2231                        dest_var "light_projmat"
2232                    }
2233                    {
2234                        src_extvar "ext_light_shmapmat"
2235                        dest_var "light_shmapmat"
2236                    }
2237                    {
2238                        src_extvar "ext_light_projtex"
2239                        dest_var "light_projtex"
2240                    }
2241                    {
2242                        src_extvar "ext_light_shmap"
2243                        dest_var "light_shmap"
2244                    }
2245                }
2246                {
2247                    triggers "gen_brightclear_trigger"
2248                    method "gen_brightclear_method"
2249                }
2250            }
2251        }
2252        {
2253            ident "eng_shader_std.meshenter"
2254            param
2255            {
2256                env "shaderenv"
2257                mesh_var_array "mesh_shvol_occl"
2258                insp_ident "showbound"
2259                insp_rank 80000
2260                insp_color 1.0 0.0 0.0
2261                enter_array
2262                {
2263                    triggers "shvol_mark_trigger"
2264                    method "shvol_mark_method"
2265                    param_array
2266                    {
2267                        src_extvar "ext_light_cenrange"
2268                        dest_var "light_cenrange"
2269                    }
2270                    {
2271                        src_extvar "ext_light_shvolparam"
2272                        dest_var "light_shvolparam"
2273                    }
2274                }
2275            }
2276        }
2277        {
2278            ident "eng_shader_shvol.occluder"
2279            param
2280            {
2281                env "shaderenv"
2282                methods "shvol_mark_method"
2283                reverse_rank 90010
2284                nonreverse_rank 90000
2285                insp_ident "showocclwire"
2286                rel_gap 0.01
2287                backface 0
2288                mesh_var "mesh_shvol_occl"
2289                cenrange_var "light_cenrange"
2290                shvolparam_var "light_shvolparam"
2291                extrude_var "light_extrude"
2292                strict_shaderprog_ident
2293                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
2294                strict_shaderprog_param_array
2295                {
2296                    src_var "light_cenrange"
2297                    dest_progvar "prog_light_cenrange"
2298                }
2299                {
2300                    src_var "light_extrude"
2301                    dest_progvar "prog_light_extrude"
2302                }
2303                quick_shaderprog_ident
2304                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
2305                quick_shaderprog_param_array
2306                {
2307                    src_var "light_cenrange"
2308                    dest_progvar "prog_light_cenrange"
2309                }
2310                {
2311                    src_var "light_extrude"
2312                    dest_progvar "prog_light_extrude"
2313                }
2314            }
2315        }
2316        {
2317            ident "eng_shader_std.paintmesh"
2318            param
2319            {
2320                env "shaderenv"
2321                rank 99999
2322                cull_mode "back"
2323                depth_test "less_equal"
2324                depth_write 1
2325                methods "gen_shmap_method"
2326                mesh_var "mesh"
2327                texchan_var_array
2328                tex_attr_var_array
2329                attrmat_var_array ""
2330                use_vertex_bone_wgh 1
2331                use_vertex_bone_subscr 1
2332                use_vertex_point 1
2333                shaderprog_ident
2334                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
2335                shaderprog_param_array
2336            }
2337        }
2338        {
2339            ident "eng_shader_std.paintmesh"
2340            param
2341            {
2342                env "shaderenv"
2343                methods "main_method"
2344                rank 12000
2345                insp_ident "showwire"
2346                cull_mode "back"
2347                depth_test "less_equal"
2348                depth_write 1
2349                use_vertex_bone_wgh 1
2350                use_vertex_bone_subscr 1
2351                use_vertex_point 1
2352                use_vertex_normal 0
2353                color 0.0 0.0 0.0
2354                mesh_var "mesh"
2355                texchan_var_array
2356                tex_attr_var_array
2357                attrmat_var_array
2358                lightarray_var ""
2359                shaderprog_ident
2360                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
2361                shaderprog_param_array
2362            }
2363        }
2364        {
2365            ident "eng_shader_std.paintmesh"
2366            param
2367            {
2368                env "shaderenv"
2369                methods "lightshmap_method"
2370                rank 99999
2371                insp_ident "showwire"
2372                cull_mode "back"
2373                depth_test "less_equal"
2374                depth_write 0
2375                use_vertex_bone_wgh 1
2376                use_vertex_bone_subscr 1
2377                use_vertex_point 1
2378                use_vertex_normal 1
2379                mesh_var "mesh"
2380                texchan_var_array "tex0" "normalmap" "light_projtex"
2381                    "light_shmap"
2382                tex_attr_var_array "attr0" "tangentu" "tangentv"
2383                attrmat_var_array ""
2384                blend_col_src_fac "one"
2385                blend_col_dest_fac "inv_src_col"
2386                lightarray_var ""
2387                shaderprog_ident
2388                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
2389                shaderprog_param_array
2390                {
2391                    src_var "light_cenrange"
2392                    dest_progvar "prog_light_cenrange"
2393                }
2394                {
2395                    src_var "light_ambient"
2396                    dest_progvar "prog_light_ambient"
2397                }
2398                {
2399                    src_var "light_diffuse"
2400                    dest_progvar "prog_light_diffuse"
2401                }
2402                {
2403                    src_var "light_specular"
2404                    dest_progvar "prog_light_specular"
2405                }
2406                {
2407                    src_var "light_projmat"
2408                    dest_progvar "prog_light_projmat"
2409                }
2410                {
2411                    src_var "light_shmapmat"
2412                    dest_progvar "prog_light_shmapmat"
2413                }
2414            }
2415        }
2416        {
2417            ident "eng_shader_std.paintmesh"
2418            param
2419            {
2420                env "shaderenv"
2421                methods "gen_brightmap_for_softshmap_method"
2422                rank 99999
2423                cull_mode "back"
2424                depth_test "less_equal"
2425                depth_write 0
2426                use_vertex_bone_wgh 1
2427                use_vertex_bone_subscr 1
2428                use_vertex_point 1
2429                use_vertex_normal 1
2430                mesh_var "mesh"
2431                texchan_var_array "light_projtex" "light_shmap"
2432                tex_attr_var_array ""
2433                attrmat_var_array ""
2434                blend_col_src_fac "one"
2435                blend_col_dest_fac "inv_src_col"
2436                lightarray_var ""
2437                shaderprog_ident
2438                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
2439                    & "derprog_run"
2440                shaderprog_param_array
2441                {
2442                    src_var "light_intens"
2443                    dest_progvar "prog_light_intens"
2444                }
2445                {
2446                    src_var "light_projmat"
2447                    dest_progvar "prog_light_projmat"
2448                }
2449                {
2450                    src_var "light_shmapmat"
2451                    dest_progvar "prog_light_shmapmat"
2452                }
2453            }
2454        }
2455        {
2456            ident "eng_shader_std.paintmesh"
2457            param
2458            {
2459                env "shaderenv"
2460                methods "gen_brightclear_method"
2461                rank 12000
2462                cull_mode "back"
2463                depth_test "less_equal"
2464                depth_write 1
2465                mesh_var "mesh"
2466                texchan_var_array
2467                tex_attr_var_array
2468                attrmat_var_array
2469                fog_enabled 0
2470                blend_col_src_fac "one"
2471                blend_col_dest_fac "zero"
2472                color 0.0 0.0 0.0
2473                alpha 0.0
2474                use_vertex_bone_wgh 1
2475                use_vertex_bone_subscr 1
2476                use_vertex_point 1
2477                shaderprog_ident
2478                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
2479                shaderprog_param_array
2480            }
2481        }
2482        {
2483            ident "gtp_shader.createtex"
2484            param
2485            {
2486                env "shaderenv"
2487                methods "init_method"
2488                texchan_var "envmap0"
2489                width 128
2490                height 128
2491                texprop_rendertarget 1
2492                texprop_cube 1
2493                texprop_float 0
2494                texprop_comp 4
2495                texprop_bitspercomp 8
2496                samplermode_clamp 0
2497                samplermode_filter 1
2498            }
2499        }
2500        {
2501            ident "gtp_shader.envmap"
2502            param
2503            {
2504                env "shaderenv"
2505                methods "main_method"
2506                rank -90000
2507                max_ext 256
2508                max_recursion 2
2509                ext_dist_scale 20.0
2510                proj_neg_z 0.1
2511                proj_pos_z 100.0
2512                enum_trigger "mirror_trigger"
2513                destprop_antialias 0
2514                mesh_var "mesh"
2515                update_interval 1
2516                update_all_face 0
2517                start_frame 1
2518                last_center_var "lastCenter"
2519                world_space 1
2520                dest_array
2521                {
2522                    from_var "envmap0"
2523                    to_var "envmap0"
2524                    texprop_restrusage 0
2525                    texprop_depth 0
2526                    texprop_comp 3
2527                    texprop_float 0
2528                    samplermode_filter 0
2529                    samplermode_clamp 1
2530                }
2531            }
2532        }
2533        {
2534            ident "gtp_shader.createtex"
2535            param
2536            {
2537                env "shaderenv"
2538                methods "init_method"
2539                texchan_var "dist"
2540                width 128
2541                height 128
2542                texprop_rendertarget 1
2543                texprop_cube 1
2544                texprop_float 1
2545                texprop_comp 2
2546                texprop_bitspercomp 16
2547                samplermode_clamp 0
2548                samplermode_filter 1
2549            }
2550        }
2551        {
2552            ident "gtp_shader.envmap"
2553            param
2554            {
2555                env "shaderenv"
2556                methods "main_method"
2557                rank -90000
2558                max_ext 128
2559                max_recursion 1
2560                ext_dist_scale 20.0
2561                proj_neg_z 0.1
2562                proj_pos_z 100.0
2563                enum_trigger "gtp_distance_impostor_trigger"
2564                destprop_antialias 0
2565                mesh_var "mesh"
2566                update_interval 1
2567                update_all_face 0
2568                start_frame 1
2569                last_center_var "lastCenter"
2570                world_space 1
2571                dest_array
2572                {
2573                    from_var "dist"
2574                    to_var "dist"
2575                    texprop_restrusage 0
2576                    texprop_depth 0
2577                    texprop_comp 1
2578                    texprop_float 1
2579                    samplermode_filter 0
2580                    samplermode_clamp 1
2581                }
2582            }
2583        }
2584        {
2585            ident "gtp_shader.worldmat"
2586            param
2587            {
2588                env "shaderenv"
2589                methods "main_method"
2590                worldmat_var "worldMat"
2591            }
2592        }
2593        {
2594            ident "gtp_shader.worldmat"
2595            param
2596            {
2597                env "shaderenv"
2598                methods "main_method"
2599                worldmat_var "worldMatIT"
2600                inverse 1
2601                transpose 1
2602            }
2603        }
2604        {
2605            ident "eng_shader_std.paintmesh"
2606            param
2607            {
2608                env "shaderenv"
2609                methods "main_method"
2610                rank 12000
2611                insp_ident "insp_shader_mesh"
2612                cull_mode "back"
2613                depth_test "less_equal"
2614                depth_write 0
2615                mesh_var "mesh"
2616                texchan_var_array "envmap0" "dist"
2617                tex_attr_var_array "attr0"
2618                attrmat_var_array ""
2619                use_vertex_bone_wgh 1
2620                use_vertex_bone_subscr 1
2621                use_vertex_point 1
2622                use_vertex_normal 1
2623                use_vertex_coloralpha 0
2624                shaderprog_ident
2625                    "levelutil/shader/prog/gtp_envmap.s3d_shaderprog_run"
2626                shaderprog_param_array
2627                {
2628                    src_var "lastCenter"
2629                    dest_progvar "lastCenter"
2630                }
2631                {
2632                    src_var "worldMat"
2633                    dest_progvar "worldMat"
2634                }
2635                {
2636                    src_var "worldMatIT"
2637                    dest_progvar "worldMatIT"
2638                }
2639            }
2640        }
2641        {
2642            ident "eng_shader_std.paintmesh"
2643            param
2644            {
2645                env "shaderenv"
2646                methods "gtp_distance_impostor_method"
2647                rank 12000
2648                insp_ident "insp_shader_mesh"
2649                cull_mode "back"
2650                depth_test "less_equal"
2651                depth_write 1
2652                mesh_var "mesh"
2653                texchan_var_array
2654                tex_attr_var_array "attr0"
2655                attrmat_var_array ""
2656                use_vertex_bone_wgh 1
2657                use_vertex_bone_subscr 1
2658                use_vertex_point 1
2659                color 1.0 1.0 1.0
2660                shaderprog_ident
2661                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
2662                    & "g_run"
2663                shaderprog_param_array
2664            }
2665        }
2666    }
2667}
2668{
2669    name "caustic_caster"
2670    ident "eng_shader_std.group"
2671    param
2672    {
2673        env "shaderenv"
2674        init_method "init_method"
2675        child_array
2676        {
2677            ident "eng_shader_std.modelmesh"
2678            param
2679            {
2680                env "shaderenv"
2681                methods "init_method"
2682                mesh_var "mesh"
2683                texchan_var_array
2684                tex_attr_var_array
2685                usage "render"
2686                tangentu_attr_var
2687                tangentv_attr_var
2688            }
2689        }
2690        {
2691            ident "eng_shader_std.meshenter"
2692            param
2693            {
2694                env "shaderenv"
2695                mesh_var_array "mesh"
2696                insp_ident "insp_shader_bound"
2697                insp_rank 80000
2698                insp_color 1.0 0.0 0.0
2699                enter_array
2700                {
2701                    triggers "main_trigger" "mirror_trigger"
2702                    method "main_method"
2703                }
2704                {
2705                    triggers "gtp_distance_impostor_trigger"
2706                    method "gtp_distance_impostor_method"
2707                }
2708                {
2709                    triggers "caustic_cast_trigger"
2710                    method "caustic_cast_method"
2711                    param_array
2712                    {
2713                        src_extvar "ext_light_cenrange"
2714                        dest_var "light_cenrange"
2715                    }
2716                    {
2717                        src_extvar "recievers"
2718                        dest_var "recievers"
2719                    }
2720                }
2721            }
2722        }
2723        {
2724            ident "eng_shader_std.constvec"
2725            param
2726            {
2727                env "shaderenv"
2728                methods "init_method"
2729                val_var "lastCenter"
2730                val 0.0 0.0 0.0 1.0
2731            }
2732        }
2733        {
2734            ident "gtp_shader.createtex"
2735            param
2736            {
2737                env "shaderenv"
2738                methods "init_method"
2739                texchan_var "envmap0"
2740                width 128
2741                height 128
2742                texprop_rendertarget 1
2743                texprop_cube 1
2744                texprop_float 0
2745                texprop_comp 4
2746                texprop_bitspercomp 8
2747                samplermode_clamp 0
2748                samplermode_filter 1
2749            }
2750        }
2751        {
2752            ident "gtp_shader.envmap"
2753            param
2754            {
2755                env "shaderenv"
2756                methods "main_method"
2757                rank -89500
2758                max_ext 256
2759                max_recursion 2
2760                ext_dist_scale 20.0
2761                proj_neg_z 0.1
2762                proj_pos_z 100.0
2763                enum_trigger "mirror_trigger"
2764                destprop_antialias 0
2765                mesh_var "mesh"
2766                update_interval 1
2767                update_all_face 1
2768                start_frame 0
2769                last_center_var "lastCenter"
2770                world_space 1
2771                dest_array
2772                {
2773                    from_var "envmap0"
2774                    to_var "envmap0"
2775                    texprop_restrusage 0
2776                    texprop_depth 0
2777                    texprop_comp 3
2778                    texprop_float 0
2779                    samplermode_filter 0
2780                    samplermode_clamp 1
2781                }
2782            }
2783        }
2784        {
2785            ident "gtp_shader.createtex"
2786            param
2787            {
2788                env "shaderenv"
2789                methods "init_method"
2790                texchan_var "dist"
2791                width 128
2792                height 128
2793                texprop_rendertarget 1
2794                texprop_cube 1
2795                texprop_float 1
2796                texprop_comp 2
2797                texprop_bitspercomp 16
2798                samplermode_clamp 0
2799                samplermode_filter 1
2800            }
2801        }
2802        {
2803            ident "gtp_shader.envmap"
2804            param
2805            {
2806                env "shaderenv"
2807                methods "main_method"
2808                rank -89500
2809                max_ext 128
2810                max_recursion 1
2811                ext_dist_scale 20.0
2812                proj_neg_z 0.1
2813                proj_pos_z 100.0
2814                enum_trigger "gtp_distance_impostor_trigger"
2815                destprop_antialias 0
2816                mesh_var "mesh"
2817                update_interval 1
2818                update_all_face 1
2819                start_frame 0
2820                last_center_var "lastCenter"
2821                world_space 1
2822                dest_array
2823                {
2824                    from_var "dist"
2825                    to_var "dist"
2826                    texprop_restrusage 0
2827                    texprop_depth 0
2828                    texprop_comp 1
2829                    texprop_float 1
2830                    samplermode_filter 0
2831                    samplermode_clamp 1
2832                }
2833            }
2834        }
2835        {
2836            ident "gtp_shader.worldmat"
2837            param
2838            {
2839                env "shaderenv"
2840                methods "main_method"
2841                worldmat_var "worldMat"
2842            }
2843        }
2844        {
2845            ident "gtp_shader.worldmat"
2846            param
2847            {
2848                env "shaderenv"
2849                methods "main_method"
2850                worldmat_var "worldMatIT"
2851                inverse 1
2852                transpose 1
2853            }
2854        }
2855        {
2856            ident "eng_shader_std.paintmesh"
2857            param
2858            {
2859                env "shaderenv"
2860                methods "main_method"
2861                rank 12000
2862                insp_ident "insp_shader_mesh"
2863                cull_mode "back"
2864                depth_test "less_equal"
2865                depth_write 1
2866                mesh_var "mesh"
2867                texchan_var_array "envmap0" "dist"
2868                tex_attr_var_array "attr0"
2869                attrmat_var_array ""
2870                use_vertex_bone_wgh 1
2871                use_vertex_bone_subscr 1
2872                use_vertex_point 1
2873                use_vertex_normal 1
2874                use_vertex_coloralpha 0
2875                shaderprog_ident
2876                    "levelutil/shader/prog/gtp_envmap.s3d_shaderprog_run"
2877                shaderprog_param_array
2878                {
2879                    src_var "lastCenter"
2880                    dest_progvar "lastCenter"
2881                }
2882                {
2883                    src_var "worldMat"
2884                    dest_progvar "worldMat"
2885                }
2886                {
2887                    src_var "worldMatIT"
2888                    dest_progvar "worldMatIT"
2889                }
2890            }
2891        }
2892        {
2893            ident "eng_shader_std.paintmesh"
2894            param
2895            {
2896                env "shaderenv"
2897                methods "gtp_distance_impostor_method"
2898                rank 12000
2899                insp_ident "insp_shader_mesh"
2900                cull_mode "back"
2901                depth_test "less_equal"
2902                depth_write 1
2903                mesh_var "mesh"
2904                texchan_var_array
2905                tex_attr_var_array "attr0"
2906                attrmat_var_array ""
2907                use_vertex_bone_wgh 1
2908                use_vertex_bone_subscr 1
2909                use_vertex_point 1
2910                color 1.0 1.0 1.0
2911                shaderprog_ident
2912                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
2913                    & "g_run"
2914                shaderprog_param_array
2915            }
2916        }
2917        {
2918            ident "gtp_shader.createtex"
2919            param
2920            {
2921                env "shaderenv"
2922                methods "init_method"
2923                texchan_var "cauCubeMap"
2924                texprop_cube 1
2925                width 128
2926                height 128
2927                texprop_rendertarget 1
2928                texprop_float 1
2929                texprop_comp 4
2930                texprop_bitspercomp 16
2931                samplermode_clamp 1
2932                samplermode_filter 1
2933            }
2934        }
2935        {
2936            ident "gtp_shader.createtex"
2937            param
2938            {
2939                env "shaderenv"
2940                methods "init_method"
2941                texchan_var "photonmap"
2942                width 32
2943                height 32
2944                texprop_rendertarget 1
2945                texprop_float 1
2946                texprop_comp 4
2947                texprop_bitspercomp 32
2948                samplermode_clamp 1
2949                samplermode_filter 0
2950            }
2951        }
2952        {
2953            ident "gtp_shader.focusedprojmat"
2954            param
2955            {
2956                env "shaderenv"
2957                methods "caustic_cast_method"
2958                mesh_var "mesh"
2959                destmat_var "lightViewProj"
2960                centerpoint_var "light_cenrange"
2961            }
2962        }
2963        {
2964            ident "gtp_shader.worldmat"
2965            param
2966            {
2967                env "shaderenv"
2968                methods "init_method"
2969                worldmat_var "viewToWorld"
2970                inverse 0
2971                transpose 0
2972            }
2973        }
2974        {
2975            ident "gtp_shader.worldmat"
2976            param
2977            {
2978                env "shaderenv"
2979                methods "init_method"
2980                worldmat_var "viewToWorldInv"
2981                inverse 1
2982                transpose 0
2983            }
2984        }
2985        {
2986            ident "eng_shader_std.totex"
2987            param
2988            {
2989                env "shaderenv"
2990                methods "caustic_cast_method"
2991                rank -7800
2992                new_method "photonmap_method"
2993                size_scale 1.0
2994                dest_array
2995                {
2996                    from_var "photonmap"
2997                    to_var "photonmap"
2998                    texprop_restrusage 0
2999                    texprop_depth 0
3000                    texprop_comp 4
3001                    texprop_float 1
3002                    samplermode_filter 0
3003                    samplermode_clamp 1
3004                }
3005            }
3006        }
3007        {
3008            ident "eng_shader_std.paintmesh"
3009            param
3010            {
3011                env "shaderenv"
3012                methods "photonmap_method"
3013                rank 1000
3014                insp_ident "insp_shader_mesh"
3015                cull_mode "front"
3016                depth_test "less"
3017                depth_write 1
3018                mesh_var "mesh"
3019                texchan_var_array "dist"
3020                tex_attr_var_array "attr0"
3021                attrmat_var_array ""
3022                use_vertex_bone_wgh 1
3023                use_vertex_bone_subscr 1
3024                use_vertex_normal 1
3025                use_vertex_point 1
3026                color 1.0 1.0 1.0
3027                shaderprog_ident
3028                    "levelutil/shader/prog/gtp_cau_photonmap.s3d_shaderprog_ru"
3029                    & "n"
3030                shaderprog_param_array
3031                {
3032                    src_var "lightViewProj"
3033                    dest_progvar "lightViewProj"
3034                }
3035                {
3036                    src_var "viewToWorld"
3037                    dest_progvar "viewToWorld"
3038                }
3039                {
3040                    src_var "viewToWorldInv"
3041                    dest_progvar "viewToWorldInv"
3042                }
3043                {
3044                    src_var "light_cenrange"
3045                    dest_progvar "lightPosView"
3046                }
3047                {
3048                    src_var "lastCenter"
3049                    dest_progvar "lastCenter"
3050                }
3051            }
3052        }
3053        {
3054            ident "gtp_shader.causticcube"
3055            param
3056            {
3057                env "shaderenv"
3058                methods "caustic_cast_method"
3059                rank -7700
3060                iter_start 0
3061                iter_end 0
3062                iter_step 0
3063                width_scale 1.0
3064                height_scale 1.0
3065                destprop_antialias 1
3066                passinfo_var ""
3067                src_array "photonmap"
3068                update_interval 1
3069                update_all_face 1
3070                start_frame 0
3071                photon_count 32
3072                use_points 1
3073                dest_array
3074                {
3075                    from_var "cauCubeMap"
3076                    to_var "cauCubeMap"
3077                    texprop_restrusage 0
3078                    texprop_depth 0
3079                    texprop_float 0
3080                    texprop_comp 4
3081                    texprop_bitspercomp 8
3082                    samplermode_filter 0
3083                    samplermode_clamp 1
3084                }
3085                shaderprog_ident
3086                    "levelutil/shader/prog/gtp_caustic_cubemap_point.s3d_shade"
3087                    & "rprog_run"
3088                shaderprog_param_array
3089            }
3090        }
3091        {
3092            ident "eng_shader_std.collexec"
3093            param
3094            {
3095                env "shaderenv"
3096                methods "main_method"
3097                coll_var "recievers"
3098                rank 13500
3099                exec_trigger "caustic_recieve_trigger"
3100                exec_param_array
3101                {
3102                    src_var "lastCenter"
3103                    dest_extvar "lastCenter"
3104                }
3105                {
3106                    src_var "cauCubeMap"
3107                    dest_extvar "cauCubeMap"
3108                }
3109            }
3110        }
3111    }
3112}
3113$
Note: See TracBrowser for help on using the repository browser.