source: GTP/trunk/App/Demos/Illum/Shark3D/version164x12u/IllumDemo/bin/res/client/actor/gfx.s3d_actor_run @ 2196

Revision 2196, 22.6 KB checked in by szirmay, 17 years ago (diff)
Line 
1///////////////////////////////////////////////////////////////////////////////
2//
3//      ##  ######
4//       ######  ###
5//  ## ###############        Shark 3D Engine (www.shark3d.com)
6//   ########## # # #
7//    ########                Copyright (c) 1996-2006 Spinor GmbH.
8//   ######### # # #          All rights reserved.
9//  ##   ##########
10//      ##
11//
12///////////////////////////////////////////////////////////////////////////////
13
14// Definition of the graphics output.
15// This includes the graphics engine object and the gfxports.
16//
17// This file defines three gfxports.
18// a) Display gfxport.   Depth range 0.00 to 0.01.
19// b) World gfxport.     Depth range 0.01 to 0.99
20// c) Sky gfxport.       Depth range 0.99 to 1.00
21
22// The client root actor is a capsule, defining an own local namespace.
23actor_ident "kit_base.capsule"
24actor_param
25{
26    // Delegate the action calls to all children:
27    active 1
28    // Scope name for reporting errors:
29    scope "gfx"
30    // Name of the capsule actor within its own namespace.
31    // Actors within the capsule can access the capsule
32    // actor itself by this name.
33    local_name "capsule"
34    // Delegate events from outside:
35    deleg_target "dispatch_export"
36    // The capsule actor contains a group of actors:
37    child_ident "kit_base.group"
38    child_param
39    {
40        // Delegate action calls to the children.
41        active 1
42        child_array
43        {
44            // Dispatcher for commands from outside the capsule.
45            ident "kit_base.dispatch"
46            param
47            {
48                name "dispatch_export"
49                entry_array
50                {
51                    cmds "set_gfxmgr_level"
52                    targets "gfxsect_level"
53                    newcmd "assign_gfxmgr"
54                }
55                {
56                    cmds "set_state_display"
57                    targets "gfxport_display"
58                    newcmd "assign_state"
59                }
60                {
61                    cmds "set_state_world"
62                    targets "gfxport_world"
63                    newcmd "assign_state"
64                }
65                {
66                    cmds "set_state_sky"
67                    targets "gfxport_sky"
68                    newcmd "assign_state"
69                }
70                {
71                    cmds "set_sim_world"
72                    targets "inspsim_world"
73                    newcmd "set_obj"
74                }
75                {
76                    cmds "set_noise_world"
77                    targets "inspnoise_world"
78                    newcmd "set_obj"
79                }
80                {
81                    cmds "set_sensorstate_world"
82                    targets "inspsensorstate_world"
83                    newcmd "set_obj"
84                }
85                {
86                    // Update camera transformation of world:
87                    cmds "set_camera_efftransf"
88                    targets "gfxport_world"
89                    newcmd "set_transf"
90                }
91                {
92                    // Click command:
93                    cmds "click"
94                        "set_cursor_x" "set_cursor_y"
95                        "move_cursor_x" "move_cursor_y"
96                    targets //"cursor"
97                }
98                {
99                    // Toggle frmtime information:
100                    cmds "toggle_frmtime"
101                    targets "inspfrmtime"
102                    newcmd "toggle_insp"
103                }
104                {
105                    // Toggle frmtime information:
106                    cmds "toggle_stat" "reset_stat"
107                    targets "inspfrmtime"
108                }
109                {
110                    cmds "reset_msg"
111                    targets "inspmsg"
112                    newcmd "reset"
113                }
114                {
115                    cmds "toggle_fullscreen"
116                    targets "gfxout"
117                }
118                {
119                    // Toggle visibility test:
120                    cmds "toggle_gfxmeshwire"
121                    targets
122                        "toggle_gfxmeshwire_sky"
123                        "toggle_gfxmeshwire_world"
124                        "toggle_gfxmeshwire_display"
125                    newcmd "perform"
126                }
127                {
128                    // Toggle visibility test:
129                    cmds "toggle_gfxboundwire"
130                    targets
131                        "toggle_gfxboundwire_sky"
132                        "toggle_gfxboundwire_world"
133                        "toggle_gfxboundwire_display"
134                    newcmd "perform"
135                }
136                {
137                    // Toggle visibility test:
138                    cmds "toggle_gfxshvolwire"
139                    targets
140                        "toggle_gfxshvolwire_sky"
141                        "toggle_gfxshvolwire_world"
142                        "toggle_gfxshvolwire_display"
143                    newcmd "perform"
144                }
145                {
146                    cmds "toggle_physmeshwire"
147                    targets "toggle_physmeshwire"
148                    newcmd "perform"
149                }
150                {
151                    cmds "toggle_physboundwire"
152                    targets "toggle_physboundwire"
153                    newcmd "perform"
154                }
155                {
156                    cmds "toggle_physcontactwire"
157                    targets "toggle_physcontactwire"
158                    newcmd "perform"
159                }
160                {
161                    cmds "toggle_noisewire"
162                    targets "toggle_noisewire"
163                    newcmd "perform"
164                }
165                {
166                    cmds "toggle_sensormeshwire"
167                    targets "toggle_sensormeshwire"
168                    newcmd "perform"
169                }
170                {
171                    cmds "toggle_sensorboundwire"
172                    targets "toggle_sensorboundwire"
173                    newcmd "perform"
174                }
175
176                // Paint sequence.
177                // The following entry_array define the steps in correct order
178                // which have to be performed for rendering a frame.
179                {
180                    cmds "paint"
181                    targets "gfxport_display"
182                    newcmd "perform"
183                }
184                {
185                    // Paint the general information.
186                    cmds "paint"
187                    targets "inspmem"
188                    newcmd "perform_insp"
189                }
190                {
191                    // Paint the general information.
192                    cmds "paint"
193                    targets "inspmsg"
194                    newcmd "perform_insp"
195                }
196                {
197                    // Paint the general information.
198                    cmds "paint"
199                    targets "inspgeneral"
200                    newcmd "perform_insp"
201                }
202                {
203                    // Finish the paint cycle.
204                    cmds "paint"
205                    targets "gfxeng"
206                    newcmd "perform_insp"
207                }
208                {
209                    // Finish the paint cycle.
210                    cmds "paint"
211                    targets "gfxout"
212                    newcmd "perform_insp"
213                }
214                {
215                    // Update per-frame information of the gfx engine.
216                    cmds "paint"
217                    targets "inspsim_world"
218                    newcmd "perform_insp"
219                }
220                {
221                    cmds "paint"
222                    targets "inspnoise_world"
223                    newcmd "perform_insp"
224                }
225                {
226                    // Update per-frame information of the gfx engine.
227                    cmds "paint"
228                    targets "inspsensorstate_world"
229                    newcmd "perform_insp"
230                }
231                {
232                    // Paint the inspfrmtime last:
233                    cmds "paint"
234                    targets "inspfrmtime"
235                    newcmd "perform_insp"
236                }
237                {
238                    // Draw the per-frame information.
239                    cmds "paint"
240                    targets "insppaint"
241                    newcmd "paint"
242                }
243                {
244                    // Finish the paint cycle.
245                    cmds "paint"
246                    targets "gfxeng"
247                    newcmd "end_render"
248                }
249                {
250                    cmds "paint"
251                    targets "gfxout"
252                    newcmd "present"
253                }
254            }
255        }
256        {
257            // 3D graphics engine:
258            ident "kit_io.gfxeng"
259            param
260            {
261                name "gfxeng"
262                active 1
263                extcfg_actor "^^^cfg"
264                extcfg_entry_param "gfxeng"
265                extcfg_entry_insp_stat_enabled "insp.gfxstat"
266                inspcollect "^^inspcollect"
267                given_array
268                {
269                    item "^^^envcompsuppl"
270                    given_ident "envcompsuppl"
271                }
272                {
273                    item "^^^env"
274                    given_ident "env"
275                }
276            }
277        }
278        {
279            // 3D graphics engine:
280            ident "kit_io.gfxout"
281            param
282            {
283                ctx "^ctx"
284                gfxeng "gfxeng"
285                name "gfxout"
286                active 1
287                extcfg_actor "^^^cfg"
288                extcfg_entry_param "gfxout"
289                extcfg_entry_insp_base_enabled "insp.gfxbase"
290                inspcollect "^^inspcollect"
291            }
292        }
293        {
294            ident "kit_engbase.gfxctx"
295            param
296            {
297                name "gfxctx"
298                gfxeng "gfxeng"
299                extcfg_actor ""
300                extcfg_entry_featureset ""
301            }
302        }
303        {
304            // 3D graphics engine:
305            ident "kit_engbase.gfxsect"
306            param
307            {
308                name "gfxsect_display"
309                gfxctx "gfxctx"
310                gfxmgr_actor "^^display"
311                gfxmgr_cmd "get_gfxmgr"
312            }
313        }
314        {
315            // 3D graphics engine:
316            ident "kit_engbase.gfxsect"
317            param
318            {
319                name "gfxsect_level"
320                gfxctx "gfxctx"
321                gfxmgr_actor ""
322                gfxmgr_cmd ""
323            }
324        }
325        {
326            // Painting per-frame information lines.
327            ident "kit_engbase.insppaint"
328            param
329            {
330                name "insppaint"
331                inspcollect "^^inspcollect"
332                gfxctx "gfxctx"
333                tex_suppl "^^^basesuppl"
334                tex_ident "tex:client/texture/charset.tga"
335                extcfg_actor "^^^cfg"
336                extcfg_entry_chunk "insp.paint"
337            }
338        }
339
340        {
341            // Reporting general information.
342            ident "kit_base.inspmsg"
343            param
344            {
345                name "inspmsg"
346                inspcollect "^^inspcollect"
347                extcfg_actor "^^^cfg"
348                extcfg_entry_insp "insp.msg"
349                extcfg_entry_limit "insp.msg_limit"
350                extcfg_entry_alsoinfo "insp.msg_alsoinfo"
351            }
352        }
353        {
354            // Reporting general information.
355            ident "kit_base.inspgeneral"
356            param
357            {
358                name "inspgeneral"
359                inspcollect "^^inspcollect"
360                extcfg_actor "^^^cfg"
361                extcfg_entry_insp "insp.general"
362            }
363        }
364        {
365            // frmtime calculation actor.
366            ident "kit_base.inspfrmtime"
367            param
368            {
369                name "inspfrmtime"
370                inspcollect "^^inspcollect"
371                extcfg_actor "^^^cfg"
372                extcfg_entry_insp "insp.frmtime"
373                extcfg_entry_logfile "insp.frmtime_logfile"
374            }
375        }
376        {
377            //
378            ident "kit_base.inspmem"
379            param
380            {
381                name "inspmem"
382                inspcollect "^^inspcollect"
383                extcfg_actor "^^^cfg"
384                extcfg_entry_insp "insp.mem"
385            }
386        }
387        {
388            ident "kit_engbase.gfxport"
389            param
390            {
391                name "gfxport_sky"
392               
393                active 1
394               
395                gfxout "gfxout"
396                gfxctx "gfxctx"
397                next ""
398                couple 0
399               
400                state_actor ""
401                state_cmd ""
402               
403                gfxstat "gfxstat"
404               
405                extcfg_actor "^^^cfg"
406                extcfg_entry_proj "proj_world"
407                extcfg_entry_param "gfxport"
408                //extcfg_entry_eyedist "eyedist.display"
409
410                view_transl_x 0.00
411                view_transl_y 0.00
412                view_scale_x 1.00
413                view_scale_y 1.00
414                view_depth_start 0.99
415                view_depth_end 1.00
416
417                // Use orthogonal projection.
418                proj_ortho 0
419                // View frustum extension.
420                // These values are plane slopes in case of a persepctive
421                // projection, and coordinates otherwise.
422                // If all set to zero, read from cfguration file instead.
423                proj_open_x 0.0
424                proj_open_y 0.0
425                proj_center_x 0.0
426                proj_center_y 0.0
427                // Clipping plane coordinates.
428                proj_neg_z 0.05
429                proj_pos_z 1000.0
430                // Fog:
431                fog_color 0.5 0.5 0.5
432                //fog_density 0.02
433               
434                destprop_antialias 1
435                clear_must_coloralpha 1
436                clear_color 0.0 0.0 0.0
437
438                enum_trigger "main_trigger"
439            }
440        }
441        {
442            ident "kit_engbase.gfxport"
443            param
444            {
445                name "gfxport_world"
446               
447                active 1
448               
449                gfxout "gfxout"
450                gfxctx "gfxctx"
451                next "gfxport_sky"
452                couple 1   // Sky is coupled
453               
454                state_actor ""
455                state_cmd ""
456               
457                gfxstat "gfxstat"
458               
459                extcfg_actor "^^^cfg"
460                extcfg_entry_proj "proj_world"
461                extcfg_entry_param "gfxport"
462                //extcfg_entry_eyedist "eyedist.display"
463
464                view_transl_x 0.00
465                view_transl_y 0.00
466                view_scale_x 1.00
467                view_scale_y 1.00
468                view_depth_start 0.01
469                view_depth_end 0.99
470
471                // Use orthogonal projection.
472                proj_ortho 0
473                // View frustum extension.
474                // These values are plane slopes in case of a persepctive
475                // projection, and coordinates otherwise.
476                // If all set to zero, read from cfguration file instead.
477                proj_open_x 0.0
478                proj_open_y 0.0
479                proj_center_x 0.0
480                proj_center_y 0.0
481                // Clipping plane coordinates.
482                proj_neg_z 0.05
483                proj_pos_z 1000.0
484                // Fog:
485                fog_color 0.5 0.5 0.5
486                //fog_density 0.02
487
488                destprop_antialias 1
489                clear_must_coloralpha 1
490                clear_color 0.0 0.0 0.0
491
492                enum_trigger "main_trigger"
493            }
494        }
495        {
496            ident "kit_engbase.gfxport"
497            param
498            {
499                name "gfxport_display"
500               
501                active 1
502               
503                gfxout "gfxout"
504                gfxctx "gfxctx"
505                next "gfxport_world"
506                couple 0
507
508                state_actor "^^display"
509                state_cmd "get_state"
510               
511                gfxstat "gfxstat"
512               
513                extcfg_actor "^^^cfg"
514                extcfg_entry_proj "proj_display"
515                extcfg_entry_param "gfxport"
516                //extcfg_entry_eyedist "eyedist.display"
517
518                view_transl_x 0.00
519                view_transl_y 0.00
520                view_scale_x 1.00
521                view_scale_y 1.00
522                view_depth_start 0.00
523                view_depth_end 0.01
524
525                proj_ortho 1
526                proj_open_x 0.0
527                proj_open_y 0.0
528                proj_center_x 0.0
529                proj_center_y 0.0
530                proj_neg_z -1.0
531                proj_pos_z 1.0
532
533                fog_color 0.5 0.5 0.5
534                //fog_density 0.02
535
536                destprop_antialias 1
537                clear_must_coloralpha 1
538                clear_color 0.0 0.0 0.0
539
540                enum_trigger "main_trigger"
541            }
542        }
543        {
544            ident "kit_engbase.inspperform"
545            param
546            {
547                name "inspsim_world"
548                inspcollect "^^inspcollect"
549                gfxport "gfxport_world"
550                obj ""
551            }
552        }
553        {
554            ident "kit_engbase.inspperform"
555            param
556            {
557                name "inspnoise_world"
558                inspcollect "^^inspcollect"
559                gfxport "gfxport_world"
560                obj ""
561            }
562        }
563        {
564            ident "kit_engbase.inspperform"
565            param
566            {
567                name "inspsensorstate_world"
568                inspcollect "^^inspcollect"
569                gfxport "gfxport_world"
570                obj ""
571            }
572        }
573        {
574            ident "kit_base.paramstr"
575            param
576            {
577                // Toggle visibility test:
578                name "toggle_gfxmeshwire_sky"
579                target "gfxport_sky"
580                cmd "toggle_mode_flag"
581                param "insp_shader_mesh"
582            }
583        }
584        {
585            ident "kit_base.paramstr"
586            param
587            {
588                // Toggle visibility test:
589                name "toggle_gfxmeshwire_world"
590                target "gfxport_world"
591                cmd "toggle_mode_flag"
592                param "insp_shader_mesh"
593            }
594        }
595        {
596            ident "kit_base.paramstr"
597            param
598            {
599                // Toggle visibility test:
600                name "toggle_gfxmeshwire_display"
601                target "gfxport_display"
602                cmd "toggle_mode_flag"
603                param "insp_shader_mesh"
604            }
605        }
606        {
607            ident "kit_base.paramstr"
608            param
609            {
610                // Toggle visibility test:
611                name "toggle_gfxboundwire_sky"
612                target "gfxport_sky"
613                cmd "toggle_mode_flag"
614                param "insp_shader_bound"
615            }
616        }
617        {
618            ident "kit_base.paramstr"
619            param
620            {
621                // Toggle visibility test:
622                name "toggle_gfxboundwire_world"
623                target "gfxport_world"
624                cmd "toggle_mode_flag"
625                param "insp_shader_bound"
626            }
627        }
628        {
629            ident "kit_base.paramstr"
630            param
631            {
632                // Toggle visibility test:
633                name "toggle_gfxboundwire_display"
634                target "gfxport_display"
635                cmd "toggle_mode_flag"
636                param "insp_shader_bound"
637            }
638        }
639        {
640            ident "kit_base.paramstr"
641            param
642            {
643                // Toggle visibility test:
644                name "toggle_gfxshvolwire_sky"
645                target "gfxport_sky"
646                cmd "toggle_mode_flag"
647                param "insp_shader_shvol"
648            }
649        }
650        {
651            ident "kit_base.paramstr"
652            param
653            {
654                // Toggle visibility test:
655                name "toggle_gfxshvolwire_world"
656                target "gfxport_world"
657                cmd "toggle_mode_flag"
658                param "insp_shader_shvol"
659            }
660        }
661        {
662            ident "kit_base.paramstr"
663            param
664            {
665                // Toggle visibility test:
666                name "toggle_gfxshvolwire_display"
667                target "gfxport_display"
668                cmd "toggle_mode_flag"
669                param "insp_shader_shvol"
670            }
671        }
672        {
673            ident "kit_base.paramstr"
674            param
675            {
676                name "toggle_physmeshwire"
677                target "gfxport_world"
678                cmd "toggle_mode_flag"
679                param "insp_sim_geo"
680            }
681        }
682        {
683            ident "kit_base.paramstr"
684            param
685            {
686                name "toggle_physboundwire"
687                target "gfxport_world"
688                cmd "toggle_mode_flag"
689                param "insp_sim_bound"
690            }
691        }
692        {
693            ident "kit_base.paramstr"
694            param
695            {
696                name "toggle_physcontactwire"
697                target "gfxport_world"
698                cmd "toggle_mode_flag"
699                param "insp_sim_contact"
700            }
701        }
702        {
703            ident "kit_base.paramstr"
704            param
705            {
706                name "toggle_noisewire"
707                target "gfxport_world"
708                cmd "toggle_mode_flag"
709                param "insp_noise"
710            }
711        }
712        {
713            ident "kit_base.paramstr"
714            param
715            {
716                name "toggle_sensormeshwire"
717                target "gfxport_world"
718                cmd "toggle_mode_flag"
719                param "insp_sensor_geo"
720            }
721        }
722        {
723            ident "kit_base.paramstr"
724            param
725            {
726                name "toggle_sensorboundwire"
727                target "gfxport_world"
728                cmd "toggle_mode_flag"
729                param "insp_sensor_bound"
730            }
731        }
732    }
733}
Note: See TracBrowser for help on using the repository browser.