== python api doc ==
[blender.git] / doc / python_api / rst / bge.logic.rst
1
2 Game Engine bge.logic Module
3 ============================
4 *****
5 Intro
6 *****
7
8 Module to access logic functions, imported automatically into the python controllers namespace.
9
10 .. module:: bge.logic
11
12 .. code-block:: python
13
14    # To get the controller thats running this python script:
15    cont = bge.logic.getCurrentController() # bge.logic is automatically imported
16    
17    # To get the game object this controller is on:
18    obj = cont.owner
19
20 :class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`bge.types.~KX_LightObject` methods are available depending on the type of object
21
22 .. code-block:: python
23
24    # To get a sensor linked to this controller.
25    # "sensorname" is the name of the sensor as defined in the Blender interface.
26    # +---------------------+  +--------+
27    # | Sensor "sensorname" +--+ Python +
28    # +---------------------+  +--------+
29    sens = cont.sensors["sensorname"]
30
31    # To get a sequence of all sensors:
32    sensors = co.sensors
33
34 See the sensor's reference for available methods:
35
36 .. hlist::
37    :columns: 3
38
39    * :class:`~bge.types.KX_MouseFocusSensor`
40    * :class:`~bge.types.KX_NearSensor`
41    * :class:`~bge.types.KX_NetworkMessageSensor`
42    * :class:`~bge.types.KX_RadarSensor`
43    * :class:`~bge.types.KX_RaySensor`
44    * :class:`~bge.types.KX_TouchSensor`
45    * :class:`~bge.types.SCA_DelaySensor`
46    * :class:`~bge.types.SCA_JoystickSensor`
47    * :class:`~bge.types.SCA_KeyboardSensor`
48    * :class:`~bge.types.SCA_MouseSensor`
49    * :class:`~bge.types.SCA_PropertySensor`
50    * :class:`~bge.types.SCA_RandomSensor`
51
52 You can also access actuators linked to the controller
53
54 .. code-block:: python
55
56    # To get an actuator attached to the controller:
57    #                          +--------+  +-------------------------+
58    #                          + Python +--+ Actuator "actuatorname" |
59    #                          +--------+  +-------------------------+
60    actuator = co.actuators["actuatorname"]
61    
62    # Activate an actuator
63    controller.activate(actuator)
64
65 See the actuator's reference for available methods
66
67 .. hlist::
68    :columns: 3
69    
70    * :class:`~bge.types.BL_ActionActuator`
71    * :class:`~bge.types.BL_ShapeActionActuator`
72    * :class:`~bge.types.KX_CameraActuator`
73    * :class:`~bge.types.KX_ConstraintActuator`
74    * :class:`~bge.types.KX_GameActuator`
75    * :class:`~bge.types.KX_IpoActuator`
76    * :class:`~bge.types.KX_NetworkMessageActuator`
77    * :class:`~bge.types.KX_ObjectActuator`
78    * :class:`~bge.types.KX_ParentActuator`
79    * :class:`~bge.types.KX_SCA_AddObjectActuator`
80    * :class:`~bge.types.KX_SCA_DynamicActuator`
81    * :class:`~bge.types.KX_SCA_EndObjectActuator`
82    * :class:`~bge.types.KX_SCA_ReplaceMeshActuator`
83    * :class:`~bge.types.KX_SceneActuator`
84    * :class:`~bge.types.KX_SoundActuator`
85    * :class:`~bge.types.KX_StateActuator`
86    * :class:`~bge.types.KX_TrackToActuator`
87    * :class:`~bge.types.KX_VisibilityActuator`
88    * :class:`~bge.types.SCA_2DFilterActuator`
89    * :class:`~bge.types.SCA_PropertyActuator`
90    * :class:`~bge.types.SCA_RandomActuator`
91
92 Most logic brick's methods are accessors for the properties available in the logic buttons.
93 Consult the logic bricks documentation for more information on how each logic brick works.
94
95 There are also methods to access the current :class:`bge.types.KX_Scene`
96
97 .. code-block:: python
98
99    # Get the current scene
100    scene = bge.logic.getCurrentScene()
101
102    # Get the current camera
103    cam = scene.active_camera
104
105 Matricies as used by the game engine are **row major**
106 ``matrix[row][col] = float``
107
108 :class:`bge.types.KX_Camera` has some examples using matricies.
109
110 *********
111 Variables
112 *********
113
114 .. data:: globalDict
115
116    A dictionary that is saved between loading blend files so you can use it to store inventory and other variables you want to store between scenes and blend files.
117    It can also be written to a file and loaded later on with the game load/save actuators.
118
119    .. note:: only python built in types such as int/string/bool/float/tuples/lists can be saved, GameObjects, Actuators etc will not work as expected.
120
121 .. data:: keyboard
122
123    The current keyboard wrapped in an :class:`~bge.types.SCA_PythonKeyboard` object.
124
125 .. data:: mouse
126
127    The current mouse wrapped in an :class:`~bge.types.SCA_PythonMouse` object.
128
129 *****************
130 General functions
131 *****************
132
133 .. function:: getCurrentController()
134
135    Gets the Python controller associated with this Python script.
136    
137    :rtype: :class:`bge.types.SCA_PythonController`
138
139 .. function:: getCurrentScene()
140
141    Gets the current Scene.
142    
143    :rtype: :class:`bge.types.KX_Scene`
144
145 .. function:: getSceneList()
146
147    Gets a list of the current scenes loaded in the game engine.
148    
149    :rtype: list of :class:`bge.types.KX_Scene`
150    
151    .. note:: Scenes in your blend file that have not been converted wont be in this list. This list will only contain scenes such as overlays scenes.
152
153 .. function:: loadGlobalDict()
154
155    Loads bge.logic.globalDict from a file.
156
157 .. function:: saveGlobalDict()
158
159    Saves bge.logic.globalDict to a file.
160
161 .. function:: startGame(blend)
162
163    Loads the blend file.
164    
165    :arg blend: The name of the blend file
166    :type blend: string
167
168 .. function:: endGame()
169
170    Ends the current game.
171
172 .. function:: restartGame()
173
174    Restarts the current game by reloading the .blend file (the last saved version, not what is currently running).
175    
176 .. function:: LibLoad(blend, type, data)
177    
178    Converts the all of the datablocks of the given type from the given blend.
179    
180    :arg blend: The path to the blend file (or the name to use for the library if data is supplied)
181    :type blend: string
182    :arg type: The datablock type (currently only "Action", "Mesh" and "Scene" are supported)
183    :type type: string
184    :arg data: Binary data from a blend file (optional)
185    :type data: bytes
186    
187 .. function:: LibNew(name, type, data)
188
189    Uses existing datablock data and loads in as a new library.
190    
191    :arg name: A unique library name used for removal later
192    :type name: string
193    :arg type: The datablock type (currently only "Mesh" is supported)
194    :type type: string
195    :arg data: A list of names of the datablocks to load
196    :type data: list of strings
197    
198 .. function:: LibFree(name)
199
200    Frees a library, removing all objects and meshes from the currently active scenes.
201
202    :arg name: The name of the library to free (the name used in LibNew)
203    :type name: string
204
205 .. function:: addScene(name, overlay=1)
206
207    Loads a scene into the game engine.
208
209    :arg name: The name of the scene
210    :type name: string
211    :arg overlay: Overlay or underlay (optional)
212    :type overlay: integer
213
214 .. function:: sendMessage(subject, body="", to="", message_from="")
215
216    Sends a message to sensors in any active scene.
217    
218    :arg subject: The subject of the message
219    :type subject: string
220    :arg body: The body of the message (optional)
221    :type body: string
222    :arg to: The name of the object to send the message to (optional)
223    :type to: string
224    :arg message_from: The name of the object that the message is coming from (optional)
225    :type message_from: string
226
227 .. function:: setGravity(gravity)
228
229    Sets the world gravity.
230    
231    :type gravity: list [fx, fy, fz]
232
233 .. function:: getSpectrum()
234
235    Returns a 512 point list from the sound card.
236    This only works if the fmod sound driver is being used.
237    
238    :rtype: list [float], len(getSpectrum()) == 512
239
240 .. function:: stopDSP()
241
242    Stops the sound driver using DSP effects.
243    
244    Only the fmod sound driver supports this.
245    DSP can be computationally expensive.
246
247 .. function:: getMaxLogicFrame()
248
249    Gets the maximum number of logic frames per render frame.
250    
251    :return: The maximum number of logic frames per render frame
252    :rtype: integer
253
254 .. function:: setMaxLogicFrame(maxlogic)
255
256    Sets the maximum number of logic frames that are executed per render frame.
257    This does not affect the physic system that still runs at full frame rate.   
258     
259    :arg maxlogic: The new maximum number of logic frames per render frame. Valid values: 1..5
260    :type maxlogic: integer
261
262 .. function:: getMaxPhysicsFrame()
263
264    Gets the maximum number of physics frames per render frame.
265    
266    :return: The maximum number of physics frames per render frame
267    :rtype: integer
268
269 .. function:: setMaxPhysicsFrame(maxphysics)
270
271    Sets the maximum number of physics timestep that are executed per render frame.
272    Higher value allows physics to keep up with realtime even if graphics slows down the game.
273    Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
274    maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
275     
276    :arg maxphysics: The new maximum number of physics timestep per render frame. Valid values: 1..5.
277    :type maxphysics: integer
278
279 .. function:: getLogicTicRate()
280
281    Gets the logic update frequency.
282    
283    :return: The logic frequency in Hz
284    :rtype: float
285
286 .. function:: setLogicTicRate(ticrate)
287
288    Sets the logic update frequency.
289    
290    The logic update frequency is the number of times logic bricks are executed every second.
291    The default is 60 Hz.
292    
293    :arg ticrate: The new logic update frequency (in Hz).
294    :type ticrate: float
295
296 .. function:: getPhysicsTicRate()
297
298    Gets the physics update frequency
299    
300    :return: The physics update frequency in Hz
301    :rtype: float
302    
303    .. warning: Not implimented yet
304
305 .. function:: setPhysicsTicRate(ticrate)
306
307    Sets the physics update frequency
308    
309    The physics update frequency is the number of times the physics system is executed every second.
310    The default is 60 Hz.
311    
312    :arg ticrate: The new update frequency (in Hz).
313    :type ticrate: float
314
315    .. warning: Not implimented yet
316
317 *****************
318 Utility functions
319 *****************
320
321 .. function:: expandPath(path)
322
323    Converts a blender internal path into a proper file system path.
324
325    Use / as directory separator in path
326    You can use '//' at the start of the string to define a relative path;
327    Blender replaces that string by the directory of the startup .blend or runtime file
328    to make a full path name (doesn't change during the game, even if you load other .blend).
329    The function also converts the directory separator to the local file system format.
330
331    :arg path: The path string to be converted/expanded.
332    :type path: string
333    :return: The converted string
334    :rtype: string
335
336 .. function:: getAverageFrameRate()
337
338    Gets the estimated average framerate
339    
340    :return: The estimed average framerate in frames per second
341    :rtype: float
342
343 .. function:: getBlendFileList(path = "//")
344
345    Returns a list of blend files in the same directory as the open blend file, or from using the option argument.
346
347    :arg path: Optional directory argument, will be expanded (like expandPath) into the full path.
348    :type path: string
349    :return: A list of filenames, with no directory prefix
350    :rtype: list
351
352 .. function:: getRandomFloat()
353
354    Returns a random floating point value in the range [0 - 1)
355
356 .. function:: PrintGLInfo()
357
358    Prints GL Extension Info into the console
359    
360 *********
361 Constants
362 *********
363
364 .. data:: KX_TRUE
365
366    True value used by some modules.
367
368 .. data:: KX_FALSE
369
370    False value used by some modules.
371
372 =======
373 Sensors
374 ======= 
375
376 .. _sensor-status:
377
378 -------------
379 Sensor Status
380 -------------
381
382 .. data:: KX_SENSOR_INACTIVE
383 .. data:: KX_SENSOR_JUST_ACTIVATED
384 .. data:: KX_SENSOR_ACTIVE
385 .. data:: KX_SENSOR_JUST_DEACTIVATED
386
387 .. _logic-property-sensor:
388
389 ---------------
390 Property Sensor
391 ---------------
392
393 .. data:: KX_PROPSENSOR_EQUAL
394
395    Activate when the property is equal to the sensor value.
396
397    :value: 1
398
399 .. data:: KX_PROPSENSOR_NOTEQUAL
400
401    Activate when the property is not equal to the sensor value.
402    
403    :value: 2
404
405 .. data:: KX_PROPSENSOR_INTERVAL
406
407    Activate when the property is between the specified limits.
408    
409    :value: 3
410    
411 .. data:: KX_PROPSENSOR_CHANGED
412
413    Activate when the property changes   
414
415    :value: 4
416
417 .. data:: KX_PROPSENSOR_EXPRESSION
418
419    Activate when the expression matches
420    
421    :value: 5
422
423 ------------
424 Radar Sensor
425 ------------
426
427 See :class:`bge.types.KX_RadarSensor`
428
429 .. data:: KX_RADAR_AXIS_POS_X
430 .. data:: KX_RADAR_AXIS_POS_Y
431 .. data:: KX_RADAR_AXIS_POS_Z
432 .. data:: KX_RADAR_AXIS_NEG_X
433 .. data:: KX_RADAR_AXIS_NEG_Y
434 .. data:: KX_RADAR_AXIS_NEG_Z
435
436 ----------
437 Ray Sensor
438 ----------
439
440 See :class:`bge.types.KX_RaySensor`
441
442 .. data:: KX_RAY_AXIS_POS_X
443 .. data:: KX_RAY_AXIS_POS_Y
444 .. data:: KX_RAY_AXIS_POS_Z
445 .. data:: KX_RAY_AXIS_NEG_X
446 .. data:: KX_RAY_AXIS_NEG_Y
447 .. data:: KX_RAY_AXIS_NEG_Z
448
449
450 =========
451 Actuators
452 =========
453
454 .. _action-actuator:
455
456 ---------------
457 Action Actuator
458 ---------------
459
460 See :class:`bge.types.BL_ActionActuator`
461
462 .. data:: KX_ACTIONACT_PLAY
463 .. data:: KX_ACTIONACT_FLIPPER
464 .. data:: KX_ACTIONACT_LOOPSTOP
465 .. data:: KX_ACTIONACT_LOOPEND
466 .. data:: KX_ACTIONACT_PROPERTY
467
468 -------------------
469 Constraint Actuator
470 -------------------
471
472 .. _constraint-actuator-option:
473
474 See :class:`bge.types.KX_ConstraintActuator.option`
475
476 * Applicable to Distance constraint:
477
478   .. data:: KX_ACT_CONSTRAINT_NORMAL
479
480      Activate alignment to surface
481    
482   .. data:: KX_ACT_CONSTRAINT_DISTANCE
483
484      Activate distance control
485
486   .. data:: KX_ACT_CONSTRAINT_LOCAL
487
488      Direction of the ray is along the local axis
489
490 * Applicable to Force field constraint:
491
492   .. data:: KX_ACT_CONSTRAINT_DOROTFH
493
494      Force field act on rotation as well
495
496 * Applicable to both:
497
498   .. data:: KX_ACT_CONSTRAINT_MATERIAL
499
500      Detect material rather than property
501    
502   .. data:: KX_ACT_CONSTRAINT_PERMANENT
503
504      No deactivation if ray does not hit target
505
506 .. _constraint-actuator-limit:
507
508 See :class:`bge.types.KX_ConstraintActuator.limit`
509
510 .. data:: KX_CONSTRAINTACT_LOCX
511
512    Limit X coord.
513    
514 .. data:: KX_CONSTRAINTACT_LOCY
515
516    Limit Y coord
517
518 .. data:: KX_CONSTRAINTACT_LOCZ
519
520    Limit Z coord
521    
522 .. data:: KX_CONSTRAINTACT_ROTX
523
524    Limit X rotation
525
526 .. data:: KX_CONSTRAINTACT_ROTY
527
528    Limit Y rotation
529    
530 .. data:: KX_CONSTRAINTACT_ROTZ
531
532    Limit Z rotation
533    
534 .. data:: KX_CONSTRAINTACT_DIRNX
535
536    Set distance along negative X axis
537
538 .. data:: KX_CONSTRAINTACT_DIRNY
539
540    Set distance along negative Y axis
541    
542 .. data:: KX_CONSTRAINTACT_DIRNZ
543
544    Set distance along negative Z axis
545    
546 .. data:: KX_CONSTRAINTACT_DIRPX
547
548    Set distance along positive X axis
549
550 .. data:: KX_CONSTRAINTACT_DIRPY
551
552    Set distance along positive Y axis
553    
554 .. data:: KX_CONSTRAINTACT_DIRPZ
555
556    Set distance along positive Z axis
557    
558 .. data:: KX_CONSTRAINTACT_ORIX
559
560    Set orientation of X axis
561    
562 .. data:: KX_CONSTRAINTACT_ORIY
563
564    Set orientation of Y axis
565    
566 .. data:: KX_CONSTRAINTACT_ORIZ
567
568    Set orientation of Z axis
569    
570 .. data:: KX_ACT_CONSTRAINT_FHNX
571
572    Set force field along negative X axis
573    
574 .. data:: KX_ACT_CONSTRAINT_FHNY
575
576    Set force field along negative Y axis
577    
578 .. data:: KX_ACT_CONSTRAINT_FHNZ
579
580    Set force field along negative Z axis
581    
582 .. data:: KX_ACT_CONSTRAINT_FHPX
583
584    Set force field along positive X axis
585
586 .. data:: KX_ACT_CONSTRAINT_FHPY
587
588    Set force field along positive Y axis
589    
590 .. data:: KX_ACT_CONSTRAINT_FHPZ
591
592    Set force field along positive Z axis
593
594 ----------------
595 Dynamic Actuator
596 ----------------
597
598 See :class:`bge.types.KX_SCA_DynamicActuator`
599
600 .. data:: KX_DYN_RESTORE_DYNAMICS
601 .. data:: KX_DYN_DISABLE_DYNAMICS
602 .. data:: KX_DYN_ENABLE_RIGID_BODY
603 .. data:: KX_DYN_DISABLE_RIGID_BODY
604 .. data:: KX_DYN_SET_MASS
605
606 .. _game-actuator:
607
608 -------------
609 Game Actuator
610 -------------
611
612 See :class:`bge.types.KX_GameActuator`
613
614 .. data:: KX_GAME_LOAD
615 .. data:: KX_GAME_START
616 .. data:: KX_GAME_RESTART
617 .. data:: KX_GAME_QUIT
618 .. data:: KX_GAME_SAVECFG
619 .. data:: KX_GAME_LOADCFG
620
621 .. _ipo-actuator:
622
623 ------------
624 IPO Actuator
625 ------------
626
627 See :class:`bge.types.KX_IpoActuator`
628
629 .. data:: KX_IPOACT_PLAY
630 .. data:: KX_IPOACT_PINGPONG
631 .. data:: KX_IPOACT_FLIPPER
632 .. data:: KX_IPOACT_LOOPSTOP
633 .. data:: KX_IPOACT_LOOPEND
634 .. data:: KX_IPOACT_FROM_PROP
635
636 ---------------
637 Parent Actuator
638 ---------------
639
640 .. data:: KX_PARENT_REMOVE
641 .. data:: KX_PARENT_SET
642
643 .. _logic-random-distributions:
644
645 --------------------
646 Random Distributions
647 --------------------
648
649 See :class:`bge.types.SCA_RandomActuator`
650
651 .. data:: KX_RANDOMACT_BOOL_CONST
652 .. data:: KX_RANDOMACT_BOOL_UNIFORM
653 .. data:: KX_RANDOMACT_BOOL_BERNOUILLI
654 .. data:: KX_RANDOMACT_INT_CONST
655 .. data:: KX_RANDOMACT_INT_UNIFORM
656 .. data:: KX_RANDOMACT_INT_POISSON
657 .. data:: KX_RANDOMACT_FLOAT_CONST
658 .. data:: KX_RANDOMACT_FLOAT_UNIFORM
659 .. data:: KX_RANDOMACT_FLOAT_NORMAL
660 .. data:: KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
661
662 --------------
663 Scene Actuator
664 --------------
665
666 See :class:`bge.types.KX_SceneActuator`
667
668 .. data:: KX_SCENE_RESTART
669 .. data:: KX_SCENE_SET_SCENE
670 .. data:: KX_SCENE_SET_CAMERA
671 .. data:: KX_SCENE_ADD_FRONT_SCENE
672 .. data:: KX_SCENE_ADD_BACK_SCENE
673 .. data:: KX_SCENE_REMOVE_SCENE
674 .. data:: KX_SCENE_SUSPEND
675 .. data:: KX_SCENE_RESUME
676
677 .. _shape-action-actuator:
678
679 ---------------------
680 Shape Action Actuator
681 ---------------------
682
683 See :class:`bge.types.BL_ActionActuator`
684
685 .. data:: KX_ACTIONACT_PLAY
686 .. data:: KX_ACTIONACT_FLIPPER
687 .. data:: KX_ACTIONACT_LOOPSTOP
688 .. data:: KX_ACTIONACT_LOOPEND
689 .. data:: KX_ACTIONACT_PROPERTY
690
691 .. _logic-sound-actuator:
692
693 --------------
694 Sound Actuator
695 --------------
696       
697 See :class:`bge.types.KX_SoundActuator`
698
699 .. data:: KX_SOUNDACT_PLAYSTOP
700
701    :value: 1
702    
703 .. data:: KX_SOUNDACT_PLAYEND
704
705    :value: 2
706    
707 .. data:: KX_SOUNDACT_LOOPSTOP
708
709    :value: 3
710    
711 .. data:: KX_SOUNDACT_LOOPEND
712
713    :value: 4
714    
715 .. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL
716
717    :value: 5
718    
719 .. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP
720
721    :value: 6
722    
723
724 =======
725 Various
726 =======
727
728 .. _input-status:
729
730 ------------
731 Input Status
732 ------------
733
734 See :class:`bge.types.SCA_PythonKeyboard`, :class:`bge.types.SCA_PythonMouse`, :class:`bge.types.SCA_MouseSensor`, :class:`bge.types.SCA_KeyboardSensor`
735
736 .. data:: KX_INPUT_NONE
737 .. data:: KX_INPUT_JUST_ACTIVATED
738 .. data:: KX_INPUT_ACTIVE
739 .. data:: KX_INPUT_JUST_RELEASED
740
741 -------------
742 Mouse Buttons
743 -------------
744
745 See :class:`bge.types.SCA_MouseSensor`
746
747 .. data:: KX_MOUSE_BUT_LEFT
748 .. data:: KX_MOUSE_BUT_MIDDLE
749 .. data:: KX_MOUSE_BUT_RIGHT
750
751 ------
752 States
753 ------
754
755 See :class:`bge.types.KX_StateActuator`
756
757 .. data:: KX_STATE1
758 .. data:: KX_STATE2
759 .. data:: KX_STATE3
760 .. data:: KX_STATE4
761 .. data:: KX_STATE5
762 .. data:: KX_STATE6
763 .. data:: KX_STATE7
764 .. data:: KX_STATE8
765 .. data:: KX_STATE9
766 .. data:: KX_STATE10
767 .. data:: KX_STATE11
768 .. data:: KX_STATE12
769 .. data:: KX_STATE13
770 .. data:: KX_STATE14
771 .. data:: KX_STATE15
772 .. data:: KX_STATE16
773 .. data:: KX_STATE17
774 .. data:: KX_STATE18
775 .. data:: KX_STATE19
776 .. data:: KX_STATE20
777 .. data:: KX_STATE21
778 .. data:: KX_STATE22
779 .. data:: KX_STATE23
780 .. data:: KX_STATE24
781 .. data:: KX_STATE25
782 .. data:: KX_STATE26
783 .. data:: KX_STATE27
784 .. data:: KX_STATE28
785 .. data:: KX_STATE29
786 .. data:: KX_STATE30
787
788 .. _state-actuator-operation:
789
790 See :class:`bge.types.KX_StateActuator.operation`
791
792 .. data:: KX_STATE_OP_CLR
793
794    Substract bits to state mask
795    
796    :value: 0
797
798 .. data:: KX_STATE_OP_CPY
799
800    Copy state mask
801    
802    :value: 1
803    
804 .. data:: KX_STATE_OP_NEG
805
806    Invert bits to state mask
807    
808    :value: 2
809    
810 .. data:: KX_STATE_OP_SET
811
812    Add bits to state mask
813    
814    :value: 3
815    
816 .. _Two-D-FilterActuator-mode:
817
818 ---------
819 2D Filter
820 ---------
821
822 .. data:: RAS_2DFILTER_BLUR
823
824    :value: 2
825    
826 .. data:: RAS_2DFILTER_CUSTOMFILTER
827
828    Customer filter, the code code is set via shaderText property.
829    
830    :value: 12
831    
832 .. data:: RAS_2DFILTER_DILATION
833
834    :value: 4
835    
836 .. data:: RAS_2DFILTER_DISABLED
837
838    Disable the filter that is currently active
839
840    :value: -1
841    
842 .. data:: RAS_2DFILTER_ENABLED
843
844    Enable the filter that was previously disabled
845
846    :value: -2
847    
848 .. data:: RAS_2DFILTER_EROSION
849
850    :value: 5
851    
852 .. data:: RAS_2DFILTER_GRAYSCALE
853
854    :value: 9
855    
856 .. data:: RAS_2DFILTER_INVERT
857
858    :value: 11
859    
860 .. data:: RAS_2DFILTER_LAPLACIAN
861
862    :value: 6
863    
864 .. data:: RAS_2DFILTER_MOTIONBLUR
865
866    Create and enable preset filters
867
868    :value: 1
869    
870 .. data:: RAS_2DFILTER_NOFILTER
871
872    Disable and destroy the filter that is currently active
873
874    :value: 0
875    
876 .. data:: RAS_2DFILTER_PREWITT
877
878    :value: 8
879    
880 .. data:: RAS_2DFILTER_SEPIA
881
882    :value: 10
883    
884 .. data:: RAS_2DFILTER_SHARPEN
885
886    :value: 3
887    
888 .. data:: RAS_2DFILTER_SOBEL
889
890    :value: 7
891    
892 ------
893 Shader
894 ------
895
896 .. data:: VIEWMATRIX
897 .. data:: VIEWMATRIX_INVERSE
898 .. data:: VIEWMATRIX_INVERSETRANSPOSE
899 .. data:: VIEWMATRIX_TRANSPOSE
900 .. data:: MODELMATRIX
901 .. data:: MODELMATRIX_INVERSE
902 .. data:: MODELMATRIX_INVERSETRANSPOSE
903 .. data:: MODELMATRIX_TRANSPOSE
904 .. data:: MODELVIEWMATRIX
905 .. data:: MODELVIEWMATRIX_INVERSE
906 .. data:: MODELVIEWMATRIX_INVERSETRANSPOSE
907 .. data:: MODELVIEWMATRIX_TRANSPOSE
908 .. data:: CAM_POS
909
910    Current camera position
911
912 .. data:: CONSTANT_TIMER
913
914    User a timer for the uniform value.
915
916 .. data:: SHD_TANGENT
917
918 ----------------
919 Blender Material
920 ----------------
921
922 .. data:: BL_DST_ALPHA
923 .. data:: BL_DST_COLOR
924 .. data:: BL_ONE
925 .. data:: BL_ONE_MINUS_DST_ALPHA
926 .. data:: BL_ONE_MINUS_DST_COLOR
927 .. data:: BL_ONE_MINUS_SRC_ALPHA
928 .. data:: BL_ONE_MINUS_SRC_COLOR
929 .. data:: BL_SRC_ALPHA
930 .. data:: BL_SRC_ALPHA_SATURATE
931 .. data:: BL_SRC_COLOR
932 .. data:: BL_ZERO