source: GTP/trunk/App/Demos/Illum/Shark3D/version164x12u/CleanTheLab/bin/res/levelutil/shader/ordinary.s3d_shader_run @ 2508

Revision 2508, 139.8 KB checked in by szirmay, 17 years ago (diff)
Line 
1// Machine-made Shark 3D Snake Text 2x0 Stream. Format: ascii.
2shader_array
3{
4    name "ordinary_and_diffuse"
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            ident "gtp_shader.createtex"
593            param
594            {
595                env "shaderenv"
596                methods "init_method"
597                texchan_var "envmap0"
598                width 128
599                height 128
600                texprop_rendertarget 1
601                texprop_cube 1
602                texprop_float 0
603                texprop_comp 4
604                texprop_bitspercomp 8
605                samplermode_clamp 0
606                samplermode_filter 1
607            }
608        }
609        {
610            ident "gtp_shader.envmap"
611            param
612            {
613                env "shaderenv"
614                methods "main_method"
615                rank -9000
616                max_ext 256
617                max_recursion 1
618                ext_dist_scale 20.0
619                proj_neg_z 0.1
620                proj_pos_z 100.0
621                enum_trigger "mirror_trigger"
622                destprop_antialias 0
623                mesh_var "mesh"
624                update_interval 12
625                update_all_face 0
626                start_frame 0
627                last_center_var "lastCenter"
628                world_space 1
629                dest_array
630                {
631                    from_var "envmap0"
632                    to_var "envmap0"
633                    texprop_restrusage 0
634                    texprop_depth 0
635                    texprop_comp 3
636                    texprop_float 0
637                    samplermode_filter 0
638                    samplermode_clamp 1
639                }
640            }
641        }
642        {
643            ident "gtp_shader.createtex"
644            param
645            {
646                env "shaderenv"
647                methods "init_method"
648                texchan_var "dist"
649                width 128
650                height 128
651                texprop_rendertarget 1
652                texprop_cube 1
653                texprop_float 1
654                texprop_comp 2
655                texprop_bitspercomp 16
656                samplermode_clamp 0
657                samplermode_filter 0
658            }
659        }
660        {
661            ident "gtp_shader.envmap"
662            param
663            {
664                env "shaderenv"
665                methods "main_method"
666                rank -9000
667                max_ext 128
668                max_recursion 1
669                ext_dist_scale 20.0
670                proj_neg_z 0.1
671                proj_pos_z 100.0
672                enum_trigger "gtp_distance_impostor_trigger"
673                destprop_antialias 0
674                mesh_var "mesh"
675                update_interval 1
676                update_all_face 1
677                start_frame 0
678                last_center_var ""
679                world_space 1
680                dest_array
681                {
682                    from_var "dist"
683                    to_var "dist"
684                    texprop_restrusage 0
685                    texprop_depth 0
686                    texprop_comp 1
687                    texprop_float 1
688                    samplermode_filter 0
689                    samplermode_clamp 1
690                }
691            }
692        }
693        {
694            ident "gtp_shader.createtex"
695            param
696            {
697                env "shaderenv"
698                methods "init_method"
699                texchan_var "filteredenvmap"
700                width 4
701                height 4
702                texprop_rendertarget 1
703                texprop_cube 1
704                texprop_float 0
705                texprop_comp 4
706                texprop_bitspercomp 8
707                samplermode_clamp 0
708                samplermode_filter 1
709            }
710        }
711        {
712            ident "gtp_shader.cubetexfilter"
713            param
714            {
715                env "shaderenv"
716                methods "main_method"
717                rank -8000
718                iter_start 0
719                iter_end 0
720                iter_step 0
721                width_scale 1.0
722                height_scale 1.0
723                destprop_antialias 0
724                passinfo_var ""
725                src_array "envmap0"
726                update_interval 1
727                dest_array
728                {
729                    from_var "filteredenvmap"
730                    to_var "filteredenvmap"
731                    texprop_restrusage 0
732                    texprop_depth 0
733                    texprop_float 0
734                    texprop_comp 4
735                    texprop_bitspercomp 0
736                    samplermode_filter 1
737                    samplermode_clamp 1
738                }
739                shaderprog_ident
740                    "levelutil/shader/prog/gtp_reduce_cubemap.s3d_shaderprog_r"
741                    & "un"
742                shaderprog_param_array
743                {
744                }
745            }
746        }
747        {
748            ident "gtp_shader.worldmat"
749            param
750            {
751                env "shaderenv"
752                methods "main_method"
753                worldmat_var "worldMat"
754            }
755        }
756        {
757            ident "gtp_shader.worldmat"
758            param
759            {
760                env "shaderenv"
761                methods "main_method"
762                worldmat_var "worldMatIT"
763                inverse 1
764                transpose 1
765            }
766        }
767        {
768            ident "eng_shader_std.paintmesh"
769            param
770            {
771                env "shaderenv"
772                methods "main_method"
773                rank 12100
774                insp_ident "insp_shader_mesh"
775                cull_mode "back"
776                depth_test "less_equal"
777                depth_write 0
778                mesh_var "mesh"
779                texchan_var_array "filteredenvmap" "dist"
780                tex_attr_var_array "attr0"
781                attrmat_var_array ""
782                use_vertex_bone_wgh 1
783                use_vertex_bone_subscr 1
784                use_vertex_point 1
785                use_vertex_normal 1
786                use_vertex_coloralpha 0
787                blend_col_src_fac "one"
788                blend_col_dest_fac "one"
789                shaderprog_ident
790                    "levelutil/shader/prog/gtp_diffuse.s3d_shaderprog_run"
791                shaderprog_param_array
792                {
793                    src_var "lastCenter"
794                    dest_progvar "lastCenter"
795                }
796                {
797                    src_var "worldMat"
798                    dest_progvar "worldMat"
799                }
800                {
801                    src_var "worldMatIT"
802                    dest_progvar "worldMatIT"
803                }
804            }
805        }
806    }
807}
808{
809    name "ordinary"
810    ident "eng_shader_std.group"
811    param
812    {
813        env "shaderenv"
814        init_method "init_method"
815        child_array
816        {
817            ident "eng_shader_std.modelmesh"
818            param
819            {
820                env "shaderenv"
821                methods "init_method"
822                mesh_var "mesh"
823                texchan_var_array "tex0" "normalmap"
824                tex_attr_var_array "attr0"
825                usage "render"
826                tangentu_attr_var "tangentu"
827                tangentv_attr_var "tangentv"
828                insp_ident "showmesh"
829                insp_rank 80000
830                insp_color 1.0 1.0 0.0
831            }
832        }
833        {
834            ident "eng_shader_std.modelmesh"
835            param
836            {
837                env "shaderenv"
838                methods "init_method"
839                usage "shvol_occl"
840                mesh_var "mesh_shvol_occl"
841                texchan_var_array
842                tex_attr_var_array
843                insp_ident "showocclmesh"
844                insp_rank 80000
845                insp_color 0.5 1.0 0.0
846            }
847        }
848        {
849            ident "eng_shader_std.meshenter"
850            param
851            {
852                env "shaderenv"
853                mesh_var_array "mesh"
854                insp_ident "showbound"
855                insp_rank 80000
856                insp_color 1.0 0.0 0.0
857                enter_array
858                {
859                    triggers "main_trigger" "mirror_trigger"
860                    method "main_method"
861                }
862                {
863                    triggers "gtp_distance_impostor_trigger"
864                    method "gtp_distance_impostor_method"
865                }
866                {
867                    triggers "gen_shmap_trigger"
868                    method "gen_shmap_method"
869                }
870                {
871                    triggers "light_trigger"
872                    method "light_method"
873                    param_array
874                    {
875                        src_extvar "ext_light_cenrange"
876                        dest_var "light_cenrange"
877                    }
878                    {
879                        src_extvar "ext_light_ambient"
880                        dest_var "light_ambient"
881                    }
882                    {
883                        src_extvar "ext_light_diffuse"
884                        dest_var "light_diffuse"
885                    }
886                    {
887                        src_extvar "ext_light_specular"
888                        dest_var "light_specular"
889                    }
890                }
891                {
892                    triggers "lightmild_trigger"
893                    method "lightmild_method"
894                    param_array
895                    {
896                        src_extvar "ext_light_cenrange"
897                        dest_var "light_cenrange"
898                    }
899                    {
900                        src_extvar "ext_light_ambient"
901                        dest_var "light_ambient"
902                    }
903                    {
904                        src_extvar "ext_light_diffuse"
905                        dest_var "light_diffuse"
906                    }
907                    {
908                        src_extvar "ext_light_specular"
909                        dest_var "light_specular"
910                    }
911                }
912                {
913                    triggers "lightbright_trigger"
914                    method "lightbright_method"
915                    param_array
916                    {
917                        src_extvar "ext_light_cenrange"
918                        dest_var "light_cenrange"
919                    }
920                    {
921                        src_extvar "ext_light_ambient"
922                        dest_var "light_ambient"
923                    }
924                    {
925                        src_extvar "ext_light_diffuse"
926                        dest_var "light_diffuse"
927                    }
928                    {
929                        src_extvar "ext_light_specular"
930                        dest_var "light_specular"
931                    }
932                    {
933                        src_extvar "ext_light_brighttex"
934                        dest_var "light_brighttex"
935                    }
936                    {
937                        src_extvar "ext_light_brightmat"
938                        dest_var "light_brightmat"
939                    }
940                }
941                {
942                    triggers "lightshmap_trigger"
943                    method "lightshmap_method"
944                    param_array
945                    {
946                        src_extvar "ext_light_cenrange"
947                        dest_var "light_cenrange"
948                    }
949                    {
950                        src_extvar "ext_light_ambient"
951                        dest_var "light_ambient"
952                    }
953                    {
954                        src_extvar "ext_light_diffuse"
955                        dest_var "light_diffuse"
956                    }
957                    {
958                        src_extvar "ext_light_specular"
959                        dest_var "light_specular"
960                    }
961                    {
962                        src_extvar "ext_light_projmat"
963                        dest_var "light_projmat"
964                    }
965                    {
966                        src_extvar "ext_light_shmapmat"
967                        dest_var "light_shmapmat"
968                    }
969                    {
970                        src_extvar "ext_light_projtex"
971                        dest_var "light_projtex"
972                    }
973                    {
974                        src_extvar "ext_light_shmap"
975                        dest_var "light_shmap"
976                    }
977                }
978                {
979                    triggers "gen_brightmap_for_softshmap_trigger"
980                    method "gen_brightmap_for_softshmap_method"
981                    param_array
982                    {
983                        src_extvar "ext_light_intens"
984                        dest_var "light_intens"
985                    }
986                    {
987                        src_extvar "ext_light_projmat"
988                        dest_var "light_projmat"
989                    }
990                    {
991                        src_extvar "ext_light_shmapmat"
992                        dest_var "light_shmapmat"
993                    }
994                    {
995                        src_extvar "ext_light_projtex"
996                        dest_var "light_projtex"
997                    }
998                    {
999                        src_extvar "ext_light_shmap"
1000                        dest_var "light_shmap"
1001                    }
1002                }
1003                {
1004                    triggers "gen_brightclear_trigger"
1005                    method "gen_brightclear_method"
1006                }
1007            }
1008        }
1009        {
1010            ident "eng_shader_std.meshenter"
1011            param
1012            {
1013                env "shaderenv"
1014                mesh_var_array "mesh_shvol_occl"
1015                insp_ident "showbound"
1016                insp_rank 80000
1017                insp_color 1.0 0.0 0.0
1018                enter_array
1019                {
1020                    triggers "shvol_mark_trigger"
1021                    method "shvol_mark_method"
1022                    param_array
1023                    {
1024                        src_extvar "ext_light_cenrange"
1025                        dest_var "light_cenrange"
1026                    }
1027                    {
1028                        src_extvar "ext_light_shvolparam"
1029                        dest_var "light_shvolparam"
1030                    }
1031                }
1032            }
1033        }
1034        {
1035            ident "eng_shader_shvol.occluder"
1036            param
1037            {
1038                env "shaderenv"
1039                methods "shvol_mark_method"
1040                reverse_rank 90010
1041                nonreverse_rank 90000
1042                insp_ident "showocclwire"
1043                rel_gap 0.01
1044                backface 0
1045                mesh_var "mesh_shvol_occl"
1046                cenrange_var "light_cenrange"
1047                shvolparam_var "light_shvolparam"
1048                extrude_var "light_extrude"
1049                strict_shaderprog_ident
1050                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
1051                strict_shaderprog_param_array
1052                {
1053                    src_var "light_cenrange"
1054                    dest_progvar "prog_light_cenrange"
1055                }
1056                {
1057                    src_var "light_extrude"
1058                    dest_progvar "prog_light_extrude"
1059                }
1060                quick_shaderprog_ident
1061                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
1062                quick_shaderprog_param_array
1063                {
1064                    src_var "light_cenrange"
1065                    dest_progvar "prog_light_cenrange"
1066                }
1067                {
1068                    src_var "light_extrude"
1069                    dest_progvar "prog_light_extrude"
1070                }
1071            }
1072        }
1073        {
1074            ident "eng_shader_std.paintmesh"
1075            param
1076            {
1077                env "shaderenv"
1078                rank 99999
1079                cull_mode "back"
1080                depth_test "less_equal"
1081                depth_write 1
1082                methods "gen_shmap_method"
1083                mesh_var "mesh"
1084                texchan_var_array
1085                tex_attr_var_array
1086                attrmat_var_array ""
1087                use_vertex_bone_wgh 1
1088                use_vertex_bone_subscr 1
1089                use_vertex_point 1
1090                shaderprog_ident
1091                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
1092                shaderprog_param_array
1093            }
1094        }
1095        {
1096            ident "eng_shader_std.paintmesh"
1097            param
1098            {
1099                env "shaderenv"
1100                methods "main_method"
1101                rank 12000
1102                insp_ident "showwire"
1103                cull_mode "back"
1104                depth_test "less_equal"
1105                depth_write 1
1106                use_vertex_bone_wgh 1
1107                use_vertex_bone_subscr 1
1108                use_vertex_point 1
1109                use_vertex_normal 0
1110                color 0.0 0.0 0.0
1111                mesh_var "mesh"
1112                texchan_var_array
1113                tex_attr_var_array
1114                attrmat_var_array
1115                lightarray_var ""
1116                shaderprog_ident
1117                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
1118                shaderprog_param_array
1119            }
1120        }
1121        {
1122            ident "eng_shader_std.paintmesh"
1123            param
1124            {
1125                env "shaderenv"
1126                methods "light_method"
1127                rank 99999
1128                insp_ident "showwire"
1129                cull_mode "back"
1130                depth_test "less_equal"
1131                depth_write 1
1132                use_vertex_bone_wgh 1
1133                use_vertex_bone_subscr 1
1134                use_vertex_point 1
1135                use_vertex_normal 1
1136                mesh_var "mesh"
1137                texchan_var_array "tex0" "normalmap"
1138                tex_attr_var_array "attr0" "tangentu" "tangentv"
1139                attrmat_var_array ""
1140                blend_col_src_fac "one"
1141                blend_col_dest_fac "inv_src_col"
1142                lightarray_var ""
1143                shaderprog_ident
1144                    "levelutil/shader/prog/bump.s3d_shaderprog_run"
1145                shaderprog_param_array
1146                {
1147                    src_var "light_cenrange"
1148                    dest_progvar "prog_light_cenrange"
1149                }
1150                {
1151                    src_var "light_ambient"
1152                    dest_progvar "prog_light_ambient"
1153                }
1154                {
1155                    src_var "light_diffuse"
1156                    dest_progvar "prog_light_diffuse"
1157                }
1158                {
1159                    src_var "light_specular"
1160                    dest_progvar "prog_light_specular"
1161                }
1162            }
1163        }
1164        {
1165            ident "eng_shader_std.paintmesh"
1166            param
1167            {
1168                env "shaderenv"
1169                methods "lightmild_method"
1170                rank 99999
1171                insp_ident "showwire"
1172                cull_mode "back"
1173                depth_test "less_equal"
1174                depth_write 1
1175                use_vertex_bone_wgh 1
1176                use_vertex_bone_subscr 1
1177                use_vertex_point 1
1178                use_vertex_normal 1
1179                mesh_var "mesh"
1180                texchan_var_array "tex0" "normalmap"
1181                tex_attr_var_array "attr0" "tangentu" "tangentv"
1182                attrmat_var_array ""
1183                blend_col_src_fac "one"
1184                blend_col_dest_fac "inv_src_col"
1185                lightarray_var ""
1186                shaderprog_ident
1187                    "levelutil/shader/prog/bump_mild.s3d_shaderprog_run"
1188                shaderprog_param_array
1189                {
1190                    src_var "light_cenrange"
1191                    dest_progvar "prog_light_cenrange"
1192                }
1193                {
1194                    src_var "light_ambient"
1195                    dest_progvar "prog_light_ambient"
1196                }
1197                {
1198                    src_var "light_diffuse"
1199                    dest_progvar "prog_light_diffuse"
1200                }
1201                {
1202                    src_var "light_specular"
1203                    dest_progvar "prog_light_specular"
1204                }
1205            }
1206        }
1207        {
1208            ident "eng_shader_std.paintmesh"
1209            param
1210            {
1211                env "shaderenv"
1212                methods "lightbright_method"
1213                rank 12000
1214                insp_ident "showwire"
1215                cull_mode "back"
1216                depth_test "less_equal"
1217                depth_write 0
1218                mesh_var "mesh"
1219                texchan_var_array "tex0" "normalmap" "light_brighttex"
1220                tex_attr_var_array "attr0" "tangentu" "tangentv"
1221                attrmat_var_array "" "" ""
1222                blend_col_src_fac "one"
1223                blend_col_dest_fac "inv_src_col"
1224                use_vertex_bone_wgh 1
1225                use_vertex_bone_subscr 1
1226                use_vertex_point 1
1227                use_vertex_normal 1
1228                shaderprog_ident
1229                    "levelutil/shader/prog/bump_bright.s3d_shaderprog_run"
1230                shaderprog_param_array
1231                {
1232                    src_var "light_cenrange"
1233                    dest_progvar "prog_light_cenrange"
1234                }
1235                {
1236                    src_var "light_ambient"
1237                    dest_progvar "prog_light_ambient"
1238                }
1239                {
1240                    src_var "light_diffuse"
1241                    dest_progvar "prog_light_diffuse"
1242                }
1243                {
1244                    src_var "light_specular"
1245                    dest_progvar "prog_light_specular"
1246                }
1247                {
1248                    src_var "light_brightmat"
1249                    dest_progvar "prog_light_brightmat"
1250                }
1251            }
1252        }
1253        {
1254            ident "eng_shader_std.paintmesh"
1255            param
1256            {
1257                env "shaderenv"
1258                methods "lightshmap_method"
1259                rank 99999
1260                insp_ident "showwire"
1261                cull_mode "back"
1262                depth_test "less_equal"
1263                depth_write 0
1264                use_vertex_bone_wgh 1
1265                use_vertex_bone_subscr 1
1266                use_vertex_point 1
1267                use_vertex_normal 1
1268                mesh_var "mesh"
1269                texchan_var_array "tex0" "normalmap" "light_projtex"
1270                    "light_shmap"
1271                tex_attr_var_array "attr0" "tangentu" "tangentv"
1272                attrmat_var_array ""
1273                blend_col_src_fac "one"
1274                blend_col_dest_fac "inv_src_col"
1275                lightarray_var ""
1276                shaderprog_ident
1277                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
1278                shaderprog_param_array
1279                {
1280                    src_var "light_cenrange"
1281                    dest_progvar "prog_light_cenrange"
1282                }
1283                {
1284                    src_var "light_ambient"
1285                    dest_progvar "prog_light_ambient"
1286                }
1287                {
1288                    src_var "light_diffuse"
1289                    dest_progvar "prog_light_diffuse"
1290                }
1291                {
1292                    src_var "light_specular"
1293                    dest_progvar "prog_light_specular"
1294                }
1295                {
1296                    src_var "light_projmat"
1297                    dest_progvar "prog_light_projmat"
1298                }
1299                {
1300                    src_var "light_shmapmat"
1301                    dest_progvar "prog_light_shmapmat"
1302                }
1303            }
1304        }
1305        {
1306            ident "eng_shader_std.paintmesh"
1307            param
1308            {
1309                env "shaderenv"
1310                methods "gen_brightmap_for_softshmap_method"
1311                rank 99999
1312                cull_mode "back"
1313                depth_test "less_equal"
1314                depth_write 0
1315                use_vertex_bone_wgh 1
1316                use_vertex_bone_subscr 1
1317                use_vertex_point 1
1318                use_vertex_normal 1
1319                mesh_var "mesh"
1320                texchan_var_array "light_projtex" "light_shmap"
1321                tex_attr_var_array ""
1322                attrmat_var_array ""
1323                blend_col_src_fac "one"
1324                blend_col_dest_fac "inv_src_col"
1325                lightarray_var ""
1326                shaderprog_ident
1327                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
1328                    & "derprog_run"
1329                shaderprog_param_array
1330                {
1331                    src_var "light_intens"
1332                    dest_progvar "prog_light_intens"
1333                }
1334                {
1335                    src_var "light_projmat"
1336                    dest_progvar "prog_light_projmat"
1337                }
1338                {
1339                    src_var "light_shmapmat"
1340                    dest_progvar "prog_light_shmapmat"
1341                }
1342            }
1343        }
1344        {
1345            ident "eng_shader_std.paintmesh"
1346            param
1347            {
1348                env "shaderenv"
1349                methods "gen_brightclear_method"
1350                rank 12000
1351                cull_mode "back"
1352                depth_test "less_equal"
1353                depth_write 1
1354                mesh_var "mesh"
1355                texchan_var_array
1356                tex_attr_var_array
1357                attrmat_var_array
1358                fog_enabled 0
1359                blend_col_src_fac "one"
1360                blend_col_dest_fac "zero"
1361                color 0.0 0.0 0.0
1362                alpha 0.0
1363                use_vertex_bone_wgh 1
1364                use_vertex_bone_subscr 1
1365                use_vertex_point 1
1366                shaderprog_ident
1367                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
1368                shaderprog_param_array
1369            }
1370        }
1371        {
1372            ident "eng_shader_std.paintmesh"
1373            param
1374            {
1375                env "shaderenv"
1376                methods "gtp_distance_impostor_method"
1377                rank 12000
1378                insp_ident "insp_shader_mesh"
1379                cull_mode "back"
1380                depth_test "less_equal"
1381                depth_write 1
1382                mesh_var "mesh"
1383                texchan_var_array
1384                tex_attr_var_array "attr0"
1385                attrmat_var_array ""
1386                use_vertex_bone_wgh 1
1387                use_vertex_bone_subscr 1
1388                use_vertex_point 1
1389                color 1.0 1.0 1.0
1390                shaderprog_ident
1391                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
1392                    & "g_run"
1393                shaderprog_param_array
1394            }
1395        }
1396    }
1397}
1398{
1399    name "ordinary_diffuse"
1400    ident "eng_shader_std.group"
1401    param
1402    {
1403        env "shaderenv"
1404        init_method "init_method"
1405        child_array
1406        {
1407            ident "eng_shader_std.modelmesh"
1408            param
1409            {
1410                env "shaderenv"
1411                methods "init_method"
1412                mesh_var "mesh"
1413                texchan_var_array "tex0" "normalmap"
1414                tex_attr_var_array "attr0"
1415                usage "render"
1416                tangentu_attr_var "tangentu"
1417                tangentv_attr_var "tangentv"
1418            }
1419        }
1420        {
1421            ident "eng_shader_std.modelmesh"
1422            param
1423            {
1424                env "shaderenv"
1425                methods "init_method"
1426                usage "shvol_occl"
1427                mesh_var "mesh_shvol_occl"
1428                texchan_var_array
1429                tex_attr_var_array
1430            }
1431        }
1432        {
1433            ident "eng_shader_std.meshenter"
1434            param
1435            {
1436                env "shaderenv"
1437                mesh_var_array "mesh"
1438                insp_ident "insp_shader_bound"
1439                insp_rank 80000
1440                insp_color 1.0 0.0 0.0
1441                enter_array
1442                {
1443                    triggers "main_trigger" "mirror_trigger"
1444                    method "main_method"
1445                }
1446                {
1447                    triggers "gtp_distance_impostor_trigger"
1448                    method "gtp_distance_impostor_method"
1449                }
1450                {
1451                    triggers "gen_shmap_trigger"
1452                    method "gen_shmap_method"
1453                }
1454                {
1455                    triggers "light_trigger"
1456                    method "light_method"
1457                    param_array
1458                    {
1459                        src_extvar "ext_light_cenrange"
1460                        dest_var "light_cenrange"
1461                    }
1462                    {
1463                        src_extvar "ext_light_ambient"
1464                        dest_var "light_ambient"
1465                    }
1466                    {
1467                        src_extvar "ext_light_diffuse"
1468                        dest_var "light_diffuse"
1469                    }
1470                    {
1471                        src_extvar "ext_light_specular"
1472                        dest_var "light_specular"
1473                    }
1474                }
1475                {
1476                    triggers "lightmild_trigger"
1477                    method "lightmild_method"
1478                    param_array
1479                    {
1480                        src_extvar "ext_light_cenrange"
1481                        dest_var "light_cenrange"
1482                    }
1483                    {
1484                        src_extvar "ext_light_ambient"
1485                        dest_var "light_ambient"
1486                    }
1487                    {
1488                        src_extvar "ext_light_diffuse"
1489                        dest_var "light_diffuse"
1490                    }
1491                    {
1492                        src_extvar "ext_light_specular"
1493                        dest_var "light_specular"
1494                    }
1495                }
1496                {
1497                    triggers "lightbright_trigger"
1498                    method "lightbright_method"
1499                    param_array
1500                    {
1501                        src_extvar "ext_light_cenrange"
1502                        dest_var "light_cenrange"
1503                    }
1504                    {
1505                        src_extvar "ext_light_ambient"
1506                        dest_var "light_ambient"
1507                    }
1508                    {
1509                        src_extvar "ext_light_diffuse"
1510                        dest_var "light_diffuse"
1511                    }
1512                    {
1513                        src_extvar "ext_light_specular"
1514                        dest_var "light_specular"
1515                    }
1516                    {
1517                        src_extvar "ext_light_brighttex"
1518                        dest_var "light_brighttex"
1519                    }
1520                    {
1521                        src_extvar "ext_light_brightmat"
1522                        dest_var "light_brightmat"
1523                    }
1524                }
1525                {
1526                    triggers "lightshmap_trigger"
1527                    method "lightshmap_method"
1528                    param_array
1529                    {
1530                        src_extvar "ext_light_cenrange"
1531                        dest_var "light_cenrange"
1532                    }
1533                    {
1534                        src_extvar "ext_light_ambient"
1535                        dest_var "light_ambient"
1536                    }
1537                    {
1538                        src_extvar "ext_light_diffuse"
1539                        dest_var "light_diffuse"
1540                    }
1541                    {
1542                        src_extvar "ext_light_specular"
1543                        dest_var "light_specular"
1544                    }
1545                    {
1546                        src_extvar "ext_light_projmat"
1547                        dest_var "light_projmat"
1548                    }
1549                    {
1550                        src_extvar "ext_light_shmapmat"
1551                        dest_var "light_shmapmat"
1552                    }
1553                    {
1554                        src_extvar "ext_light_projtex"
1555                        dest_var "light_projtex"
1556                    }
1557                    {
1558                        src_extvar "ext_light_shmap"
1559                        dest_var "light_shmap"
1560                    }
1561                }
1562                {
1563                    triggers "gen_brightmap_for_softshmap_trigger"
1564                    method "gen_brightmap_for_softshmap_method"
1565                    param_array
1566                    {
1567                        src_extvar "ext_light_intens"
1568                        dest_var "light_intens"
1569                    }
1570                    {
1571                        src_extvar "ext_light_projmat"
1572                        dest_var "light_projmat"
1573                    }
1574                    {
1575                        src_extvar "ext_light_shmapmat"
1576                        dest_var "light_shmapmat"
1577                    }
1578                    {
1579                        src_extvar "ext_light_projtex"
1580                        dest_var "light_projtex"
1581                    }
1582                    {
1583                        src_extvar "ext_light_shmap"
1584                        dest_var "light_shmap"
1585                    }
1586                }
1587                {
1588                    triggers "gen_brightclear_trigger"
1589                    method "gen_brightclear_method"
1590                }
1591            }
1592        }
1593        {
1594            ident "eng_shader_std.meshenter"
1595            param
1596            {
1597                env "shaderenv"
1598                mesh_var_array "mesh_shvol_occl"
1599                insp_ident "insp_shader_bound"
1600                insp_rank 80000
1601                insp_color 1.0 0.0 0.0
1602                enter_array
1603                {
1604                    triggers "shvol_mark_trigger"
1605                    method "shvol_mark_method"
1606                    param_array
1607                    {
1608                        src_extvar "ext_light_cenrange"
1609                        dest_var "light_cenrange"
1610                    }
1611                    {
1612                        src_extvar "ext_light_shvolparam"
1613                        dest_var "light_shvolparam"
1614                    }
1615                }
1616            }
1617        }
1618        {
1619            ident "eng_shader_std.paintmesh"
1620            param
1621            {
1622                env "shaderenv"
1623                methods "main_method"
1624                rank 12000
1625                insp_ident "insp_shader_mesh"
1626                cull_mode "back"
1627                depth_test "less_equal"
1628                depth_write 1
1629                use_vertex_bone_wgh 1
1630                use_vertex_bone_subscr 1
1631                use_vertex_point 1
1632                use_vertex_normal 0
1633                color 0.0 0.0 0.0
1634                mesh_var "mesh"
1635                texchan_var_array
1636                tex_attr_var_array
1637                attrmat_var_array
1638                lightarray_var ""
1639                shaderprog_ident
1640                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
1641                shaderprog_param_array
1642            }
1643        }
1644        {
1645            ident "gtp_shader.createtex"
1646            param
1647            {
1648                env "shaderenv"
1649                methods "init_method"
1650                texchan_var "envmap0"
1651                width 128
1652                height 128
1653                texprop_rendertarget 1
1654                texprop_cube 1
1655                texprop_float 0
1656                texprop_comp 4
1657                texprop_bitspercomp 8
1658                samplermode_clamp 0
1659                samplermode_filter 1
1660            }
1661        }
1662        {
1663            ident "gtp_shader.envmap"
1664            param
1665            {
1666                env "shaderenv"
1667                methods "main_method"
1668                rank -9000
1669                max_ext 256
1670                max_recursion 1
1671                ext_dist_scale 20.0
1672                proj_neg_z 0.1
1673                proj_pos_z 100.0
1674                enum_trigger "mirror_trigger"
1675                destprop_antialias 0
1676                mesh_var "mesh"
1677                update_interval 12
1678                update_all_face 0
1679                start_frame 0
1680                last_center_var "lastCenter"
1681                world_space 1
1682                dest_array
1683                {
1684                    from_var "envmap0"
1685                    to_var "envmap0"
1686                    texprop_restrusage 0
1687                    texprop_depth 0
1688                    texprop_comp 3
1689                    texprop_float 0
1690                    samplermode_filter 0
1691                    samplermode_clamp 1
1692                }
1693            }
1694        }
1695        {
1696            ident "gtp_shader.createtex"
1697            param
1698            {
1699                env "shaderenv"
1700                methods "init_method"
1701                texchan_var "dist"
1702                width 128
1703                height 128
1704                texprop_rendertarget 1
1705                texprop_cube 1
1706                texprop_float 1
1707                texprop_comp 2
1708                texprop_bitspercomp 16
1709                samplermode_clamp 0
1710                samplermode_filter 0
1711            }
1712        }
1713        {
1714            ident "gtp_shader.envmap"
1715            param
1716            {
1717                env "shaderenv"
1718                methods "main_method"
1719                rank -9000
1720                max_ext 128
1721                max_recursion 1
1722                ext_dist_scale 20.0
1723                proj_neg_z 0.1
1724                proj_pos_z 100.0
1725                enum_trigger "gtp_distance_impostor_trigger"
1726                destprop_antialias 0
1727                mesh_var "mesh"
1728                update_interval 1
1729                update_all_face 1
1730                start_frame 0
1731                last_center_var ""
1732                world_space 1
1733                dest_array
1734                {
1735                    from_var "dist"
1736                    to_var "dist"
1737                    texprop_restrusage 0
1738                    texprop_depth 0
1739                    texprop_comp 1
1740                    texprop_float 1
1741                    samplermode_filter 0
1742                    samplermode_clamp 1
1743                }
1744            }
1745        }
1746        {
1747            ident "gtp_shader.createtex"
1748            param
1749            {
1750                env "shaderenv"
1751                methods "init_method"
1752                texchan_var "filteredenvmap"
1753                width 4
1754                height 4
1755                texprop_rendertarget 1
1756                texprop_cube 1
1757                texprop_float 0
1758                texprop_comp 4
1759                texprop_bitspercomp 8
1760                samplermode_clamp 0
1761                samplermode_filter 1
1762            }
1763        }
1764        {
1765            ident "gtp_shader.cubetexfilter"
1766            param
1767            {
1768                env "shaderenv"
1769                methods "main_method"
1770                rank -8000
1771                iter_start 0
1772                iter_end 0
1773                iter_step 0
1774                width_scale 1.0
1775                height_scale 1.0
1776                destprop_antialias 0
1777                passinfo_var ""
1778                src_array "envmap0"
1779                update_interval 1
1780                dest_array
1781                {
1782                    from_var "filteredenvmap"
1783                    to_var "filteredenvmap"
1784                    texprop_restrusage 0
1785                    texprop_depth 0
1786                    texprop_float 0
1787                    texprop_comp 4
1788                    texprop_bitspercomp 0
1789                    samplermode_filter 1
1790                    samplermode_clamp 1
1791                }
1792                shaderprog_ident
1793                    "levelutil/shader/prog/gtp_reduce_cubemap.s3d_shaderprog_r"
1794                    & "un"
1795                shaderprog_param_array
1796                {
1797                }
1798            }
1799        }
1800        {
1801            ident "gtp_shader.worldmat"
1802            param
1803            {
1804                env "shaderenv"
1805                methods "main_method"
1806                worldmat_var "worldMat"
1807            }
1808        }
1809        {
1810            ident "gtp_shader.worldmat"
1811            param
1812            {
1813                env "shaderenv"
1814                methods "main_method"
1815                worldmat_var "worldMatIT"
1816                inverse 1
1817                transpose 1
1818            }
1819        }
1820        {
1821            ident "eng_shader_std.paintmesh"
1822            param
1823            {
1824                env "shaderenv"
1825                methods "main_method"
1826                rank 12000
1827                insp_ident "insp_shader_mesh"
1828                cull_mode "back"
1829                depth_test "less_equal"
1830                depth_write 0
1831                mesh_var "mesh"
1832                texchan_var_array "filteredenvmap" "dist"
1833                tex_attr_var_array "attr0"
1834                attrmat_var_array ""
1835                use_vertex_bone_wgh 1
1836                use_vertex_bone_subscr 1
1837                use_vertex_point 1
1838                use_vertex_normal 1
1839                use_vertex_coloralpha 0
1840                blend_col_src_fac "one"
1841                blend_col_dest_fac "one"
1842                shaderprog_ident
1843                    "levelutil/shader/prog/gtp_diffuse.s3d_shaderprog_run"
1844                shaderprog_param_array
1845                {
1846                    src_var "lastCenter"
1847                    dest_progvar "lastCenter"
1848                }
1849                {
1850                    src_var "worldMat"
1851                    dest_progvar "worldMat"
1852                }
1853                {
1854                    src_var "worldMatIT"
1855                    dest_progvar "worldMatIT"
1856                }
1857            }
1858        }
1859    }
1860}
1861{
1862    name "ordinary_caustic_receiver"
1863    ident "eng_shader_std.group"
1864    param
1865    {
1866        env "shaderenv"
1867        init_method "init_method"
1868        child_array
1869        {
1870            ident "eng_shader_std.modelmesh"
1871            param
1872            {
1873                env "shaderenv"
1874                methods "init_method"
1875                mesh_var "mesh"
1876                texchan_var_array "tex0" "normalmap"
1877                tex_attr_var_array "attr0"
1878                usage "render"
1879                tangentu_attr_var "tangentu"
1880                tangentv_attr_var "tangentv"
1881                insp_ident "showmesh"
1882                insp_rank 80000
1883                insp_color 1.0 1.0 0.0
1884            }
1885        }
1886        {
1887            ident "eng_shader_std.modelmesh"
1888            param
1889            {
1890                env "shaderenv"
1891                methods "init_method"
1892                usage "shvol_occl"
1893                mesh_var "mesh_shvol_occl"
1894                texchan_var_array
1895                tex_attr_var_array
1896                insp_ident "showocclmesh"
1897                insp_rank 80000
1898                insp_color 0.5 1.0 0.0
1899            }
1900        }
1901        {
1902            ident "eng_shader_std.meshenter"
1903            param
1904            {
1905                env "shaderenv"
1906                mesh_var_array "mesh"
1907                insp_ident "showbound"
1908                insp_rank 80000
1909                insp_color 1.0 0.0 0.0
1910                enter_array
1911                {
1912                    triggers "main_trigger" "mirror_trigger"
1913                    method "main_method"
1914                }
1915                {
1916                    triggers "gtp_distance_impostor_trigger"
1917                    method "gtp_distance_impostor_method"
1918                }
1919                {
1920                    triggers "caustic_recieve_trigger"
1921                    method "caustic_recieve_method"
1922                    param_array
1923                    {
1924                        src_extvar "lastCenter"
1925                        dest_var "cauCubeLastCenter"
1926                    }
1927                    {
1928                        src_extvar "cauCubeMap"
1929                        dest_var "cauCubeMap"
1930                    }
1931                }
1932                {
1933                    triggers "gen_shmap_trigger"
1934                    method "gen_shmap_method"
1935                }
1936                {
1937                    triggers "light_trigger"
1938                    method "light_method"
1939                    param_array
1940                    {
1941                        src_extvar "ext_light_cenrange"
1942                        dest_var "light_cenrange"
1943                    }
1944                    {
1945                        src_extvar "ext_light_ambient"
1946                        dest_var "light_ambient"
1947                    }
1948                    {
1949                        src_extvar "ext_light_diffuse"
1950                        dest_var "light_diffuse"
1951                    }
1952                    {
1953                        src_extvar "ext_light_specular"
1954                        dest_var "light_specular"
1955                    }
1956                }
1957                {
1958                    triggers "lightmild_trigger"
1959                    method "lightmild_method"
1960                    param_array
1961                    {
1962                        src_extvar "ext_light_cenrange"
1963                        dest_var "light_cenrange"
1964                    }
1965                    {
1966                        src_extvar "ext_light_ambient"
1967                        dest_var "light_ambient"
1968                    }
1969                    {
1970                        src_extvar "ext_light_diffuse"
1971                        dest_var "light_diffuse"
1972                    }
1973                    {
1974                        src_extvar "ext_light_specular"
1975                        dest_var "light_specular"
1976                    }
1977                }
1978                {
1979                    triggers "lightbright_trigger"
1980                    method "lightbright_method"
1981                    param_array
1982                    {
1983                        src_extvar "ext_light_cenrange"
1984                        dest_var "light_cenrange"
1985                    }
1986                    {
1987                        src_extvar "ext_light_ambient"
1988                        dest_var "light_ambient"
1989                    }
1990                    {
1991                        src_extvar "ext_light_diffuse"
1992                        dest_var "light_diffuse"
1993                    }
1994                    {
1995                        src_extvar "ext_light_specular"
1996                        dest_var "light_specular"
1997                    }
1998                    {
1999                        src_extvar "ext_light_brighttex"
2000                        dest_var "light_brighttex"
2001                    }
2002                    {
2003                        src_extvar "ext_light_brightmat"
2004                        dest_var "light_brightmat"
2005                    }
2006                }
2007                {
2008                    triggers "lightshmap_trigger"
2009                    method "lightshmap_method"
2010                    param_array
2011                    {
2012                        src_extvar "ext_light_cenrange"
2013                        dest_var "light_cenrange"
2014                    }
2015                    {
2016                        src_extvar "ext_light_ambient"
2017                        dest_var "light_ambient"
2018                    }
2019                    {
2020                        src_extvar "ext_light_diffuse"
2021                        dest_var "light_diffuse"
2022                    }
2023                    {
2024                        src_extvar "ext_light_specular"
2025                        dest_var "light_specular"
2026                    }
2027                    {
2028                        src_extvar "ext_light_projmat"
2029                        dest_var "light_projmat"
2030                    }
2031                    {
2032                        src_extvar "ext_light_shmapmat"
2033                        dest_var "light_shmapmat"
2034                    }
2035                    {
2036                        src_extvar "ext_light_projtex"
2037                        dest_var "light_projtex"
2038                    }
2039                    {
2040                        src_extvar "ext_light_shmap"
2041                        dest_var "light_shmap"
2042                    }
2043                }
2044                {
2045                    triggers "gen_brightmap_for_softshmap_trigger"
2046                    method "gen_brightmap_for_softshmap_method"
2047                    param_array
2048                    {
2049                        src_extvar "ext_light_intens"
2050                        dest_var "light_intens"
2051                    }
2052                    {
2053                        src_extvar "ext_light_projmat"
2054                        dest_var "light_projmat"
2055                    }
2056                    {
2057                        src_extvar "ext_light_shmapmat"
2058                        dest_var "light_shmapmat"
2059                    }
2060                    {
2061                        src_extvar "ext_light_projtex"
2062                        dest_var "light_projtex"
2063                    }
2064                    {
2065                        src_extvar "ext_light_shmap"
2066                        dest_var "light_shmap"
2067                    }
2068                }
2069                {
2070                    triggers "gen_brightclear_trigger"
2071                    method "gen_brightclear_method"
2072                }
2073            }
2074        }
2075        {
2076            ident "eng_shader_std.meshenter"
2077            param
2078            {
2079                env "shaderenv"
2080                mesh_var_array "mesh_shvol_occl"
2081                insp_ident "showbound"
2082                insp_rank 80000
2083                insp_color 1.0 0.0 0.0
2084                enter_array
2085                {
2086                    triggers "shvol_mark_trigger"
2087                    method "shvol_mark_method"
2088                    param_array
2089                    {
2090                        src_extvar "ext_light_cenrange"
2091                        dest_var "light_cenrange"
2092                    }
2093                    {
2094                        src_extvar "ext_light_shvolparam"
2095                        dest_var "light_shvolparam"
2096                    }
2097                }
2098            }
2099        }
2100        {
2101            ident "eng_shader_shvol.occluder"
2102            param
2103            {
2104                env "shaderenv"
2105                methods "shvol_mark_method"
2106                reverse_rank 90010
2107                nonreverse_rank 90000
2108                insp_ident "showocclwire"
2109                rel_gap 0.01
2110                backface 0
2111                mesh_var "mesh_shvol_occl"
2112                cenrange_var "light_cenrange"
2113                shvolparam_var "light_shvolparam"
2114                extrude_var "light_extrude"
2115                strict_shaderprog_ident
2116                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
2117                strict_shaderprog_param_array
2118                {
2119                    src_var "light_cenrange"
2120                    dest_progvar "prog_light_cenrange"
2121                }
2122                {
2123                    src_var "light_extrude"
2124                    dest_progvar "prog_light_extrude"
2125                }
2126                quick_shaderprog_ident
2127                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
2128                quick_shaderprog_param_array
2129                {
2130                    src_var "light_cenrange"
2131                    dest_progvar "prog_light_cenrange"
2132                }
2133                {
2134                    src_var "light_extrude"
2135                    dest_progvar "prog_light_extrude"
2136                }
2137            }
2138        }
2139        {
2140            ident "eng_shader_std.paintmesh"
2141            param
2142            {
2143                env "shaderenv"
2144                rank 99999
2145                cull_mode "back"
2146                depth_test "less_equal"
2147                depth_write 1
2148                methods "gen_shmap_method"
2149                mesh_var "mesh"
2150                texchan_var_array
2151                tex_attr_var_array
2152                attrmat_var_array ""
2153                use_vertex_bone_wgh 1
2154                use_vertex_bone_subscr 1
2155                use_vertex_point 1
2156                shaderprog_ident
2157                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
2158                shaderprog_param_array
2159            }
2160        }
2161        {
2162            ident "eng_shader_std.paintmesh"
2163            param
2164            {
2165                env "shaderenv"
2166                methods "main_method"
2167                rank 12000
2168                insp_ident "showwire"
2169                cull_mode "back"
2170                depth_test "less_equal"
2171                depth_write 1
2172                use_vertex_bone_wgh 1
2173                use_vertex_bone_subscr 1
2174                use_vertex_point 1
2175                use_vertex_normal 0
2176                color 0.0 0.0 0.0
2177                mesh_var "mesh"
2178                texchan_var_array
2179                tex_attr_var_array
2180                attrmat_var_array
2181                lightarray_var ""
2182                shaderprog_ident
2183                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
2184                shaderprog_param_array
2185            }
2186        }
2187        {
2188            ident "eng_shader_std.paintmesh"
2189            param
2190            {
2191                env "shaderenv"
2192                methods "light_method"
2193                rank 99999
2194                insp_ident "showwire"
2195                cull_mode "back"
2196                depth_test "less_equal"
2197                depth_write 1
2198                use_vertex_bone_wgh 1
2199                use_vertex_bone_subscr 1
2200                use_vertex_point 1
2201                use_vertex_normal 1
2202                mesh_var "mesh"
2203                texchan_var_array "tex0" "normalmap"
2204                tex_attr_var_array "attr0" "tangentu" "tangentv"
2205                attrmat_var_array ""
2206                blend_col_src_fac "one"
2207                blend_col_dest_fac "inv_src_col"
2208                lightarray_var ""
2209                shaderprog_ident
2210                    "levelutil/shader/prog/bump.s3d_shaderprog_run"
2211                shaderprog_param_array
2212                {
2213                    src_var "light_cenrange"
2214                    dest_progvar "prog_light_cenrange"
2215                }
2216                {
2217                    src_var "light_ambient"
2218                    dest_progvar "prog_light_ambient"
2219                }
2220                {
2221                    src_var "light_diffuse"
2222                    dest_progvar "prog_light_diffuse"
2223                }
2224                {
2225                    src_var "light_specular"
2226                    dest_progvar "prog_light_specular"
2227                }
2228            }
2229        }
2230        {
2231            ident "eng_shader_std.paintmesh"
2232            param
2233            {
2234                env "shaderenv"
2235                methods "lightmild_method"
2236                rank 99999
2237                insp_ident "showwire"
2238                cull_mode "back"
2239                depth_test "less_equal"
2240                depth_write 1
2241                use_vertex_bone_wgh 1
2242                use_vertex_bone_subscr 1
2243                use_vertex_point 1
2244                use_vertex_normal 1
2245                mesh_var "mesh"
2246                texchan_var_array "tex0" "normalmap"
2247                tex_attr_var_array "attr0" "tangentu" "tangentv"
2248                attrmat_var_array ""
2249                blend_col_src_fac "one"
2250                blend_col_dest_fac "inv_src_col"
2251                lightarray_var ""
2252                shaderprog_ident
2253                    "levelutil/shader/prog/bump_mild.s3d_shaderprog_run"
2254                shaderprog_param_array
2255                {
2256                    src_var "light_cenrange"
2257                    dest_progvar "prog_light_cenrange"
2258                }
2259                {
2260                    src_var "light_ambient"
2261                    dest_progvar "prog_light_ambient"
2262                }
2263                {
2264                    src_var "light_diffuse"
2265                    dest_progvar "prog_light_diffuse"
2266                }
2267                {
2268                    src_var "light_specular"
2269                    dest_progvar "prog_light_specular"
2270                }
2271            }
2272        }
2273        {
2274            ident "eng_shader_std.paintmesh"
2275            param
2276            {
2277                env "shaderenv"
2278                methods "lightbright_method"
2279                rank 12000
2280                insp_ident "showwire"
2281                cull_mode "back"
2282                depth_test "less_equal"
2283                depth_write 0
2284                mesh_var "mesh"
2285                texchan_var_array "tex0" "normalmap" "light_brighttex"
2286                tex_attr_var_array "attr0" "tangentu" "tangentv"
2287                attrmat_var_array "" "" ""
2288                blend_col_src_fac "one"
2289                blend_col_dest_fac "inv_src_col"
2290                use_vertex_bone_wgh 1
2291                use_vertex_bone_subscr 1
2292                use_vertex_point 1
2293                use_vertex_normal 1
2294                shaderprog_ident
2295                    "levelutil/shader/prog/bump_bright.s3d_shaderprog_run"
2296                shaderprog_param_array
2297                {
2298                    src_var "light_cenrange"
2299                    dest_progvar "prog_light_cenrange"
2300                }
2301                {
2302                    src_var "light_ambient"
2303                    dest_progvar "prog_light_ambient"
2304                }
2305                {
2306                    src_var "light_diffuse"
2307                    dest_progvar "prog_light_diffuse"
2308                }
2309                {
2310                    src_var "light_specular"
2311                    dest_progvar "prog_light_specular"
2312                }
2313                {
2314                    src_var "light_brightmat"
2315                    dest_progvar "prog_light_brightmat"
2316                }
2317            }
2318        }
2319        {
2320            ident "eng_shader_std.paintmesh"
2321            param
2322            {
2323                env "shaderenv"
2324                methods "lightshmap_method"
2325                rank 99999
2326                insp_ident "showwire"
2327                cull_mode "back"
2328                depth_test "less_equal"
2329                depth_write 0
2330                use_vertex_bone_wgh 1
2331                use_vertex_bone_subscr 1
2332                use_vertex_point 1
2333                use_vertex_normal 1
2334                mesh_var "mesh"
2335                texchan_var_array "tex0" "normalmap" "light_projtex"
2336                    "light_shmap"
2337                tex_attr_var_array "attr0" "tangentu" "tangentv"
2338                attrmat_var_array ""
2339                blend_col_src_fac "one"
2340                blend_col_dest_fac "inv_src_col"
2341                lightarray_var ""
2342                shaderprog_ident
2343                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
2344                shaderprog_param_array
2345                {
2346                    src_var "light_cenrange"
2347                    dest_progvar "prog_light_cenrange"
2348                }
2349                {
2350                    src_var "light_ambient"
2351                    dest_progvar "prog_light_ambient"
2352                }
2353                {
2354                    src_var "light_diffuse"
2355                    dest_progvar "prog_light_diffuse"
2356                }
2357                {
2358                    src_var "light_specular"
2359                    dest_progvar "prog_light_specular"
2360                }
2361                {
2362                    src_var "light_projmat"
2363                    dest_progvar "prog_light_projmat"
2364                }
2365                {
2366                    src_var "light_shmapmat"
2367                    dest_progvar "prog_light_shmapmat"
2368                }
2369            }
2370        }
2371        {
2372            ident "eng_shader_std.paintmesh"
2373            param
2374            {
2375                env "shaderenv"
2376                methods "gen_brightmap_for_softshmap_method"
2377                rank 99999
2378                cull_mode "back"
2379                depth_test "less_equal"
2380                depth_write 0
2381                use_vertex_bone_wgh 1
2382                use_vertex_bone_subscr 1
2383                use_vertex_point 1
2384                use_vertex_normal 1
2385                mesh_var "mesh"
2386                texchan_var_array "light_projtex" "light_shmap"
2387                tex_attr_var_array ""
2388                attrmat_var_array ""
2389                blend_col_src_fac "one"
2390                blend_col_dest_fac "inv_src_col"
2391                lightarray_var ""
2392                shaderprog_ident
2393                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
2394                    & "derprog_run"
2395                shaderprog_param_array
2396                {
2397                    src_var "light_intens"
2398                    dest_progvar "prog_light_intens"
2399                }
2400                {
2401                    src_var "light_projmat"
2402                    dest_progvar "prog_light_projmat"
2403                }
2404                {
2405                    src_var "light_shmapmat"
2406                    dest_progvar "prog_light_shmapmat"
2407                }
2408            }
2409        }
2410        {
2411            ident "eng_shader_std.paintmesh"
2412            param
2413            {
2414                env "shaderenv"
2415                methods "gen_brightclear_method"
2416                rank 12000
2417                cull_mode "back"
2418                depth_test "less_equal"
2419                depth_write 1
2420                mesh_var "mesh"
2421                texchan_var_array
2422                tex_attr_var_array
2423                attrmat_var_array
2424                fog_enabled 0
2425                blend_col_src_fac "one"
2426                blend_col_dest_fac "zero"
2427                color 0.0 0.0 0.0
2428                alpha 0.0
2429                use_vertex_bone_wgh 1
2430                use_vertex_bone_subscr 1
2431                use_vertex_point 1
2432                shaderprog_ident
2433                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
2434                shaderprog_param_array
2435            }
2436        }
2437        {
2438            ident "eng_shader_std.paintmesh"
2439            param
2440            {
2441                env "shaderenv"
2442                methods "gtp_distance_impostor_method"
2443                rank 12000
2444                insp_ident "insp_shader_mesh"
2445                cull_mode "back"
2446                depth_test "less_equal"
2447                depth_write 1
2448                mesh_var "mesh"
2449                texchan_var_array
2450                tex_attr_var_array "attr0"
2451                attrmat_var_array ""
2452                use_vertex_bone_wgh 1
2453                use_vertex_bone_subscr 1
2454                use_vertex_point 1
2455                color 1.0 1.0 1.0
2456                shaderprog_ident
2457                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
2458                    & "g_run"
2459                shaderprog_param_array
2460            }
2461        }
2462        {
2463            ident "gtp_shader.worldmat"
2464            param
2465            {
2466                env "shaderenv"
2467                methods "caustic_recieve_method"
2468                worldmat_var "worldMat"
2469            }
2470        }
2471        {
2472            ident "eng_shader_std.paintmesh"
2473            param
2474            {
2475                env "shaderenv"
2476                methods "caustic_recieve_method"
2477                rank 14000
2478                insp_ident "insp_shader_mesh"
2479                cull_mode "back"
2480                depth_test "less_equal"
2481                depth_write 1
2482                depth_bias_overlay 1
2483                depth_bias_offs 1
2484                mesh_var "mesh"
2485                texchan_var_array "cauCubeMap"
2486                tex_attr_var_array "attr0"
2487                attrmat_var_array ""
2488                use_vertex_bone_wgh 1
2489                use_vertex_bone_subscr 1
2490                use_vertex_point 1
2491                blend_col_dest_fac "one"
2492                blend_col_src_fac "one"
2493                blend_col_op "src_plus_dest"
2494                color 1.0 1.0 1.0
2495                shaderprog_ident
2496                    "levelutil/shader/prog/gtp_caustic_recieve.s3d_shaderprog_"
2497                    & "run"
2498                shaderprog_param_array
2499                {
2500                    src_var "cauCubeLastCenter"
2501                    dest_progvar "lastCenter"
2502                }
2503                {
2504                    src_var "worldMat"
2505                    dest_progvar "worldMat"
2506                }
2507            }
2508        }
2509    }
2510}
2511{
2512    name "ordinary_copper"
2513    ident "eng_shader_std.group"
2514    param
2515    {
2516        env "shaderenv"
2517        init_method "init_method"
2518        child_array
2519        {
2520            ident "eng_shader_std.modelmesh"
2521            param
2522            {
2523                env "shaderenv"
2524                methods "init_method"
2525                mesh_var "mesh"
2526                texchan_var_array "tex0" "normalmap"
2527                tex_attr_var_array "attr0"
2528                usage "render"
2529                tangentu_attr_var "tangentu"
2530                tangentv_attr_var "tangentv"
2531                insp_ident "showmesh"
2532                insp_rank 80000
2533                insp_color 1.0 1.0 0.0
2534            }
2535        }
2536        {
2537            ident "eng_shader_std.modelmesh"
2538            param
2539            {
2540                env "shaderenv"
2541                methods "init_method"
2542                usage "shvol_occl"
2543                mesh_var "mesh_shvol_occl"
2544                texchan_var_array
2545                tex_attr_var_array
2546                insp_ident "showocclmesh"
2547                insp_rank 80000
2548                insp_color 0.5 1.0 0.0
2549            }
2550        }
2551        {
2552            ident "eng_shader_std.meshenter"
2553            param
2554            {
2555                env "shaderenv"
2556                mesh_var_array "mesh"
2557                insp_ident "showbound"
2558                insp_rank 80000
2559                insp_color 1.0 0.0 0.0
2560                enter_array
2561                {
2562                    triggers "main_trigger" "mirror_trigger"
2563                    method "main_method"
2564                }
2565                {
2566                    triggers "gtp_distance_impostor_trigger"
2567                    method "gtp_distance_impostor_method"
2568                }
2569                {
2570                    triggers "gen_shmap_trigger"
2571                    method "gen_shmap_method"
2572                }
2573                {
2574                    triggers "light_trigger"
2575                    method "light_method"
2576                    param_array
2577                    {
2578                        src_extvar "ext_light_cenrange"
2579                        dest_var "light_cenrange"
2580                    }
2581                    {
2582                        src_extvar "ext_light_ambient"
2583                        dest_var "light_ambient"
2584                    }
2585                    {
2586                        src_extvar "ext_light_diffuse"
2587                        dest_var "light_diffuse"
2588                    }
2589                    {
2590                        src_extvar "ext_light_specular"
2591                        dest_var "light_specular"
2592                    }
2593                }
2594                {
2595                    triggers "lightmild_trigger"
2596                    method "lightmild_method"
2597                    param_array
2598                    {
2599                        src_extvar "ext_light_cenrange"
2600                        dest_var "light_cenrange"
2601                    }
2602                    {
2603                        src_extvar "ext_light_ambient"
2604                        dest_var "light_ambient"
2605                    }
2606                    {
2607                        src_extvar "ext_light_diffuse"
2608                        dest_var "light_diffuse"
2609                    }
2610                    {
2611                        src_extvar "ext_light_specular"
2612                        dest_var "light_specular"
2613                    }
2614                }
2615                {
2616                    triggers "lightbright_trigger"
2617                    method "lightbright_method"
2618                    param_array
2619                    {
2620                        src_extvar "ext_light_cenrange"
2621                        dest_var "light_cenrange"
2622                    }
2623                    {
2624                        src_extvar "ext_light_ambient"
2625                        dest_var "light_ambient"
2626                    }
2627                    {
2628                        src_extvar "ext_light_diffuse"
2629                        dest_var "light_diffuse"
2630                    }
2631                    {
2632                        src_extvar "ext_light_specular"
2633                        dest_var "light_specular"
2634                    }
2635                    {
2636                        src_extvar "ext_light_brighttex"
2637                        dest_var "light_brighttex"
2638                    }
2639                    {
2640                        src_extvar "ext_light_brightmat"
2641                        dest_var "light_brightmat"
2642                    }
2643                }
2644                {
2645                    triggers "lightshmap_trigger"
2646                    method "lightshmap_method"
2647                    param_array
2648                    {
2649                        src_extvar "ext_light_cenrange"
2650                        dest_var "light_cenrange"
2651                    }
2652                    {
2653                        src_extvar "ext_light_ambient"
2654                        dest_var "light_ambient"
2655                    }
2656                    {
2657                        src_extvar "ext_light_diffuse"
2658                        dest_var "light_diffuse"
2659                    }
2660                    {
2661                        src_extvar "ext_light_specular"
2662                        dest_var "light_specular"
2663                    }
2664                    {
2665                        src_extvar "ext_light_projmat"
2666                        dest_var "light_projmat"
2667                    }
2668                    {
2669                        src_extvar "ext_light_shmapmat"
2670                        dest_var "light_shmapmat"
2671                    }
2672                    {
2673                        src_extvar "ext_light_projtex"
2674                        dest_var "light_projtex"
2675                    }
2676                    {
2677                        src_extvar "ext_light_shmap"
2678                        dest_var "light_shmap"
2679                    }
2680                }
2681                {
2682                    triggers "gen_brightmap_for_softshmap_trigger"
2683                    method "gen_brightmap_for_softshmap_method"
2684                    param_array
2685                    {
2686                        src_extvar "ext_light_intens"
2687                        dest_var "light_intens"
2688                    }
2689                    {
2690                        src_extvar "ext_light_projmat"
2691                        dest_var "light_projmat"
2692                    }
2693                    {
2694                        src_extvar "ext_light_shmapmat"
2695                        dest_var "light_shmapmat"
2696                    }
2697                    {
2698                        src_extvar "ext_light_projtex"
2699                        dest_var "light_projtex"
2700                    }
2701                    {
2702                        src_extvar "ext_light_shmap"
2703                        dest_var "light_shmap"
2704                    }
2705                }
2706                {
2707                    triggers "gen_brightclear_trigger"
2708                    method "gen_brightclear_method"
2709                }
2710            }
2711        }
2712        {
2713            ident "eng_shader_std.meshenter"
2714            param
2715            {
2716                env "shaderenv"
2717                mesh_var_array "mesh_shvol_occl"
2718                insp_ident "showbound"
2719                insp_rank 80000
2720                insp_color 1.0 0.0 0.0
2721                enter_array
2722                {
2723                    triggers "shvol_mark_trigger"
2724                    method "shvol_mark_method"
2725                    param_array
2726                    {
2727                        src_extvar "ext_light_cenrange"
2728                        dest_var "light_cenrange"
2729                    }
2730                    {
2731                        src_extvar "ext_light_shvolparam"
2732                        dest_var "light_shvolparam"
2733                    }
2734                }
2735            }
2736        }
2737        {
2738            ident "eng_shader_shvol.occluder"
2739            param
2740            {
2741                env "shaderenv"
2742                methods "shvol_mark_method"
2743                reverse_rank 90010
2744                nonreverse_rank 90000
2745                insp_ident "showocclwire"
2746                rel_gap 0.01
2747                backface 0
2748                mesh_var "mesh_shvol_occl"
2749                cenrange_var "light_cenrange"
2750                shvolparam_var "light_shvolparam"
2751                extrude_var "light_extrude"
2752                strict_shaderprog_ident
2753                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
2754                strict_shaderprog_param_array
2755                {
2756                    src_var "light_cenrange"
2757                    dest_progvar "prog_light_cenrange"
2758                }
2759                {
2760                    src_var "light_extrude"
2761                    dest_progvar "prog_light_extrude"
2762                }
2763                quick_shaderprog_ident
2764                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
2765                quick_shaderprog_param_array
2766                {
2767                    src_var "light_cenrange"
2768                    dest_progvar "prog_light_cenrange"
2769                }
2770                {
2771                    src_var "light_extrude"
2772                    dest_progvar "prog_light_extrude"
2773                }
2774            }
2775        }
2776        {
2777            ident "eng_shader_std.paintmesh"
2778            param
2779            {
2780                env "shaderenv"
2781                rank 99999
2782                cull_mode "back"
2783                depth_test "less_equal"
2784                depth_write 1
2785                methods "gen_shmap_method"
2786                mesh_var "mesh"
2787                texchan_var_array
2788                tex_attr_var_array
2789                attrmat_var_array ""
2790                use_vertex_bone_wgh 1
2791                use_vertex_bone_subscr 1
2792                use_vertex_point 1
2793                shaderprog_ident
2794                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
2795                shaderprog_param_array
2796            }
2797        }
2798        {
2799            ident "eng_shader_std.paintmesh"
2800            param
2801            {
2802                env "shaderenv"
2803                methods "main_method"
2804                rank 12000
2805                insp_ident "showwire"
2806                cull_mode "back"
2807                depth_test "less_equal"
2808                depth_write 1
2809                use_vertex_bone_wgh 1
2810                use_vertex_bone_subscr 1
2811                use_vertex_point 1
2812                use_vertex_normal 0
2813                color 0.0 0.0 0.0
2814                mesh_var "mesh"
2815                texchan_var_array
2816                tex_attr_var_array
2817                attrmat_var_array
2818                lightarray_var ""
2819                shaderprog_ident
2820                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
2821                shaderprog_param_array
2822            }
2823        }
2824        {
2825            ident "eng_shader_std.paintmesh"
2826            param
2827            {
2828                env "shaderenv"
2829                methods "lightshmap_method"
2830                rank 99999
2831                insp_ident "showwire"
2832                cull_mode "back"
2833                depth_test "less_equal"
2834                depth_write 0
2835                use_vertex_bone_wgh 1
2836                use_vertex_bone_subscr 1
2837                use_vertex_point 1
2838                use_vertex_normal 1
2839                mesh_var "mesh"
2840                texchan_var_array "tex0" "normalmap" "light_projtex"
2841                    "light_shmap"
2842                tex_attr_var_array "attr0" "tangentu" "tangentv"
2843                attrmat_var_array ""
2844                blend_col_src_fac "one"
2845                blend_col_dest_fac "inv_src_col"
2846                lightarray_var ""
2847                shaderprog_ident
2848                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
2849                shaderprog_param_array
2850                {
2851                    src_var "light_cenrange"
2852                    dest_progvar "prog_light_cenrange"
2853                }
2854                {
2855                    src_var "light_ambient"
2856                    dest_progvar "prog_light_ambient"
2857                }
2858                {
2859                    src_var "light_diffuse"
2860                    dest_progvar "prog_light_diffuse"
2861                }
2862                {
2863                    src_var "light_specular"
2864                    dest_progvar "prog_light_specular"
2865                }
2866                {
2867                    src_var "light_projmat"
2868                    dest_progvar "prog_light_projmat"
2869                }
2870                {
2871                    src_var "light_shmapmat"
2872                    dest_progvar "prog_light_shmapmat"
2873                }
2874            }
2875        }
2876        {
2877            ident "eng_shader_std.paintmesh"
2878            param
2879            {
2880                env "shaderenv"
2881                methods "gen_brightmap_for_softshmap_method"
2882                rank 99999
2883                cull_mode "back"
2884                depth_test "less_equal"
2885                depth_write 0
2886                use_vertex_bone_wgh 1
2887                use_vertex_bone_subscr 1
2888                use_vertex_point 1
2889                use_vertex_normal 1
2890                mesh_var "mesh"
2891                texchan_var_array "light_projtex" "light_shmap"
2892                tex_attr_var_array ""
2893                attrmat_var_array ""
2894                blend_col_src_fac "one"
2895                blend_col_dest_fac "inv_src_col"
2896                lightarray_var ""
2897                shaderprog_ident
2898                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
2899                    & "derprog_run"
2900                shaderprog_param_array
2901                {
2902                    src_var "light_intens"
2903                    dest_progvar "prog_light_intens"
2904                }
2905                {
2906                    src_var "light_projmat"
2907                    dest_progvar "prog_light_projmat"
2908                }
2909                {
2910                    src_var "light_shmapmat"
2911                    dest_progvar "prog_light_shmapmat"
2912                }
2913            }
2914        }
2915        {
2916            ident "eng_shader_std.paintmesh"
2917            param
2918            {
2919                env "shaderenv"
2920                methods "gen_brightclear_method"
2921                rank 12000
2922                cull_mode "back"
2923                depth_test "less_equal"
2924                depth_write 1
2925                mesh_var "mesh"
2926                texchan_var_array
2927                tex_attr_var_array
2928                attrmat_var_array
2929                fog_enabled 0
2930                blend_col_src_fac "one"
2931                blend_col_dest_fac "zero"
2932                color 0.0 0.0 0.0
2933                alpha 0.0
2934                use_vertex_bone_wgh 1
2935                use_vertex_bone_subscr 1
2936                use_vertex_point 1
2937                shaderprog_ident
2938                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
2939                shaderprog_param_array
2940            }
2941        }
2942        {
2943            ident "gtp_shader.createtex"
2944            param
2945            {
2946                env "shaderenv"
2947                methods "init_method"
2948                texchan_var "envmap0"
2949                width 32
2950                height 32
2951                texprop_rendertarget 1
2952                texprop_cube 1
2953                texprop_float 0
2954                texprop_comp 4
2955                texprop_bitspercomp 8
2956                samplermode_clamp 0
2957                samplermode_filter 1
2958            }
2959        }
2960        {
2961            ident "gtp_shader.envmap"
2962            param
2963            {
2964                env "shaderenv"
2965                methods "main_method"
2966                rank -90000
2967                max_ext 256
2968                max_recursion 2
2969                ext_dist_scale 20.0
2970                proj_neg_z 0.1
2971                proj_pos_z 100.0
2972                enum_trigger "mirror_trigger"
2973                destprop_antialias 0
2974                mesh_var "mesh"
2975                update_interval 1
2976                update_all_face 0
2977                start_frame 1
2978                last_center_var "lastCenter"
2979                world_space 1
2980                dest_array
2981                {
2982                    from_var "envmap0"
2983                    to_var "envmap0"
2984                    texprop_restrusage 0
2985                    texprop_depth 0
2986                    texprop_comp 3
2987                    texprop_float 0
2988                    samplermode_filter 0
2989                    samplermode_clamp 1
2990                }
2991            }
2992        }
2993        {
2994            ident "gtp_shader.createtex"
2995            param
2996            {
2997                env "shaderenv"
2998                methods "init_method"
2999                texchan_var "dist"
3000                width 128
3001                height 128
3002                texprop_rendertarget 1
3003                texprop_cube 1
3004                texprop_float 1
3005                texprop_comp 2
3006                texprop_bitspercomp 16
3007                samplermode_clamp 0
3008                samplermode_filter 1
3009            }
3010        }
3011        {
3012            ident "gtp_shader.envmap"
3013            param
3014            {
3015                env "shaderenv"
3016                methods "main_method"
3017                rank -90000
3018                max_ext 128
3019                max_recursion 1
3020                ext_dist_scale 20.0
3021                proj_neg_z 0.1
3022                proj_pos_z 100.0
3023                enum_trigger "gtp_distance_impostor_trigger"
3024                destprop_antialias 0
3025                mesh_var "mesh"
3026                update_interval 6
3027                update_all_face 1
3028                start_frame 1
3029                last_center_var "lastCenter"
3030                world_space 1
3031                dest_array
3032                {
3033                    from_var "dist"
3034                    to_var "dist"
3035                    texprop_restrusage 0
3036                    texprop_depth 0
3037                    texprop_comp 1
3038                    texprop_float 1
3039                    samplermode_filter 0
3040                    samplermode_clamp 1
3041                }
3042            }
3043        }
3044        {
3045            ident "gtp_shader.worldmat"
3046            param
3047            {
3048                env "shaderenv"
3049                methods "main_method"
3050                worldmat_var "worldMat"
3051            }
3052        }
3053        {
3054            ident "gtp_shader.worldmat"
3055            param
3056            {
3057                env "shaderenv"
3058                methods "main_method"
3059                worldmat_var "worldMatIT"
3060                inverse 1
3061                transpose 1
3062            }
3063        }
3064        {
3065            ident "eng_shader_std.constvec"
3066            param
3067            {
3068                env "shaderenv"
3069                methods "init_method"
3070                val_var "Fresnel"
3071                val 0.95 0.63 0.54 1.0
3072            }
3073        }
3074        {
3075            ident "eng_shader_std.paintmesh"
3076            param
3077            {
3078                env "shaderenv"
3079                methods "main_method"
3080                rank 12000
3081                insp_ident "insp_shader_mesh"
3082                cull_mode "back"
3083                depth_test "less_equal"
3084                depth_write 0
3085                mesh_var "mesh"
3086                texchan_var_array "envmap0" "dist"
3087                tex_attr_var_array "attr0"
3088                attrmat_var_array ""
3089                use_vertex_bone_wgh 1
3090                use_vertex_bone_subscr 1
3091                use_vertex_point 1
3092                use_vertex_normal 1
3093                use_vertex_coloralpha 0
3094                shaderprog_ident
3095                    "levelutil/shader/prog/gtp_envmap_metal.s3d_shaderprog_run"
3096                shaderprog_param_array
3097                {
3098                    src_var "lastCenter"
3099                    dest_progvar "lastCenter"
3100                }
3101                {
3102                    src_var "worldMat"
3103                    dest_progvar "worldMat"
3104                }
3105                {
3106                    src_var "worldMatIT"
3107                    dest_progvar "worldMatIT"
3108                }
3109                {
3110                    src_var "Fresnel"
3111                    dest_progvar "Fresnel"
3112                }
3113            }
3114        }
3115        {
3116            ident "eng_shader_std.paintmesh"
3117            param
3118            {
3119                env "shaderenv"
3120                methods "gtp_distance_impostor_method"
3121                rank 12000
3122                insp_ident "insp_shader_mesh"
3123                cull_mode "back"
3124                depth_test "less_equal"
3125                depth_write 1
3126                mesh_var "mesh"
3127                texchan_var_array
3128                tex_attr_var_array "attr0"
3129                attrmat_var_array ""
3130                use_vertex_bone_wgh 1
3131                use_vertex_bone_subscr 1
3132                use_vertex_point 1
3133                color 1.0 1.0 1.0
3134                shaderprog_ident
3135                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
3136                    & "g_run"
3137                shaderprog_param_array
3138            }
3139        }
3140    }
3141}
3142{
3143    name "ordinary_alu"
3144    ident "eng_shader_std.group"
3145    param
3146    {
3147        env "shaderenv"
3148        init_method "init_method"
3149        child_array
3150        {
3151            ident "eng_shader_std.modelmesh"
3152            param
3153            {
3154                env "shaderenv"
3155                methods "init_method"
3156                mesh_var "mesh"
3157                texchan_var_array "tex0" "normalmap"
3158                tex_attr_var_array "attr0"
3159                usage "render"
3160                tangentu_attr_var "tangentu"
3161                tangentv_attr_var "tangentv"
3162                insp_ident "showmesh"
3163                insp_rank 80000
3164                insp_color 1.0 1.0 0.0
3165            }
3166        }
3167        {
3168            ident "eng_shader_std.modelmesh"
3169            param
3170            {
3171                env "shaderenv"
3172                methods "init_method"
3173                usage "shvol_occl"
3174                mesh_var "mesh_shvol_occl"
3175                texchan_var_array
3176                tex_attr_var_array
3177                insp_ident "showocclmesh"
3178                insp_rank 80000
3179                insp_color 0.5 1.0 0.0
3180            }
3181        }
3182        {
3183            ident "eng_shader_std.meshenter"
3184            param
3185            {
3186                env "shaderenv"
3187                mesh_var_array "mesh"
3188                insp_ident "showbound"
3189                insp_rank 80000
3190                insp_color 1.0 0.0 0.0
3191                enter_array
3192                {
3193                    triggers "main_trigger" "mirror_trigger"
3194                    method "main_method"
3195                }
3196                {
3197                    triggers "gtp_distance_impostor_trigger"
3198                    method "gtp_distance_impostor_method"
3199                }
3200                {
3201                    triggers "gen_shmap_trigger"
3202                    method "gen_shmap_method"
3203                }
3204                {
3205                    triggers "light_trigger"
3206                    method "light_method"
3207                    param_array
3208                    {
3209                        src_extvar "ext_light_cenrange"
3210                        dest_var "light_cenrange"
3211                    }
3212                    {
3213                        src_extvar "ext_light_ambient"
3214                        dest_var "light_ambient"
3215                    }
3216                    {
3217                        src_extvar "ext_light_diffuse"
3218                        dest_var "light_diffuse"
3219                    }
3220                    {
3221                        src_extvar "ext_light_specular"
3222                        dest_var "light_specular"
3223                    }
3224                }
3225                {
3226                    triggers "lightmild_trigger"
3227                    method "lightmild_method"
3228                    param_array
3229                    {
3230                        src_extvar "ext_light_cenrange"
3231                        dest_var "light_cenrange"
3232                    }
3233                    {
3234                        src_extvar "ext_light_ambient"
3235                        dest_var "light_ambient"
3236                    }
3237                    {
3238                        src_extvar "ext_light_diffuse"
3239                        dest_var "light_diffuse"
3240                    }
3241                    {
3242                        src_extvar "ext_light_specular"
3243                        dest_var "light_specular"
3244                    }
3245                }
3246                {
3247                    triggers "lightbright_trigger"
3248                    method "lightbright_method"
3249                    param_array
3250                    {
3251                        src_extvar "ext_light_cenrange"
3252                        dest_var "light_cenrange"
3253                    }
3254                    {
3255                        src_extvar "ext_light_ambient"
3256                        dest_var "light_ambient"
3257                    }
3258                    {
3259                        src_extvar "ext_light_diffuse"
3260                        dest_var "light_diffuse"
3261                    }
3262                    {
3263                        src_extvar "ext_light_specular"
3264                        dest_var "light_specular"
3265                    }
3266                    {
3267                        src_extvar "ext_light_brighttex"
3268                        dest_var "light_brighttex"
3269                    }
3270                    {
3271                        src_extvar "ext_light_brightmat"
3272                        dest_var "light_brightmat"
3273                    }
3274                }
3275                {
3276                    triggers "lightshmap_trigger"
3277                    method "lightshmap_method"
3278                    param_array
3279                    {
3280                        src_extvar "ext_light_cenrange"
3281                        dest_var "light_cenrange"
3282                    }
3283                    {
3284                        src_extvar "ext_light_ambient"
3285                        dest_var "light_ambient"
3286                    }
3287                    {
3288                        src_extvar "ext_light_diffuse"
3289                        dest_var "light_diffuse"
3290                    }
3291                    {
3292                        src_extvar "ext_light_specular"
3293                        dest_var "light_specular"
3294                    }
3295                    {
3296                        src_extvar "ext_light_projmat"
3297                        dest_var "light_projmat"
3298                    }
3299                    {
3300                        src_extvar "ext_light_shmapmat"
3301                        dest_var "light_shmapmat"
3302                    }
3303                    {
3304                        src_extvar "ext_light_projtex"
3305                        dest_var "light_projtex"
3306                    }
3307                    {
3308                        src_extvar "ext_light_shmap"
3309                        dest_var "light_shmap"
3310                    }
3311                }
3312                {
3313                    triggers "gen_brightmap_for_softshmap_trigger"
3314                    method "gen_brightmap_for_softshmap_method"
3315                    param_array
3316                    {
3317                        src_extvar "ext_light_intens"
3318                        dest_var "light_intens"
3319                    }
3320                    {
3321                        src_extvar "ext_light_projmat"
3322                        dest_var "light_projmat"
3323                    }
3324                    {
3325                        src_extvar "ext_light_shmapmat"
3326                        dest_var "light_shmapmat"
3327                    }
3328                    {
3329                        src_extvar "ext_light_projtex"
3330                        dest_var "light_projtex"
3331                    }
3332                    {
3333                        src_extvar "ext_light_shmap"
3334                        dest_var "light_shmap"
3335                    }
3336                }
3337                {
3338                    triggers "gen_brightclear_trigger"
3339                    method "gen_brightclear_method"
3340                }
3341            }
3342        }
3343        {
3344            ident "eng_shader_std.meshenter"
3345            param
3346            {
3347                env "shaderenv"
3348                mesh_var_array "mesh_shvol_occl"
3349                insp_ident "showbound"
3350                insp_rank 80000
3351                insp_color 1.0 0.0 0.0
3352                enter_array
3353                {
3354                    triggers "shvol_mark_trigger"
3355                    method "shvol_mark_method"
3356                    param_array
3357                    {
3358                        src_extvar "ext_light_cenrange"
3359                        dest_var "light_cenrange"
3360                    }
3361                    {
3362                        src_extvar "ext_light_shvolparam"
3363                        dest_var "light_shvolparam"
3364                    }
3365                }
3366            }
3367        }
3368        {
3369            ident "eng_shader_shvol.occluder"
3370            param
3371            {
3372                env "shaderenv"
3373                methods "shvol_mark_method"
3374                reverse_rank 90010
3375                nonreverse_rank 90000
3376                insp_ident "showocclwire"
3377                rel_gap 0.01
3378                backface 0
3379                mesh_var "mesh_shvol_occl"
3380                cenrange_var "light_cenrange"
3381                shvolparam_var "light_shvolparam"
3382                extrude_var "light_extrude"
3383                strict_shaderprog_ident
3384                    "levelutil/shader/prog/gen_shvol_strict.s3d_shaderprog_run"
3385                strict_shaderprog_param_array
3386                {
3387                    src_var "light_cenrange"
3388                    dest_progvar "prog_light_cenrange"
3389                }
3390                {
3391                    src_var "light_extrude"
3392                    dest_progvar "prog_light_extrude"
3393                }
3394                quick_shaderprog_ident
3395                    "levelutil/shader/prog/gen_shvol_quick.s3d_shaderprog_run"
3396                quick_shaderprog_param_array
3397                {
3398                    src_var "light_cenrange"
3399                    dest_progvar "prog_light_cenrange"
3400                }
3401                {
3402                    src_var "light_extrude"
3403                    dest_progvar "prog_light_extrude"
3404                }
3405            }
3406        }
3407        {
3408            ident "eng_shader_std.paintmesh"
3409            param
3410            {
3411                env "shaderenv"
3412                rank 99999
3413                cull_mode "back"
3414                depth_test "less_equal"
3415                depth_write 1
3416                methods "gen_shmap_method"
3417                mesh_var "mesh"
3418                texchan_var_array
3419                tex_attr_var_array
3420                attrmat_var_array ""
3421                use_vertex_bone_wgh 1
3422                use_vertex_bone_subscr 1
3423                use_vertex_point 1
3424                shaderprog_ident
3425                    "levelutil/shader/prog/gen_shmap.s3d_shaderprog_run"
3426                shaderprog_param_array
3427            }
3428        }
3429        {
3430            ident "eng_shader_std.paintmesh"
3431            param
3432            {
3433                env "shaderenv"
3434                methods "main_method"
3435                rank 12000
3436                insp_ident "showwire"
3437                cull_mode "back"
3438                depth_test "less_equal"
3439                depth_write 1
3440                use_vertex_bone_wgh 1
3441                use_vertex_bone_subscr 1
3442                use_vertex_point 1
3443                use_vertex_normal 0
3444                color 0.0 0.0 0.0
3445                mesh_var "mesh"
3446                texchan_var_array
3447                tex_attr_var_array
3448                attrmat_var_array
3449                lightarray_var ""
3450                shaderprog_ident
3451                    "levelutil/shader/prog/plain_point.s3d_shaderprog_run"
3452                shaderprog_param_array
3453            }
3454        }
3455        {
3456            ident "eng_shader_std.paintmesh"
3457            param
3458            {
3459                env "shaderenv"
3460                methods "lightshmap_method"
3461                rank 99999
3462                insp_ident "showwire"
3463                cull_mode "back"
3464                depth_test "less_equal"
3465                depth_write 0
3466                use_vertex_bone_wgh 1
3467                use_vertex_bone_subscr 1
3468                use_vertex_point 1
3469                use_vertex_normal 1
3470                mesh_var "mesh"
3471                texchan_var_array "tex0" "normalmap" "light_projtex"
3472                    "light_shmap"
3473                tex_attr_var_array "attr0" "tangentu" "tangentv"
3474                attrmat_var_array ""
3475                blend_col_src_fac "one"
3476                blend_col_dest_fac "inv_src_col"
3477                lightarray_var ""
3478                shaderprog_ident
3479                    "levelutil/shader/prog/bump_shmap.s3d_shaderprog_run"
3480                shaderprog_param_array
3481                {
3482                    src_var "light_cenrange"
3483                    dest_progvar "prog_light_cenrange"
3484                }
3485                {
3486                    src_var "light_ambient"
3487                    dest_progvar "prog_light_ambient"
3488                }
3489                {
3490                    src_var "light_diffuse"
3491                    dest_progvar "prog_light_diffuse"
3492                }
3493                {
3494                    src_var "light_specular"
3495                    dest_progvar "prog_light_specular"
3496                }
3497                {
3498                    src_var "light_projmat"
3499                    dest_progvar "prog_light_projmat"
3500                }
3501                {
3502                    src_var "light_shmapmat"
3503                    dest_progvar "prog_light_shmapmat"
3504                }
3505            }
3506        }
3507        {
3508            ident "eng_shader_std.paintmesh"
3509            param
3510            {
3511                env "shaderenv"
3512                methods "gen_brightmap_for_softshmap_method"
3513                rank 99999
3514                cull_mode "back"
3515                depth_test "less_equal"
3516                depth_write 0
3517                use_vertex_bone_wgh 1
3518                use_vertex_bone_subscr 1
3519                use_vertex_point 1
3520                use_vertex_normal 1
3521                mesh_var "mesh"
3522                texchan_var_array "light_projtex" "light_shmap"
3523                tex_attr_var_array ""
3524                attrmat_var_array ""
3525                blend_col_src_fac "one"
3526                blend_col_dest_fac "inv_src_col"
3527                lightarray_var ""
3528                shaderprog_ident
3529                    "levelutil/shader/prog/gen_brightmap_for_softshmap.s3d_sha"
3530                    & "derprog_run"
3531                shaderprog_param_array
3532                {
3533                    src_var "light_intens"
3534                    dest_progvar "prog_light_intens"
3535                }
3536                {
3537                    src_var "light_projmat"
3538                    dest_progvar "prog_light_projmat"
3539                }
3540                {
3541                    src_var "light_shmapmat"
3542                    dest_progvar "prog_light_shmapmat"
3543                }
3544            }
3545        }
3546        {
3547            ident "eng_shader_std.paintmesh"
3548            param
3549            {
3550                env "shaderenv"
3551                methods "gen_brightclear_method"
3552                rank 12000
3553                cull_mode "back"
3554                depth_test "less_equal"
3555                depth_write 1
3556                mesh_var "mesh"
3557                texchan_var_array
3558                tex_attr_var_array
3559                attrmat_var_array
3560                fog_enabled 0
3561                blend_col_src_fac "one"
3562                blend_col_dest_fac "zero"
3563                color 0.0 0.0 0.0
3564                alpha 0.0
3565                use_vertex_bone_wgh 1
3566                use_vertex_bone_subscr 1
3567                use_vertex_point 1
3568                shaderprog_ident
3569                    "levelutil/shader/prog/gen_brightclear.s3d_shaderprog_run"
3570                shaderprog_param_array
3571            }
3572        }
3573        {
3574            ident "gtp_shader.createtex"
3575            param
3576            {
3577                env "shaderenv"
3578                methods "init_method"
3579                texchan_var "envmap0"
3580                width 128
3581                height 128
3582                texprop_rendertarget 1
3583                texprop_cube 1
3584                texprop_float 0
3585                texprop_comp 4
3586                texprop_bitspercomp 8
3587                samplermode_clamp 0
3588                samplermode_filter 1
3589            }
3590        }
3591        {
3592            ident "gtp_shader.envmap"
3593            param
3594            {
3595                env "shaderenv"
3596                methods "main_method"
3597                rank -90000
3598                max_ext 256
3599                max_recursion 2
3600                ext_dist_scale 20.0
3601                proj_neg_z 0.1
3602                proj_pos_z 100.0
3603                enum_trigger "mirror_trigger"
3604                destprop_antialias 0
3605                mesh_var "mesh"
3606                update_interval 1
3607                update_all_face 1
3608                start_frame 1
3609                last_center_var "lastCenter"
3610                world_space 1
3611                dest_array
3612                {
3613                    from_var "envmap0"
3614                    to_var "envmap0"
3615                    texprop_restrusage 0
3616                    texprop_depth 0
3617                    texprop_comp 3
3618                    texprop_float 0
3619                    samplermode_filter 0
3620                    samplermode_clamp 1
3621                }
3622            }
3623        }
3624        {
3625            ident "gtp_shader.createtex"
3626            param
3627            {
3628                env "shaderenv"
3629                methods "init_method"
3630                texchan_var "dist"
3631                width 128
3632                height 128
3633                texprop_rendertarget 1
3634                texprop_cube 1
3635                texprop_float 1
3636                texprop_comp 2
3637                texprop_bitspercomp 16
3638                samplermode_clamp 0
3639                samplermode_filter 1
3640            }
3641        }
3642        {
3643            ident "gtp_shader.envmap"
3644            param
3645            {
3646                env "shaderenv"
3647                methods "main_method"
3648                rank -90000
3649                max_ext 128
3650                max_recursion 1
3651                ext_dist_scale 20.0
3652                proj_neg_z 0.1
3653                proj_pos_z 100.0
3654                enum_trigger "gtp_distance_impostor_trigger"
3655                destprop_antialias 0
3656                mesh_var "mesh"
3657                update_interval 1
3658                update_all_face 1
3659                start_frame 1
3660                last_center_var "lastCenter"
3661                world_space 1
3662                dest_array
3663                {
3664                    from_var "dist"
3665                    to_var "dist"
3666                    texprop_restrusage 0
3667                    texprop_depth 0
3668                    texprop_comp 1
3669                    texprop_float 1
3670                    samplermode_filter 0
3671                    samplermode_clamp 1
3672                }
3673            }
3674        }
3675        {
3676            ident "gtp_shader.worldmat"
3677            param
3678            {
3679                env "shaderenv"
3680                methods "main_method"
3681                worldmat_var "worldMat"
3682            }
3683        }
3684        {
3685            ident "gtp_shader.worldmat"
3686            param
3687            {
3688                env "shaderenv"
3689                methods "main_method"
3690                worldmat_var "worldMatIT"
3691                inverse 1
3692                transpose 1
3693            }
3694        }
3695        {
3696            ident "eng_shader_std.constvec"
3697            param
3698            {
3699                env "shaderenv"
3700                methods "init_method"
3701                val_var "Fresnel"
3702                val 0.9 0.92 0.92 1.0
3703            }
3704        }
3705        {
3706            ident "eng_shader_std.paintmesh"
3707            param
3708            {
3709                env "shaderenv"
3710                methods "main_method"
3711                rank 12000
3712                insp_ident "insp_shader_mesh"
3713                cull_mode "back"
3714                depth_test "less_equal"
3715                depth_write 0
3716                mesh_var "mesh"
3717                texchan_var_array "envmap0" "dist"
3718                tex_attr_var_array "attr0"
3719                attrmat_var_array ""
3720                use_vertex_bone_wgh 1
3721                use_vertex_bone_subscr 1
3722                use_vertex_point 1
3723                use_vertex_normal 1
3724                use_vertex_coloralpha 0
3725                shaderprog_ident
3726                    "levelutil/shader/prog/gtp_envmap_metal.s3d_shaderprog_run"
3727                shaderprog_param_array
3728                {
3729                    src_var "lastCenter"
3730                    dest_progvar "lastCenter"
3731                }
3732                {
3733                    src_var "worldMat"
3734                    dest_progvar "worldMat"
3735                }
3736                {
3737                    src_var "worldMatIT"
3738                    dest_progvar "worldMatIT"
3739                }
3740                {
3741                    src_var "Fresnel"
3742                    dest_progvar "Fresnel"
3743                }
3744            }
3745        }
3746        {
3747            ident "eng_shader_std.paintmesh"
3748            param
3749            {
3750                env "shaderenv"
3751                methods "gtp_distance_impostor_method"
3752                rank 12000
3753                insp_ident "insp_shader_mesh"
3754                cull_mode "back"
3755                depth_test "less_equal"
3756                depth_write 1
3757                mesh_var "mesh"
3758                texchan_var_array
3759                tex_attr_var_array "attr0"
3760                attrmat_var_array ""
3761                use_vertex_bone_wgh 1
3762                use_vertex_bone_subscr 1
3763                use_vertex_point 1
3764                color 1.0 1.0 1.0
3765                shaderprog_ident
3766                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
3767                    & "g_run"
3768                shaderprog_param_array
3769            }
3770        }
3771    }
3772}
3773{
3774    name "caustic_caster"
3775    ident "eng_shader_std.group"
3776    param
3777    {
3778        env "shaderenv"
3779        init_method "init_method"
3780        child_array
3781        {
3782            ident "eng_shader_std.modelmesh"
3783            param
3784            {
3785                env "shaderenv"
3786                methods "init_method"
3787                mesh_var "mesh"
3788                texchan_var_array
3789                tex_attr_var_array
3790                usage "render"
3791                tangentu_attr_var
3792                tangentv_attr_var
3793            }
3794        }
3795        {
3796            ident "eng_shader_std.meshenter"
3797            param
3798            {
3799                env "shaderenv"
3800                mesh_var_array "mesh"
3801                insp_ident "insp_shader_bound"
3802                insp_rank 80000
3803                insp_color 1.0 0.0 0.0
3804                enter_array
3805                {
3806                    triggers "main_trigger" "mirror_trigger"
3807                    method "main_method"
3808                }
3809                {
3810                    triggers "gtp_distance_impostor_trigger"
3811                    method "gtp_distance_impostor_method"
3812                }
3813                {
3814                    triggers "caustic_cast_trigger"
3815                    method "caustic_cast_method"
3816                    param_array
3817                    {
3818                        src_extvar "ext_light_cenrange"
3819                        dest_var "light_cenrange"
3820                    }
3821                    {
3822                        src_extvar "recievers"
3823                        dest_var "recievers"
3824                    }
3825                }
3826            }
3827        }
3828        {
3829            ident "eng_shader_std.constvec"
3830            param
3831            {
3832                env "shaderenv"
3833                methods "init_method"
3834                val_var "lastCenter"
3835                val 0.0 0.0 0.0 1.0
3836            }
3837        }
3838        {
3839            ident "gtp_shader.createtex"
3840            param
3841            {
3842                env "shaderenv"
3843                methods "init_method"
3844                texchan_var "envmap0"
3845                width 128
3846                height 128
3847                texprop_rendertarget 1
3848                texprop_cube 1
3849                texprop_float 0
3850                texprop_comp 4
3851                texprop_bitspercomp 8
3852                samplermode_clamp 0
3853                samplermode_filter 1
3854            }
3855        }
3856        {
3857            ident "gtp_shader.envmap"
3858            param
3859            {
3860                env "shaderenv"
3861                methods "main_method"
3862                rank -89500
3863                max_ext 256
3864                max_recursion 2
3865                ext_dist_scale 20.0
3866                proj_neg_z 0.1
3867                proj_pos_z 100.0
3868                enum_trigger "mirror_trigger"
3869                destprop_antialias 0
3870                mesh_var "mesh"
3871                update_interval 6
3872                update_all_face 0
3873                start_frame 0
3874                last_center_var "lastCenter"
3875                world_space 1
3876                dest_array
3877                {
3878                    from_var "envmap0"
3879                    to_var "envmap0"
3880                    texprop_restrusage 0
3881                    texprop_depth 0
3882                    texprop_comp 3
3883                    texprop_float 0
3884                    samplermode_filter 0
3885                    samplermode_clamp 1
3886                }
3887            }
3888        }
3889        {
3890            ident "gtp_shader.createtex"
3891            param
3892            {
3893                env "shaderenv"
3894                methods "init_method"
3895                texchan_var "dist"
3896                width 128
3897                height 128
3898                texprop_rendertarget 1
3899                texprop_cube 1
3900                texprop_float 1
3901                texprop_comp 2
3902                texprop_bitspercomp 16
3903                samplermode_clamp 0
3904                samplermode_filter 1
3905            }
3906        }
3907        {
3908            ident "gtp_shader.envmap"
3909            param
3910            {
3911                env "shaderenv"
3912                methods "main_method"
3913                rank -89600
3914                max_ext 128
3915                max_recursion 1
3916                ext_dist_scale 20.0
3917                proj_neg_z 0.1
3918                proj_pos_z 100.0
3919                enum_trigger "gtp_distance_impostor_trigger"
3920                destprop_antialias 0
3921                mesh_var "mesh"
3922                update_interval 1
3923                update_all_face 1
3924                start_frame 0
3925                last_center_var "lastCenter"
3926                world_space 1
3927                dest_array
3928                {
3929                    from_var "dist"
3930                    to_var "dist"
3931                    texprop_restrusage 0
3932                    texprop_depth 0
3933                    texprop_comp 1
3934                    texprop_float 1
3935                    samplermode_filter 0
3936                    samplermode_clamp 1
3937                }
3938            }
3939        }
3940        {
3941            ident "gtp_shader.worldmat"
3942            param
3943            {
3944                env "shaderenv"
3945                methods "main_method"
3946                worldmat_var "worldMat"
3947            }
3948        }
3949        {
3950            ident "gtp_shader.worldmat"
3951            param
3952            {
3953                env "shaderenv"
3954                methods "main_method"
3955                worldmat_var "worldMatIT"
3956                inverse 1
3957                transpose 1
3958            }
3959        }
3960        {
3961            ident "eng_shader_std.paintmesh"
3962            param
3963            {
3964                env "shaderenv"
3965                methods "main_method"
3966                rank 12000
3967                insp_ident "insp_shader_mesh"
3968                cull_mode "back"
3969                depth_test "less_equal"
3970                depth_write 1
3971                mesh_var "mesh"
3972                texchan_var_array "envmap0" "dist"
3973                tex_attr_var_array "attr0"
3974                attrmat_var_array ""
3975                use_vertex_bone_wgh 1
3976                use_vertex_bone_subscr 1
3977                use_vertex_point 1
3978                use_vertex_normal 1
3979                use_vertex_coloralpha 0
3980                shaderprog_ident
3981                    "levelutil/shader/prog/gtp_envmap_refract.s3d_shaderprog_r"
3982                    & "un"
3983                shaderprog_param_array
3984                {
3985                    src_var "lastCenter"
3986                    dest_progvar "lastCenter"
3987                }
3988                {
3989                    src_var "worldMat"
3990                    dest_progvar "worldMat"
3991                }
3992                {
3993                    src_var "worldMatIT"
3994                    dest_progvar "worldMatIT"
3995                }
3996            }
3997        }
3998        {
3999            ident "eng_shader_std.paintmesh"
4000            param
4001            {
4002                env "shaderenv"
4003                methods "gtp_distance_impostor_method"
4004                rank 13000
4005                insp_ident "insp_shader_mesh"
4006                cull_mode "back"
4007                depth_test "less_equal"
4008                depth_write 1
4009                mesh_var "mesh"
4010                texchan_var_array
4011                tex_attr_var_array "attr0"
4012                attrmat_var_array ""
4013                use_vertex_bone_wgh 1
4014                use_vertex_bone_subscr 1
4015                use_vertex_point 1
4016                color 1.0 1.0 1.0
4017                shaderprog_ident
4018                    "levelutil/shader/prog/gtp_distance_impostor.s3d_shaderpro"
4019                    & "g_run"
4020                shaderprog_param_array
4021            }
4022        }
4023        {
4024            ident "gtp_shader.createtex"
4025            param
4026            {
4027                env "shaderenv"
4028                methods "init_method"
4029                texchan_var "cauCubeMap"
4030                texprop_cube 1
4031                width 128
4032                height 128
4033                texprop_rendertarget 1
4034                texprop_float 1
4035                texprop_comp 4
4036                texprop_bitspercomp 16
4037                samplermode_clamp 1
4038                samplermode_filter 1
4039            }
4040        }
4041        {
4042            ident "gtp_shader.createtex"
4043            param
4044            {
4045                env "shaderenv"
4046                methods "init_method"
4047                texchan_var "photonmap"
4048                width 32
4049                height 32
4050                texprop_rendertarget 1
4051                texprop_float 1
4052                texprop_comp 4
4053                texprop_bitspercomp 32
4054                samplermode_clamp 1
4055                samplermode_filter 0
4056            }
4057        }
4058        {
4059            ident "gtp_shader.focusedprojmat"
4060            param
4061            {
4062                env "shaderenv"
4063                methods "caustic_cast_method"
4064                mesh_var "mesh"
4065                destmat_var "lightViewProj"
4066                centerpoint_var "light_cenrange"
4067            }
4068        }
4069        {
4070            ident "gtp_shader.worldmat"
4071            param
4072            {
4073                env "shaderenv"
4074                methods "init_method"
4075                worldmat_var "viewToWorld"
4076                inverse 0
4077                transpose 0
4078            }
4079        }
4080        {
4081            ident "gtp_shader.worldmat"
4082            param
4083            {
4084                env "shaderenv"
4085                methods "init_method"
4086                worldmat_var "viewToWorldInv"
4087                inverse 1
4088                transpose 0
4089            }
4090        }
4091        {
4092            ident "eng_shader_std.totex"
4093            param
4094            {
4095                env "shaderenv"
4096                methods "caustic_cast_method"
4097                rank -7800
4098                new_method "photonmap_method"
4099                size_scale 1.0
4100                dest_array
4101                {
4102                    from_var "photonmap"
4103                    to_var "photonmap"
4104                    texprop_restrusage 0
4105                    texprop_depth 0
4106                    texprop_comp 4
4107                    texprop_float 1
4108                    samplermode_filter 0
4109                    samplermode_clamp 1
4110                }
4111            }
4112        }
4113        {
4114            ident "eng_shader_std.paintmesh"
4115            param
4116            {
4117                env "shaderenv"
4118                methods "photonmap_method"
4119                rank 1000
4120                insp_ident "insp_shader_mesh"
4121                cull_mode "front"
4122                depth_test "less"
4123                depth_write 1
4124                mesh_var "mesh"
4125                texchan_var_array "dist"
4126                tex_attr_var_array "attr0"
4127                attrmat_var_array ""
4128                use_vertex_bone_wgh 1
4129                use_vertex_bone_subscr 1
4130                use_vertex_normal 1
4131                use_vertex_point 1
4132                color 1.0 1.0 1.0
4133                shaderprog_ident
4134                    "levelutil/shader/prog/gtp_cau_photonmap.s3d_shaderprog_ru"
4135                    & "n"
4136                shaderprog_param_array
4137                {
4138                    src_var "lightViewProj"
4139                    dest_progvar "lightViewProj"
4140                }
4141                {
4142                    src_var "viewToWorld"
4143                    dest_progvar "viewToWorld"
4144                }
4145                {
4146                    src_var "viewToWorldInv"
4147                    dest_progvar "viewToWorldInv"
4148                }
4149                {
4150                    src_var "light_cenrange"
4151                    dest_progvar "lightPosView"
4152                }
4153                {
4154                    src_var "lastCenter"
4155                    dest_progvar "lastCenter"
4156                }
4157            }
4158        }
4159        {
4160            ident "gtp_shader.causticcube"
4161            param
4162            {
4163                env "shaderenv"
4164                methods "caustic_cast_method"
4165                rank -7700
4166                iter_start 0
4167                iter_end 0
4168                iter_step 0
4169                width_scale 1.0
4170                height_scale 1.0
4171                destprop_antialias 1
4172                passinfo_var ""
4173                src_array "photonmap"
4174                update_interval 1
4175                update_all_face 0
4176                start_frame 0
4177                photon_count 128
4178                use_points 1
4179                dest_array
4180                {
4181                    from_var "cauCubeMap"
4182                    to_var "cauCubeMap"
4183                    texprop_restrusage 0
4184                    texprop_depth 0
4185                    texprop_float 0
4186                    texprop_comp 4
4187                    texprop_bitspercomp 8
4188                    samplermode_filter 0
4189                    samplermode_clamp 1
4190                }
4191                shaderprog_ident
4192                    "levelutil/shader/prog/gtp_caustic_cubemap_point.s3d_shade"
4193                    & "rprog_run"
4194                shaderprog_param_array
4195            }
4196        }
4197        {
4198            ident "eng_shader_std.collexec"
4199            param
4200            {
4201                env "shaderenv"
4202                methods "main_method"
4203                coll_var "recievers"
4204                rank 13500
4205                exec_trigger "caustic_recieve_trigger"
4206                exec_param_array
4207                {
4208                    src_var "lastCenter"
4209                    dest_extvar "lastCenter"
4210                }
4211                {
4212                    src_var "cauCubeMap"
4213                    dest_extvar "cauCubeMap"
4214                }
4215            }
4216        }
4217    }
4218}
4219$
Note: See TracBrowser for help on using the repository browser.