2
0
Эх сурвалжийг харах

Proofread, fix titles

Make some titles use "The one true way" for capitalization
instead of "The One True Way". Some proofreading while at it
+ renaming of some files for clarity and to match their h1 title.
Rémi Verschelde 9 жил өмнө
parent
commit
1fd0086d95

+ 1 - 1
tutorials/2d/_2d_graphics.rst

@@ -11,4 +11,4 @@ Graphics
    screen-reading_shaders
    screen-reading_shaders
    particle_systems_2d
    particle_systems_2d
    cutout_animation
    cutout_animation
-   tilemap
+   using_tilemaps

+ 14 - 23
tutorials/2d/canvas_layers.rst

@@ -1,39 +1,34 @@
 .. _doc_canvas_layers:
 .. _doc_canvas_layers:
 
 
-Canvas Layers
+Canvas layers
 =============
 =============
 
 
-Viewport and Canvas Items
+Viewport and Canvas items
 -------------------------
 -------------------------
 
 
-Regular 2D nodes, such as
-:ref:`Node2D <class_Node2D>` or
-:ref:`Control <class_Control>`
-both inherit from
-:ref:`CanvasItem <class_CanvasItem>`,
-which is the base for all 2D nodes. CanvasItems can be arranged in trees
-and they will inherit their transform. This means that, moving the
-parent, the children will be moved too.
+Regular 2D nodes, such as :ref:`Node2D <class_Node2D>` or
+:ref:`Control <class_Control>` both inherit from
+:ref:`CanvasItem <class_CanvasItem>`, which is the base for all 2D
+nodes. CanvasItems can be arranged in trees and they will inherit
+their transform. This means that, moving the parent, the children
+will be moved too.
 
 
 These nodes are placed as direct or indirect children to a
 These nodes are placed as direct or indirect children to a
-:ref:`Viewport <class_Viewport>`,
-and will be displayed through it.
+:ref:`Viewport <class_Viewport>`, and will be displayed through it.
 
 
 Viewport has a property "canvas_transform"
 Viewport has a property "canvas_transform"
 :ref:`Viewport.set_canvas_transform() <class_Viewport_set_canvas_transform>`,
 :ref:`Viewport.set_canvas_transform() <class_Viewport_set_canvas_transform>`,
 which allows to transform all the CanvasItem hierarchy by a custom
 which allows to transform all the CanvasItem hierarchy by a custom
-:ref:`Matrix32 <class_Matrix32>`
-transform. Nodes such as
-:ref:`Camera2D <class_Camera2D>`,
-work by changing that transform.
+:ref:`Matrix32 <class_Matrix32>` transform. Nodes such as
+:ref:`Camera2D <class_Camera2D>`, work by changing that transform.
 
 
 Changing the canvas transform is useful because it is a lot more
 Changing the canvas transform is useful because it is a lot more
 efficient than moving the root canvas item (and hence the whole scene).
 efficient than moving the root canvas item (and hence the whole scene).
 Canvas transform is a simple matrix that offsets the whole 2D drawing,
 Canvas transform is a simple matrix that offsets the whole 2D drawing,
 so it's the most efficient way to do scrolling.
 so it's the most efficient way to do scrolling.
 
 
-Not Enough..
-------------
+Not enough...
+-------------
 
 
 But this is not enough. There are often situations where the game or
 But this is not enough. There are often situations where the game or
 application may not want *everything* transformed by the canvas
 application may not want *everything* transformed by the canvas
@@ -51,8 +46,7 @@ How can these problems be solved in a single scene tree?
 CanvasLayers
 CanvasLayers
 ------------
 ------------
 
 
-The answer is
-:ref:`CanvasLayer <class_CanvasLayer>`,
+The answer is :ref:`CanvasLayer <class_CanvasLayer>`,
 which is a node that adds a separate 2D rendering layer for all it's
 which is a node that adds a separate 2D rendering layer for all it's
 children and grand-children. Viewport children will draw by default at
 children and grand-children. Viewport children will draw by default at
 layer "0", while a CanvasLayer will draw at any numeric layer. Layers
 layer "0", while a CanvasLayer will draw at any numeric layer. Layers
@@ -80,6 +74,3 @@ advised to use excessive amount of layers to arrange drawing order of
 nodes. The most optimal way will always be arranging them by tree order.
 nodes. The most optimal way will always be arranging them by tree order.
 In the future, nodes will also have a priority or sub-layer index which
 In the future, nodes will also have a priority or sub-layer index which
 should aid for this.
 should aid for this.
-
-
-

+ 10 - 17
tutorials/2d/custom_drawing_in_2d.rst

@@ -1,6 +1,6 @@
 .. _doc_custom_drawing_in_2d:
 .. _doc_custom_drawing_in_2d:
 
 
-Custom Drawing in 2D
+Custom drawing in 2D
 ====================
 ====================
 
 
 Why?
 Why?
@@ -11,12 +11,11 @@ stuff. For far most cases this is enough, but not always. If something
 desired is not supported, and before crying in fear, angst and range
 desired is not supported, and before crying in fear, angst and range
 because a node to draw that-specific-something does not exist.. it would
 because a node to draw that-specific-something does not exist.. it would
 be good to know that it is possible to easily make any 2D node (be it
 be good to know that it is possible to easily make any 2D node (be it
-:ref:`Control <class_Control>` or
-:ref:`Node2D <class_Node2D>`
+:ref:`Control <class_Control>` or :ref:`Node2D <class_Node2D>`
 based) draw custom commands. It is *really* easy to do it too.
 based) draw custom commands. It is *really* easy to do it too.
 
 
-But..
------
+But...
+------
 
 
 Custom drawing manually in a node is *really* useful. Here are some
 Custom drawing manually in a node is *really* useful. Here are some
 examples why:
 examples why:
@@ -34,15 +33,12 @@ examples why:
 -  Making a custom UI control. There are plenty of controls available,
 -  Making a custom UI control. There are plenty of controls available,
    but it's easy to run into the need to make a new, custom one.
    but it's easy to run into the need to make a new, custom one.
 
 
-OK, How?
+OK, how?
 --------
 --------
 
 
-Add a script to any
-:ref:`CanvasItem <class_CanvasItem>`
-derived node, like
-:ref:`Control <class_Control>` or
-:ref:`Node2D <class_Node2D>`.
-Override the _draw() function.
+Add a script to any :ref:`CanvasItem <class_CanvasItem>`
+derived node, like :ref:`Control <class_Control>` or
+:ref:`Node2D <class_Node2D>`. Override the _draw() function.
 
 
 ::
 ::
 
 
@@ -52,8 +48,7 @@ Override the _draw() function.
         #your draw commands here
         #your draw commands here
         pass
         pass
 
 
-Draw commands are described in the
-:ref:`CanvasItem <class_CanvasItem>`
+Draw commands are described in the :ref:`CanvasItem <class_CanvasItem>`
 class reference. There are plenty of them.
 class reference. There are plenty of them.
 
 
 Updating
 Updating
@@ -63,8 +58,7 @@ The _draw() function is only called once, and then the draw commands
 are cached and remembered, so further calls are unnecessary.
 are cached and remembered, so further calls are unnecessary.
 
 
 If re-drawing is required because a state or something else changed,
 If re-drawing is required because a state or something else changed,
-simply call
-:ref:`CanvasItem.update() <class_CanvasItem_update>`
+simply call :ref:`CanvasItem.update() <class_CanvasItem_update>`
 in that same node and a new _draw() call will happen.
 in that same node and a new _draw() call will happen.
 
 
 Here is a little more complex example. A texture variable that will be
 Here is a little more complex example. A texture variable that will be
@@ -113,4 +107,3 @@ behavior.
 
 
 Remember to just use the "tool" keyword at the top of the script
 Remember to just use the "tool" keyword at the top of the script
 (check the :ref:`doc_gdscript` reference if you forgot what this does).
 (check the :ref:`doc_gdscript` reference if you forgot what this does).
-

+ 8 - 11
tutorials/2d/custom_gui_controls.rst

@@ -1,10 +1,10 @@
 .. _doc_custom_gui_controls:
 .. _doc_custom_gui_controls:
 
 
-Custom GUI Controls
+Custom GUI controls
 ===================
 ===================
 
 
-So Many Controls..
-------------------
+So many controls...
+-------------------
 
 
 Yet there are never enough. Creating your own custom controls that act
 Yet there are never enough. Creating your own custom controls that act
 just the way you want them is an obsession of almost every GUI
 just the way you want them is an obsession of almost every GUI
@@ -20,7 +20,7 @@ For drawing, it is recommended to check the :ref:`doc_custom_drawing_in_2d` tuto
 The same applies. Some functions are worth mentioning due to their
 The same applies. Some functions are worth mentioning due to their
 usefulness when drawing, so they will be detailed next:
 usefulness when drawing, so they will be detailed next:
 
 
-Checking Control Size
+Checking control size
 ~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~
 
 
 Unlike 2D nodes, "size" is very important with controls, as it helps to
 Unlike 2D nodes, "size" is very important with controls, as it helps to
@@ -29,7 +29,7 @@ organize them in proper layouts. For this, the
 method is provided. Checking it during _draw() is vital to ensure
 method is provided. Checking it during _draw() is vital to ensure
 everything is kept in-bounds.
 everything is kept in-bounds.
 
 
-Checking Focus
+Checking focus
 ~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~
 
 
 Some controls (such as buttons or text editors) might provide input
 Some controls (such as buttons or text editors) might provide input
@@ -39,8 +39,7 @@ or pressing a button. This is controlled with the
 function. When drawing, and if the control supports input focus, it is
 function. When drawing, and if the control supports input focus, it is
 always desired to show some sort of indicator (highight, box, etc) to
 always desired to show some sort of indicator (highight, box, etc) to
 indicate that this is the currently focused control. To check for this
 indicate that this is the currently focused control. To check for this
-status, the
-:ref:`Control.has_focus() <class_Control_has_focus>`
+status, the :ref:`Control.has_focus() <class_Control_has_focus>`
 exists. Example
 exists. Example
 
 
 ::
 ::
@@ -58,8 +57,7 @@ As mentioned before, size is very important to controls. This allows
 them to lay out properly, when set into grids, containers, or anchored.
 them to lay out properly, when set into grids, containers, or anchored.
 Controls most of the time provide a *minimum size* to help to properly
 Controls most of the time provide a *minimum size* to help to properly
 lay them out. For example, if controls are placed vertically on top of
 lay them out. For example, if controls are placed vertically on top of
-each other using a
-:ref:`VBoxContainer <class_VBoxContainer>`,
+each other using a :ref:`VBoxContainer <class_VBoxContainer>`,
 the minimum size will make sure your custom control is not squished by
 the minimum size will make sure your custom control is not squished by
 the other controls in the container.
 the other controls in the container.
 
 
@@ -85,7 +83,7 @@ Input
 Controls provide a few helpers to make managing input events much esier
 Controls provide a few helpers to make managing input events much esier
 than regular nodes.
 than regular nodes.
 
 
-Input Events
+Input events
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
 
 
 There are a few tutorials about input before this one, but it's worth
 There are a few tutorials about input before this one, but it's worth
@@ -146,4 +144,3 @@ exists, but can be checked with the _notification callback:
        elif (what==NOTIFICATION_MODAL_CLOSED):
        elif (what==NOTIFICATION_MODAL_CLOSED):
           pass # for modal popups, notification
           pass # for modal popups, notification
           # that the popup was closed
           # that the popup was closed
-

+ 17 - 24
tutorials/2d/cutout_animation.rst

@@ -1,6 +1,6 @@
 .. _doc_cutout_animation:
 .. _doc_cutout_animation:
 
 
-Cutout Animation
+Cutout animation
 ================
 ================
 
 
 What is it?
 What is it?
@@ -62,7 +62,7 @@ character, created by Andreas Esau.
 
 
 Get your assets: :download:`gbot_resources.zip </files/gbot_resources.zip>`.
 Get your assets: :download:`gbot_resources.zip </files/gbot_resources.zip>`.
 
 
-Setting up the Rig
+Setting up the rig
 ~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~
 
 
 Create an empty Node2D as root of the scene, weĺl work under it:
 Create an empty Node2D as root of the scene, weĺl work under it:
@@ -94,10 +94,10 @@ the rotation pivot:
 
 
 .. image:: /img/tuto_cutout4.png
 .. image:: /img/tuto_cutout4.png
 
 
-Adjusting the Pivot
+Adjusting the pivot
 ~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~
 
 
-The Pivot can be adjusted by changing the *offset* property in the
+The pivot can be adjusted by changing the *offset* property in the
 Sprite:
 Sprite:
 
 
 .. image:: /img/tuto_cutout5.png
 .. image:: /img/tuto_cutout5.png
@@ -135,11 +135,10 @@ the hip and the torso. For this, we can move the nodes behind the hip:
 But then, we lose the hierarchy layout, which allows to control the
 But then, we lose the hierarchy layout, which allows to control the
 skeleton like.. a skeleton. Is there any hope?.. Of Course!
 skeleton like.. a skeleton. Is there any hope?.. Of Course!
 
 
-RemoteTransform2D Node
+RemoteTransform2D node
 ~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~
 
 
-Godot provides a special node,
-:ref:`RemoteTransform2D <class_RemoteTransform2D>`.
+Godot provides a special node, :ref:`RemoteTransform2D <class_RemoteTransform2D>`.
 This node will transform nodes that are sitting somewhere else in the
 This node will transform nodes that are sitting somewhere else in the
 hierarchy, by copying it's transform to the remote node.
 hierarchy, by copying it's transform to the remote node.
 
 
@@ -156,7 +155,7 @@ easily animate and pose the character:
 
 
 .. image:: /img/tutovec_torso4.gif
 .. image:: /img/tutovec_torso4.gif
 
 
-Completing the Skeleton
+Completing the skeleton
 ~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Complete the skeleton by following the same steps for the rest of the
 Complete the skeleton by following the same steps for the rest of the
@@ -189,8 +188,7 @@ skeletons, a chain of nodes must be selected from top to bottom:
 
 
 .. image:: /img/tuto_cutout11.png
 .. image:: /img/tuto_cutout11.png
 
 
-Then, the option to create a skeleton is located at Edit [STRIKEOUT:>
-Skeleton]> Make Bones:
+Then, the option to create a skeleton is located at Edit > Make Bones:
 
 
 .. image:: /img/tuto_cutout12.png
 .. image:: /img/tuto_cutout12.png
 
 
@@ -215,10 +213,9 @@ So, with this knowledge. Let's do the same again so we have an actual,
 useful skeleton.
 useful skeleton.
 
 
 The first step is creating an endpoint node. Any kind of node will do,
 The first step is creating an endpoint node. Any kind of node will do,
-but
-:ref:`Position2D <class_Position2D>`
-is preferred because it's visible in the editor. The endpoint node will
-ensure that the last bone has orientation
+but :ref:`Position2D <class_Position2D>` is preferred because it's
+visible in the editor. The endpoint node will ensure that the last bone
+has orientation.
 
 
 .. image:: /img/tuto_cutout14.png
 .. image:: /img/tuto_cutout14.png
 
 
@@ -242,7 +239,7 @@ sense soon.
 Now that a whole skeleton is rigged, the next step is setting up the IK
 Now that a whole skeleton is rigged, the next step is setting up the IK
 chains. IK chains allow for more natural control of extremities.
 chains. IK chains allow for more natural control of extremities.
 
 
-IK Chains
+IK chains
 ~~~~~~~~~
 ~~~~~~~~~
 
 
 To add in animation, IK chains are a powerful tool. Imagine you want to
 To add in animation, IK chains are a powerful tool. Imagine you want to
@@ -262,8 +259,7 @@ leg select the following:
 
 
 .. image:: /img/tuto_cutout17.png
 .. image:: /img/tuto_cutout17.png
 
 
-Then enable this chain for IK. Go to Edit [STRIKEOUT:> Skeleton]> Make
-IK Chain
+Then enable this chain for IK. Go to Edit > Make IK Chain.
 
 
 .. image:: /img/tuto_cutout18.png
 .. image:: /img/tuto_cutout18.png
 
 
@@ -284,7 +280,7 @@ The following section will be a collection of tips for creating
 animation for your rigs. If unsure about how the animation system in
 animation for your rigs. If unsure about how the animation system in
 Godot works, refresh it by checking again the :ref:`doc_animations`.
 Godot works, refresh it by checking again the :ref:`doc_animations`.
 
 
-2D Animation
+2D animation
 ------------
 ------------
 
 
 When doing animation in 2D, a helper will be present in the top menu.
 When doing animation in 2D, a helper will be present in the top menu.
@@ -297,7 +293,7 @@ selected objects or bones. This depends on the mask enabled. Green items
 will insert keys while red ones will not, so modify the key insertion
 will insert keys while red ones will not, so modify the key insertion
 mask to your preference.
 mask to your preference.
 
 
-Rest Pose
+Rest pose
 ~~~~~~~~~
 ~~~~~~~~~
 
 
 These kind of rigs do not have a "rest" pose, so it's recommended to
 These kind of rigs do not have a "rest" pose, so it's recommended to
@@ -341,7 +337,7 @@ add keyframes. Selecting the endpoint of the chain and inserting a
 keyframe will automatically insert keyframes until the chain base too.
 keyframe will automatically insert keyframes until the chain base too.
 This makes the task of animating extremities much simpler.
 This makes the task of animating extremities much simpler.
 
 
-Moving Sprites Above and Behind Others.
+Moving sprites above and behind others.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 RemoteTransform2D works in most cases, but sometimes it is really
 RemoteTransform2D works in most cases, but sometimes it is really
@@ -350,7 +346,7 @@ aid on this the "Behind Parent" property exists on any Node2D:
 
 
 .. image:: /img/tuto_cutout23.png
 .. image:: /img/tuto_cutout23.png
 
 
-Batch Setting Transition Curves
+Batch setting transition curves
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 When creating really complex animations and inserting lots of keyframes,
 When creating really complex animations and inserting lots of keyframes,
@@ -360,6 +356,3 @@ the curves is easy. Just select every single keyframe and (generally)
 apply the "Out-In" transition curve to smooth the animation:
 apply the "Out-In" transition curve to smooth the animation:
 
 
 .. image:: /img/tuto_cutout24.png
 .. image:: /img/tuto_cutout24.png
-
-
-

+ 11 - 17
tutorials/2d/gui_skinning.rst

@@ -1,17 +1,15 @@
 .. _doc_gui_skinning:
 .. _doc_gui_skinning:
 
 
-Skinning a GUI
-==============
+GUI skinning
+============
 
 
-Oh Beautiful GUI!
+Oh beautiful GUI!
 -----------------
 -----------------
 
 
 This tutorial is about advanced skinning of an user interface. Most
 This tutorial is about advanced skinning of an user interface. Most
 games generally don't need this, as they end up just relying on
 games generally don't need this, as they end up just relying on
-:ref:`Label <class_Label>`,
-:ref:`TextureFrame <class_TextureFrame>`,
-:ref:`TextureButton <class_TextureButton>`
-and
+:ref:`Label <class_Label>`, :ref:`TextureFrame <class_TextureFrame>`,
+:ref:`TextureButton <class_TextureButton>` and
 :ref:`TextureProgress <class_TextureProgress>`.
 :ref:`TextureProgress <class_TextureProgress>`.
 
 
 However, many types of games often need complex user interfaces, like
 However, many types of games often need complex user interfaces, like
@@ -26,8 +24,7 @@ interface.
 Theme
 Theme
 -----
 -----
 
 
-The GUI is skinned through the
-:ref:`Theme <class_Theme>`
+The GUI is skinned through the :ref:`Theme <class_Theme>`
 resource. Theme contains all the information required to change the
 resource. Theme contains all the information required to change the
 entire visual styling of all controls. Theme options are named, so it's
 entire visual styling of all controls. Theme options are named, so it's
 not obvious which name changes what (specialy from code), but several
 not obvious which name changes what (specialy from code), but several
@@ -46,7 +43,7 @@ hierarchy towards the root. If nothing was found, the default theme is
 used. This system allows for flexible overriding of themes in complex
 used. This system allows for flexible overriding of themes in complex
 user interfaces.
 user interfaces.
 
 
-Theme Options
+Theme options
 -------------
 -------------
 
 
 Each kind of option in a theme can be:
 Each kind of option in a theme can be:
@@ -95,7 +92,7 @@ In the inline help of Godot (help tab) you can check which theme options
 are overrideable. This is not yet available in the wiki class reference,
 are overrideable. This is not yet available in the wiki class reference,
 but will be soon.
 but will be soon.
 
 
-Customizing a Control
+Customizing a control
 ---------------------
 ---------------------
 
 
 If only a few controls need to be skinned. It is often not necessary to
 If only a few controls need to be skinned. It is often not necessary to
@@ -108,7 +105,7 @@ As can be see in the image above, theme options have little check-boxes.
 If checked, they can be used to override the value of the theme just for
 If checked, they can be used to override the value of the theme just for
 that control.
 that control.
 
 
-Creating a Theme
+Creating a theme
 ----------------
 ----------------
 
 
 The simplest way to create a theme is to edit a theme resource. Create a
 The simplest way to create a theme is to edit a theme resource. Create a
@@ -120,10 +117,10 @@ Following to this, save it (to, as example, mytheme.thm):
 This will create an empty theme that can later be loaded and assigned to
 This will create an empty theme that can later be loaded and assigned to
 controls.
 controls.
 
 
-Example: Themeing a Button
+Example: themeing a button
 --------------------------
 --------------------------
 
 
-Take some assets (:download:`skin_assets.zip </files/skin_assets.zip>`,
+Take some assets (:download:`skin_assets.zip </files/skin_assets.zip>`),
 go to the "theme" menu and select "Add Class Item":
 go to the "theme" menu and select "Add Class Item":
 
 
 .. image:: /img/themeci.png
 .. image:: /img/themeci.png
@@ -163,6 +160,3 @@ replace it by the theme that was just created. It should look like this:
 .. image:: /img/skinbuttons2.png
 .. image:: /img/skinbuttons2.png
 
 
 Congratulations! You have created a reusable GUI Theme!
 Congratulations! You have created a reusable GUI Theme!
-
-
-

+ 13 - 19
tutorials/2d/kinematic_character_2d.rst

@@ -6,8 +6,8 @@ Kinematic Character (2D)
 Introduction
 Introduction
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
 
 
-Yes, the name sounds strange. "Kinematic Character" WTF is that? The
-reason is that when physics engines came out, they were called
+Yes, the name sounds strange. "Kinematic Character". What is that?
+The reason is that when physics engines came out, they were called
 "Dynamics" engines (because they dealt mainly with collision
 "Dynamics" engines (because they dealt mainly with collision
 responses). Many attempts were made to create a character controller
 responses). Many attempts were made to create a character controller
 using the dynamics engines but it wasn't as easy as it seems. Godot
 using the dynamics engines but it wasn't as easy as it seems. Godot
@@ -44,7 +44,7 @@ Basically, the oldschool way of handling collisions (which is not
 necessarily simpler under the hood, but well hidden and presented as a
 necessarily simpler under the hood, but well hidden and presented as a
 nice and simple API).
 nice and simple API).
 
 
-Fixed Process
+Fixed process
 ~~~~~~~~~~~~~
 ~~~~~~~~~~~~~
 
 
 To manage the logic of a kinematic body or character, it is always
 To manage the logic of a kinematic body or character, it is always
@@ -63,7 +63,7 @@ or lose precision is the frame rate is too high or too low.
     func _ready():
     func _ready():
         set_fixed_process(true)
         set_fixed_process(true)
 
 
-Scene Setup
+Scene setup
 ~~~~~~~~~~~
 ~~~~~~~~~~~
 
 
 To have something to test, here's the scene (from the tilemap tutorial):
 To have something to test, here's the scene (from the tilemap tutorial):
@@ -93,7 +93,7 @@ map scene the main one, so it runs when pressing play.
 
 
 .. image:: /img/kbinstance.png
 .. image:: /img/kbinstance.png
 
 
-Moving the Kinematic Character
+Moving the Kinematic character
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Go back to the character scene, and open the script, the magic begins
 Go back to the character scene, and open the script, the magic begins
@@ -165,7 +165,7 @@ This adds simple walking support by pressing left and right:
             velocity.x = 0
             velocity.x = 0
 
 
         var motion = velocity * delta
         var motion = velocity * delta
-        move( motion )  
+        move(motion)  
 
 
     func _ready():
     func _ready():
         set_fixed_process(true)
         set_fixed_process(true)
@@ -175,7 +175,7 @@ And give it a try.
 Problem?
 Problem?
 ~~~~~~~~
 ~~~~~~~~
 
 
-And.. it doesn't work very well. If you go to the left against a wall,
+And... it doesn't work very well. If you go to the left against a wall,
 it gets stuck unless you release the arrow key. Once it is on the floor,
 it gets stuck unless you release the arrow key. Once it is on the floor,
 it also gets stuck and it won't walk. What is going on??
 it also gets stuck and it won't walk. What is going on??
 
 
@@ -204,7 +204,7 @@ So what we want to do is this:
 
 
 .. image:: /img/motion_reflect.png
 .. image:: /img/motion_reflect.png
 
 
-When colliding, the function move() returns the "remainder" of the
+When colliding, the function ``move()`` returns the "remainder" of the
 motion vector. That means, if the motion vector is 40 pixels, but
 motion vector. That means, if the motion vector is 40 pixels, but
 collision happened at 10 pixels, the same vector but 30 pixels long is
 collision happened at 10 pixels, the same vector but 30 pixels long is
 returned.
 returned.
@@ -225,23 +225,20 @@ this way:
             velocity.x = 0
             velocity.x = 0
 
 
         var motion = velocity * delta
         var motion = velocity * delta
-        motion = move( motion ) 
+        motion = move(motion) 
 
 
         if (is_colliding()):
         if (is_colliding()):
             var n = get_collision_normal()
             var n = get_collision_normal()
-            motion = n.slide( motion ) 
-            velocity = n.slide( velocity )
-            move( motion )
-
+            motion = n.slide(motion) 
+            velocity = n.slide(velocity)
+            move(motion)
 
 
 
 
     func _ready():
     func _ready():
         set_fixed_process(true)
         set_fixed_process(true)
 
 
 Note that not only the motion has been modified but also the velocity.
 Note that not only the motion has been modified but also the velocity.
-This makes sense as it helps keep
-
-the new direction too.
+This makes sense as it helps keep the new direction too.
 
 
 The normal can also be used to detect that the character is on floor, by
 The normal can also be used to detect that the character is on floor, by
 checking the angle. If the normal points up (or at least, within a
 checking the angle. If the normal points up (or at least, within a
@@ -250,6 +247,3 @@ certain threshold), the character can be determined to be there.
 A more complete demo can be found in the demo zip distributed with the
 A more complete demo can be found in the demo zip distributed with the
 engine, or in the
 engine, or in the
 https://github.com/godotengine/godot/tree/master/demos/2d/kinematic_char.
 https://github.com/godotengine/godot/tree/master/demos/2d/kinematic_char.
-
-
-

+ 19 - 22
tutorials/2d/particle_systems_2d.rst

@@ -37,7 +37,7 @@ the relevant texture property:
 
 
 .. image:: /img/particles2.png
 .. image:: /img/particles2.png
 
 
-Physics Variables
+Physics variables
 -----------------
 -----------------
 
 
 Before taking a look at the global parameters for the particle system,
 Before taking a look at the global parameters for the particle system,
@@ -67,31 +67,31 @@ in all directions.
 
 
 .. image:: /img/paranim3.gif
 .. image:: /img/paranim3.gif
 
 
-Linear Velocity
+Linear velocity
 ---------------
 ---------------
 
 
-Linear Velocity is the speed at which particles will be emitted (in
+Linear velocity is the speed at which particles will be emitted (in
 pixels/sec). Speed might later be modified by gravity or other
 pixels/sec). Speed might later be modified by gravity or other
 accelerations (as described further below).
 accelerations (as described further below).
 
 
 .. image:: /img/paranim4.gif
 .. image:: /img/paranim4.gif
 
 
-Spin Velocity
+Spin velocity
 -------------
 -------------
 
 
-Spin Velocity is the speed at which particles turn around their center
+Spin velocity is the speed at which particles turn around their center
 (in degrees/sec).
 (in degrees/sec).
 
 
 .. image:: /img/paranim5.gif
 .. image:: /img/paranim5.gif
 
 
-Orbit Velocity
+Orbit velocity
 --------------
 --------------
 
 
-Orbit Velocity is used to make particles turn around their center.
+Orbit velocity is used to make particles turn around their center.
 
 
 .. image:: /img/paranim6.gif
 .. image:: /img/paranim6.gif
 
 
-Gravity Direction & Strength
+Gravity direction & strength
 ----------------------------
 ----------------------------
 
 
 Gravity can be modified as in direction and strength. Gravity affects
 Gravity can be modified as in direction and strength. Gravity affects
@@ -99,7 +99,7 @@ every particle currently alive.
 
 
 .. image:: /img/paranim7.gif
 .. image:: /img/paranim7.gif
 
 
-Radial Acceleration
+Radial acceleration
 -------------------
 -------------------
 
 
 If this acceleration is positive, particles are accelerated away from
 If this acceleration is positive, particles are accelerated away from
@@ -107,11 +107,11 @@ the center. If negative, they are absorbed towards it.
 
 
 .. image:: /img/paranim8.gif
 .. image:: /img/paranim8.gif
 
 
-Tangential Acceleration
+Tangential acceleration
 -----------------------
 -----------------------
 
 
-This acceleration will use the tangent vector to the center. Combined
-with Radial Acceleration can do nice effects.
+This acceleration will use the tangent vector to the center. Combining
+with radial acceleration can do nice effects.
 
 
 .. image:: /img/paranim9.gif
 .. image:: /img/paranim9.gif
 
 
@@ -124,7 +124,7 @@ high linear velocity and then stop as they fade.
 
 
 .. image:: /img/paranim10.gif
 .. image:: /img/paranim10.gif
 
 
-Initial Angle
+Initial angle
 -------------
 -------------
 
 
 Determines the initial angle of the particle (in degress). This parameter
 Determines the initial angle of the particle (in degress). This parameter
@@ -132,14 +132,14 @@ is mostly useful randomized.
 
 
 .. image:: /img/paranim11.gif
 .. image:: /img/paranim11.gif
 
 
-Initial & Final Size
+Initial & final size
 --------------------
 --------------------
 
 
 Determines the initial and final scales of the particle.
 Determines the initial and final scales of the particle.
 
 
 .. image:: /img/paranim12.gif
 .. image:: /img/paranim12.gif
 
 
-Color Phases
+Color phases
 ------------
 ------------
 
 
 Particles can use up to 4 color phases. Each color phase can include
 Particles can use up to 4 color phases. Each color phase can include
@@ -156,7 +156,7 @@ Will result in:
 
 
 .. image:: /img/paranim13.gif
 .. image:: /img/paranim13.gif
 
 
-Global Parameters
+Global parameters
 -----------------
 -----------------
 
 
 These parameters affect the behavior of the entire system.
 These parameters affect the behavior of the entire system.
@@ -194,7 +194,7 @@ a torch, mist, etc begin emitting the moment you enter. Preprocess is
 used to let the system process a given amount of seconds before it is
 used to let the system process a given amount of seconds before it is
 actually shown the first time.
 actually shown the first time.
 
 
-Emit Timeout
+Emit timeout
 ------------
 ------------
 
 
 This variable will switch emission off after given amount of seconds
 This variable will switch emission off after given amount of seconds
@@ -205,7 +205,7 @@ Offset
 
 
 Allows to move the emission center away from the center
 Allows to move the emission center away from the center
 
 
-Half Extents
+Half extents
 ------------
 ------------
 
 
 Makes the center (by default 1 pixel) wider, to the size in pixels
 Makes the center (by default 1 pixel) wider, to the size in pixels
@@ -220,7 +220,7 @@ location, while transparent ones will be ignored:
 
 
 .. image:: /img/paranim19.gif
 .. image:: /img/paranim19.gif
 
 
-Local Space
+Local space
 -----------
 -----------
 
 
 By default this option is on, and it means that the space that particles
 By default this option is on, and it means that the space that particles
@@ -258,6 +258,3 @@ All physics parameters can be randomiez. Random variables go from 0 to
 ::
 ::
 
 
     initial_value = param_value + param_value*randomness
     initial_value = param_value + param_value*randomness
-
-
-

+ 16 - 20
tutorials/2d/screen-reading_shaders.rst

@@ -17,8 +17,8 @@ The workaround is to make a copy of the screen, or a part of the screen,
 to a back-buffer and then read from it while drawing. Godot provides a
 to a back-buffer and then read from it while drawing. Godot provides a
 few tools that makes this process easy!
 few tools that makes this process easy!
 
 
-TexScreen shader instruction.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+TexScreen shader instruction
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Godot :ref:`doc_shading_language` has a special instruction, "texscreen", it takes as
 Godot :ref:`doc_shading_language` has a special instruction, "texscreen", it takes as
 parameter the UV of the screen and returns a vec3 RGB with the color. A
 parameter the UV of the screen and returns a vec3 RGB with the color. A
@@ -34,7 +34,7 @@ The same shader using the visual editor looks like this:
 
 
 .. image:: /img/texscreen_visual_shader.png
 .. image:: /img/texscreen_visual_shader.png
 
 
-TexScreen Example
+TexScreen example
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 Texscreen instruction can be used for a lot of things. There is a
 Texscreen instruction can be used for a lot of things. There is a
@@ -44,19 +44,19 @@ and saturation:
 
 
 ::
 ::
 
 
-    uniform float brightness=1.0; 
-    uniform float contrast=1.0;
-    uniform float saturation=1.0;
+    uniform float brightness = 1.0; 
+    uniform float contrast = 1.0;
+    uniform float saturation = 1.0;
 
 
     vec3 c = texscreen(SCREEN_UV);
     vec3 c = texscreen(SCREEN_UV);
 
 
-    c.rgb = mix(vec3(0.0),c.rgb,brightness);
-    c.rgb = mix(vec3(0.5),c.rgb,contrast);
-    c.rgb = mix(vec3(dot(vec3(1.0),c.rgb)*0.33333),c.rgb,saturation);
+    c.rgb = mix(vec3(0.0), c.rgb, brightness);
+    c.rgb = mix(vec3(0.5), c.rgb, contrast);
+    c.rgb = mix(vec3(dot(vec3(1.0), c.rgb)*0.33333), c.rgb, saturation);
 
 
-    COLOR.rgb=c;
+    COLOR.rgb = c;
 
 
-Behind The Scenes
+Behind the scenes
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 While this seems magical, it's not. The Texscreen instruction, when
 While this seems magical, it's not. The Texscreen instruction, when
@@ -86,7 +86,7 @@ With correct back-buffer copying, the two spheres blend correctly:
 
 
 .. image:: /img/texscreen_demo2.png
 .. image:: /img/texscreen_demo2.png
 
 
-Back-Buffer Logic
+Back-buffer logic
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 So, to make it clearer, here's how the backbuffer copying logic works in
 So, to make it clearer, here's how the backbuffer copying logic works in
@@ -103,11 +103,7 @@ Godot:
    disabled) was found before in tree-order.
    disabled) was found before in tree-order.
 -  BackBufferCopy can copy either the entire screen or a region. If set
 -  BackBufferCopy can copy either the entire screen or a region. If set
    to only a region (not the whole screen) and your shader uses pixels
    to only a region (not the whole screen) and your shader uses pixels
-   not in the region copied, the result of that read is
-   [STRIKEOUT:undefined] (most likely garbage from previous frames). In
-   other words, it's possible to use BackBufferCopy to copy back a
-   region of the screen and then use texscreen() on a different region.
-   Avoid this behavior!
-
-
-
+   not in the region copied, the result of that read is undefined
+   (most likely garbage from previous frames). In other words, it's
+   possible to use BackBufferCopy to copy back a region of the screen
+   and then use texscreen() on a different region. Avoid this behavior!

+ 1 - 1
tutorials/2d/size_and_anchors.rst

@@ -1,6 +1,6 @@
 .. _doc_size_and_anchors:
 .. _doc_size_and_anchors:
 
 
-Size and Anchors
+Size and anchors
 ----------------
 ----------------
 
 
 If a game was to be always run in the same device and at the same
 If a game was to be always run in the same device and at the same

+ 9 - 16
tutorials/2d/tilemap.rst → tutorials/2d/using_tilemaps.rst

@@ -1,7 +1,7 @@
-.. _doc_tilemap:
+.. _doc_using_tilemaps:
 
 
-Creating a Tilemap
-~~~~~~~~~~~~~~~~~~
+Using tilemaps
+~~~~~~~~~~~~~~
 
 
 Introduction
 Introduction
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
@@ -15,7 +15,7 @@ grid, as many times each as desired:
 Collision can also be added to the tiles, allowing for both 2D side
 Collision can also be added to the tiles, allowing for both 2D side
 scroller or top down games.
 scroller or top down games.
 
 
-Making a Tileset
+Making a tileset
 ----------------
 ----------------
 
 
 To begin with, a tileset needs to be made. Here are some tiles for it.
 To begin with, a tileset needs to be made. Here are some tiles for it.
@@ -26,11 +26,7 @@ Having them as separate images also works too.
 
 
 Create a new project and throw the above png image inside.
 Create a new project and throw the above png image inside.
 
 
-Create the TileSet Scene
-------------------------
-
-We will be creating a
-:ref:`TileSet <class_TileSet>`
+We will be creating a :ref:`TileSet <class_TileSet>`
 resource. While this resource exports properties, it's pretty difficult
 resource. While this resource exports properties, it's pretty difficult
 to get complex data into it and maintain it:
 to get complex data into it and maintain it:
 
 
@@ -40,7 +36,7 @@ There's enough properties to get by, and with some effort editing this
 way can work, but the easiest way to edit and maintain a tileset is with
 way can work, but the easiest way to edit and maintain a tileset is with
 the export tool!
 the export tool!
 
 
-TileSet Scene
+TileSet scene
 -------------
 -------------
 
 
 Create a new scene with a regular node or node2d as root. For each new a
 Create a new scene with a regular node or node2d as root. For each new a
@@ -130,7 +126,7 @@ draw and cull the tilemap in blocks of 16x16 tiles. This value is
 usually fine and does not need to be changed, but can be used to tune
 usually fine and does not need to be changed, but can be used to tune
 performance in specific cases (if you know what you are doing).
 performance in specific cases (if you know what you are doing).
 
 
-Painting Your World
+Painting your world
 -------------------
 -------------------
 
 
 With all set, make sure the TileMap node is selected. A red grid will
 With all set, make sure the TileMap node is selected. A red grid will
@@ -145,7 +141,7 @@ using the lock button:
 
 
 .. image:: /img/tile_lock.png
 .. image:: /img/tile_lock.png
 
 
-Offset and Scaling Artifacts
+Offset and scaling artifacts
 ----------------------------
 ----------------------------
 
 
 When using a single texture for all the tiles, scaling the tileset (or
 When using a single texture for all the tiles, scaling the tileset (or
@@ -163,10 +159,7 @@ ones that look better for you:
    first.
    first.
 -  Disable filtering for either the tileset texture or the entire image
 -  Disable filtering for either the tileset texture or the entire image
    loader (see the :ref:`doc_managing_image_files` asset pipeline tutorial).
    loader (see the :ref:`doc_managing_image_files` asset pipeline tutorial).
--  Enable pixel snap (Set: ΅Scene [STRIKEOUT:> Project Settings]>
+-  Enable pixel snap (set: "Scene > Project Settings >
    rasterizer/uxe_pixel_snap" to true).
    rasterizer/uxe_pixel_snap" to true).
 -  Viewport Scaling can often help shrinking the map (see the
 -  Viewport Scaling can often help shrinking the map (see the
    :ref:`doc_viewports` tutorial).
    :ref:`doc_viewports` tutorial).
-
-
-

+ 2 - 2
tutorials/2d/viewport_and_canvas_transforms.rst

@@ -1,7 +1,7 @@
 .. _doc_viewport_and_canvas_transforms:
 .. _doc_viewport_and_canvas_transforms:
 
 
-Viewport & canvas transforms
-============================
+Viewport and canvas transforms
+==============================
 
 
 Introduction
 Introduction
 ------------
 ------------

+ 11 - 13
tutorials/3d/3d_performance_and_limitations.rst

@@ -1,7 +1,7 @@
 .. _doc_3d_performance_and_limitations:
 .. _doc_3d_performance_and_limitations:
 
 
-3D Performance & Limitations
-============================
+3D performance and limitations
+==============================
 
 
 Introduction
 Introduction
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
@@ -44,7 +44,7 @@ Rendering
 3D rendering is one of the most difficult areas to get performance from,
 3D rendering is one of the most difficult areas to get performance from,
 so this section will have a list of tips.
 so this section will have a list of tips.
 
 
-Reuse Shaders and Materials
+Reuse shaders and materials
 ---------------------------
 ---------------------------
 
 
 Godot renderer is a little different to what is out there. It's designed
 Godot renderer is a little different to what is out there. It's designed
@@ -67,7 +67,7 @@ materials each, rendering will be really slow. If the same scene has
 20.000 objects, but only uses 100 materials, rendering will be blazing
 20.000 objects, but only uses 100 materials, rendering will be blazing
 fast.
 fast.
 
 
-Pixels Cost vs Vertex Cost
+Pixels cost vs vertex cost
 --------------------------
 --------------------------
 
 
 It is a common thought that the lower the polygons in a model, the
 It is a common thought that the lower the polygons in a model, the
@@ -130,11 +130,11 @@ have extra processing per vertex, such as:
 -  Morphs (shape keys)
 -  Morphs (shape keys)
 -  Vertex Lit Objects (common on mobile)
 -  Vertex Lit Objects (common on mobile)
 
 
-Texture Compression
+Texture compression
 -------------------
 -------------------
 
 
 Godot offers to compress textures of 3D models when imported (VRAM
 Godot offers to compress textures of 3D models when imported (VRAM
-compression). Video Ram compression is not as efficient in size as PNG
+compression). Video RAM compression is not as efficient in size as PNG
 or JPG when stored, but increase performance enormously when drawing.
 or JPG when stored, but increase performance enormously when drawing.
 
 
 This is because the main goal of texture compression is bandwidth
 This is because the main goal of texture compression is bandwidth
@@ -148,7 +148,7 @@ from the compression is more noticeable.
 As a warning, most Android devices do not support texture compression of
 As a warning, most Android devices do not support texture compression of
 textures with transparency (only opaque), so keep this in mind.
 textures with transparency (only opaque), so keep this in mind.
 
 
-Transparent Objects
+Transparent objects
 -------------------
 -------------------
 
 
 As mentioned before, Godot sorts objects by material and shader to
 As mentioned before, Godot sorts objects by material and shader to
@@ -158,7 +158,7 @@ blending with what is behind work. As a result, please try to keep
 transparent objects to a minimum! If an object has a small section with
 transparent objects to a minimum! If an object has a small section with
 transparency, try to make that section a separate material.
 transparency, try to make that section a separate material.
 
 
-Level of Detail (LOD)
+Level of detail (LOD)
 ---------------------
 ---------------------
 
 
 As also mentioned before, using objects with less vertices can improve
 As also mentioned before, using objects with less vertices can improve
@@ -168,17 +168,16 @@ of detail,
 based objects have a visibility range that can be defined. Having
 based objects have a visibility range that can be defined. Having
 several GeometryInstance objects in different ranges works as LOD.
 several GeometryInstance objects in different ranges works as LOD.
 
 
-Use Instancing (MultiMesh)
+Use instancing (MultiMesh)
 --------------------------
 --------------------------
 
 
 If several identical objects have to be drawn in the same place or
 If several identical objects have to be drawn in the same place or
-nearby, try using
-:ref:`MultiMesh <class_MultiMesh>`
+nearby, try using :ref:`MultiMesh <class_MultiMesh>`
 instead. MultiMesh allows drawing of dozens of thousands of objects at
 instead. MultiMesh allows drawing of dozens of thousands of objects at
 very little performance cost, making it ideal for flocks, grass,
 very little performance cost, making it ideal for flocks, grass,
 particles, etc.
 particles, etc.
 
 
-Bake Lighting
+Bake lighting
 -------------
 -------------
 
 
 Small lights are usually not a performance issue. Shadows a little more.
 Small lights are usually not a performance issue. Shadows a little more.
@@ -188,4 +187,3 @@ adding indirect light bounces.
 
 
 If working on mobile, baking to texture is recommended, since this
 If working on mobile, baking to texture is recommended, since this
 method is even faster.
 method is even faster.
-

+ 1 - 1
tutorials/3d/_3d_graphics.rst

@@ -5,7 +5,7 @@ Graphics
    :maxdepth: 1
    :maxdepth: 1
    :name: toc-3d-graphics
    :name: toc-3d-graphics
 
 
-   introduction
+   introduction_to_3d
    materials
    materials
    fixed_materials
    fixed_materials
    shader_materials
    shader_materials

+ 13 - 13
tutorials/3d/fixed_materials.rst

@@ -1,6 +1,6 @@
 .. _doc_fixed_materials:
 .. _doc_fixed_materials:
 
 
-Fixed Materials
+Fixed materials
 ===============
 ===============
 
 
 Introduction
 Introduction
@@ -25,12 +25,12 @@ Here is the list of all the options available for fixed materials:
 
 
 From this point, every option will be explained in detail:
 From this point, every option will be explained in detail:
 
 
-Fixed Flags
+Fixed flags
 -----------
 -----------
 
 
 These are a set of flags that control general aspects of the material.
 These are a set of flags that control general aspects of the material.
 
 
-Use Alpha
+Use alpha
 ~~~~~~~~~
 ~~~~~~~~~
 
 
 This flag needs to be active for transparent materials to blend with
 This flag needs to be active for transparent materials to blend with
@@ -43,7 +43,7 @@ information).
 
 
 .. image:: /img/fixed_material_alpha.png
 .. image:: /img/fixed_material_alpha.png
 
 
-Use Vertex Colors
+Use vertex colors
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 Vertex color painting is a very common technique to add detail to
 Vertex color painting is a very common technique to add detail to
@@ -53,13 +53,13 @@ material by modulating the diffuse color when enabled.
 
 
 .. image:: /img/fixed_material_vcols.png
 .. image:: /img/fixed_material_vcols.png
 
 
-Point Size
+Point size
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Point size is used to set the point size (in pixels) for when rendering
 Point size is used to set the point size (in pixels) for when rendering
 points. This feature is mostly used in tools and HUDs
 points. This feature is mostly used in tools and HUDs
 
 
-Discard Alpha
+Discard alpha
 ~~~~~~~~~~~~~
 ~~~~~~~~~~~~~
 
 
 When alpha is enabled (see above) the invisible pixels are blended
 When alpha is enabled (see above) the invisible pixels are blended
@@ -74,12 +74,12 @@ is often used in combination with "opaque pre-pass" hint (see the
 Parameters
 Parameters
 ----------
 ----------
 
 
-Diffuse, Specular, Emission and Specular Exponent
+Diffuse, specular, emission and specular exponent
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 These are the base colors for the material.
 These are the base colors for the material.
 
 
--  Diffuse Color is responsible for the light that reaches the material,
+-  Diffuse color is responsible for the light that reaches the material,
    then gets diffused around. This color varies by the angle to the
    then gets diffused around. This color varies by the angle to the
    light and the distance (in the case of spot and omni lights). It is
    light and the distance (in the case of spot and omni lights). It is
    the color that best represents the material. It can also have alpha
    the color that best represents the material. It can also have alpha
@@ -97,7 +97,7 @@ Below is an example of how they interact:
 
 
 .. image:: /img/fixed_material_colors.png
 .. image:: /img/fixed_material_colors.png
 
 
-Shader & Shader Param
+Shader & shader param
 ~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~
 
 
 Regular shader materials allow custom lighting code. Fixed materials
 Regular shader materials allow custom lighting code. Fixed materials
@@ -115,7 +115,7 @@ come with four predefined shader types:
 
 
 .. image:: /img/fixed_material_shader.png
 .. image:: /img/fixed_material_shader.png
 
 
-Detail & Detail Mix
+Detail & detail mix
 ~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~
 
 
 Detail is a second diffuse texture which can be mixed with the first one
 Detail is a second diffuse texture which can be mixed with the first one
@@ -124,7 +124,7 @@ added together, here's an example of what detail textures are for:
 
 
 .. image:: /img/fixed_material_detail.png
 .. image:: /img/fixed_material_detail.png
 
 
-Normal Depth
+Normal depth
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
 
 
 Normal depth controls the inensity of the normal-mapping as well as the
 Normal depth controls the inensity of the normal-mapping as well as the
@@ -143,7 +143,7 @@ WorldEnvironment must exist with Glow activated.
 
 
 .. image:: /img/fixed_material_glow.png
 .. image:: /img/fixed_material_glow.png
 
 
-Blend Mode
+Blend mode
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Objects are usually blended in Mix mode. Other blend modes (Add and Sub)
 Objects are usually blended in Mix mode. Other blend modes (Add and Sub)
@@ -152,7 +152,7 @@ materials can be set to them:
 
 
 .. image:: /img/fixed_material_blend.png
 .. image:: /img/fixed_material_blend.png
 
 
-Point Size, Line Width
+Point size, line width
 ~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~
 
 
 When drawing points or lines, the size of them can be adjusted here per
 When drawing points or lines, the size of them can be adjusted here per

+ 13 - 19
tutorials/3d/high_dynamic_range.rst

@@ -1,6 +1,6 @@
 .. _doc_high_dynamic_range:
 .. _doc_high_dynamic_range:
 
 
-High Dynamic Range
+High dynamic range
 ==================
 ==================
 
 
 Introduction
 Introduction
@@ -38,7 +38,7 @@ Additionally, it is possible to set a threshold value to send to the
 glow buffer depending on the pixel luminance. This allows for more
 glow buffer depending on the pixel luminance. This allows for more
 realistic light bleeding effects in the scene.
 realistic light bleeding effects in the scene.
 
 
-Linear Color Space
+Linear color space
 ------------------
 ------------------
 
 
 The problem with this technique is that computer monitors apply a
 The problem with this technique is that computer monitors apply a
@@ -58,15 +58,15 @@ values to adjust the luminance and exposure to different light ranges,
 and this curve gets in the way as we need colors in linear space for
 and this curve gets in the way as we need colors in linear space for
 this.
 this.
 
 
-Linear Color Space & Asset Pipeline
+Linear color space & asset pipeline
 -----------------------------------
 -----------------------------------
 
 
 Working in HDR is not just pressing a switch. First, imported image
 Working in HDR is not just pressing a switch. First, imported image
 assets must be converted to linear space on import. There are two ways
 assets must be converted to linear space on import. There are two ways
 to do this:
 to do this:
 
 
-SRGB->Linear conversion on image import
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+SRGB -> linear conversion on image import
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 This is the most compatible way of using linear-space assets and it will
 This is the most compatible way of using linear-space assets and it will
 work everywhere including all mobile devices. The main issue with this
 work everywhere including all mobile devices. The main issue with this
@@ -77,7 +77,7 @@ too, which makes the problem worse.
 
 
 In any case though, this is the easy solution that works everywhere.
 In any case though, this is the easy solution that works everywhere.
 
 
-Hardware sRGB -> Linear conversion.
+Hardware sRGB -> linear conversion.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 This is the most correct way to use assets in linear-space, as the
 This is the most correct way to use assets in linear-space, as the
@@ -91,9 +91,7 @@ Linear -> sRGB at the end.
 
 
 After all the rendering is done, the linear-space rendered image must be
 After all the rendering is done, the linear-space rendered image must be
 converted back to sRGB. To do this, simply enable sRGB conversion in the
 converted back to sRGB. To do this, simply enable sRGB conversion in the
-current
-:ref:`Environment <class_Environment>`
-(more on that below).
+current :ref:`Environment <class_Environment>` (more on that below).
 
 
 Keep in mind that sRGB [STRIKEOUT:> Linear and Linear]> sRGB conversions
 Keep in mind that sRGB [STRIKEOUT:> Linear and Linear]> sRGB conversions
 must always be **both** enabled. Failing to enable one of them will
 must always be **both** enabled. Failing to enable one of them will
@@ -103,8 +101,7 @@ indie games.
 Parameters of HDR
 Parameters of HDR
 -----------------
 -----------------
 
 
-HDR is found in the
-:ref:`Environment <class_Environment>`
+HDR is found in the :ref:`Environment <class_Environment>`
 resource. These are found most of the time inside a
 resource. These are found most of the time inside a
 :ref:`WorldEnvironment <class_WorldEnvironment>`
 :ref:`WorldEnvironment <class_WorldEnvironment>`
 node, or set in a camera. There are many parameters for HDR:
 node, or set in a camera. There are many parameters for HDR:
@@ -138,34 +135,31 @@ White
 
 
 Maximum value of white.
 Maximum value of white.
 
 
-Glow Threshold
+Glow threshold
 ~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~
 
 
 Determine above which value (from 0 to 1 after the scene is tonemapped),
 Determine above which value (from 0 to 1 after the scene is tonemapped),
 light will start bleeding.
 light will start bleeding.
 
 
-Glow Scale
+Glow scale
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Determine how much light will bleed.
 Determine how much light will bleed.
 
 
-Min Luminance
+Min luminance
 ~~~~~~~~~~~~~
 ~~~~~~~~~~~~~
 
 
 Lower bound value of light for the scene at which the tonemapper stops
 Lower bound value of light for the scene at which the tonemapper stops
 working. This allows dark scenes to remain dark.
 working. This allows dark scenes to remain dark.
 
 
-Max Luminance
+Max luminance
 ~~~~~~~~~~~~~
 ~~~~~~~~~~~~~
 
 
 Upper bound value of light for the scene at which the tonemapper stops
 Upper bound value of light for the scene at which the tonemapper stops
 working. This allows bright scenes to remain saturated.
 working. This allows bright scenes to remain saturated.
 
 
-Exposure Adjustment Speed
+Exposure adjustment speed
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Auto-exposure will change slowly and will take a while to adjust (like
 Auto-exposure will change slowly and will take a while to adjust (like
 in real cameras). Bigger values means faster adjustment.
 in real cameras). Bigger values means faster adjustment.
-
-
-

+ 0 - 2
tutorials/3d/importing_3d_meshes.rst

@@ -58,5 +58,3 @@ nodes. Simply set them to the Mesh property of them.
 .. image:: /img/3dmesh_instance.png
 .. image:: /img/3dmesh_instance.png
 
 
 And that is it.
 And that is it.
-
-

+ 0 - 2
tutorials/3d/importing_3d_scenes.rst

@@ -415,5 +415,3 @@ Fresh re-import
 It can also happen that the source asset changed beyond recognition and
 It can also happen that the source asset changed beyond recognition and
 a full fresh re-import is desired. If so, simply re-open the 3d scene
 a full fresh re-import is desired. If so, simply re-open the 3d scene
 import dialog from the Import -> Re-Import menu and perform re-import.
 import dialog from the Import -> Re-Import menu and perform re-import.
-
-

+ 26 - 40
tutorials/3d/introduction.rst → tutorials/3d/introduction_to_3d.rst

@@ -1,7 +1,7 @@
-.. _doc_introduction:
+.. _doc_introduction_to_3d:
 
 
-Introduction
-============
+Introduction to 3D
+==================
 
 
 Creating a 3D game can be challenging. That extra Z coordinate makes
 Creating a 3D game can be challenging. That extra Z coordinate makes
 many of the common techniques that helped to make 2D games simple no
 many of the common techniques that helped to make 2D games simple no
@@ -16,15 +16,12 @@ In 3D, math is a little more complex than in 2D, so also checking the
 developers, not mathematicians or engineers) will help pave the way into
 developers, not mathematicians or engineers) will help pave the way into
 efficiently developing 3D games.
 efficiently developing 3D games.
 
 
-Spatial Node
+Spatial node
 ~~~~~~~~~~~~
 ~~~~~~~~~~~~
 
 
-:ref:`Node2D <class_Node2D>` is
-the base node for 2D.
-:ref:`Control <class_Control>` is
-the base node for everything GUI. Following this reasoning, the 3D
-engine uses the
-:ref:`Spatial <class_Spatial>`
+:ref:`Node2D <class_Node2D>` is the base node for 2D.
+:ref:`Control <class_Control>` is the base node for everything GUI.
+Following this reasoning, the 3D engine uses the :ref:`Spatial <class_Spatial>`
 node for everything 3D.
 node for everything 3D.
 
 
 .. image:: /img/tuto_3d1.png
 .. image:: /img/tuto_3d1.png
@@ -32,15 +29,13 @@ node for everything 3D.
 Spatial nodes have a local transform, which is relative to the parent
 Spatial nodes have a local transform, which is relative to the parent
 node (as long as the parent node is also **or inherits** of type
 node (as long as the parent node is also **or inherits** of type
 Spatial). This transform can be accessed as a 4x3
 Spatial). This transform can be accessed as a 4x3
-:ref:`Transform <class_Transform>`,
-or as 3
-:ref:`Vector3 <class_Vector3>`
+:ref:`Transform <class_Transform>`, or as 3 :ref:`Vector3 <class_Vector3>`
 members representing location, euler rotation (x,y and z angles) and
 members representing location, euler rotation (x,y and z angles) and
 scale.
 scale.
 
 
 .. image:: /img/tuto_3d2.png
 .. image:: /img/tuto_3d2.png
 
 
-3D Content
+3D content
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Unlike 2D, where loading image content and drawing is straightforward,
 Unlike 2D, where loading image content and drawing is straightforward,
@@ -49,7 +44,7 @@ special 3D tool (usually referred to as DCCs) and exported to an
 exchange file format in order to be imported in Godot (3D formats are
 exchange file format in order to be imported in Godot (3D formats are
 not as standardized as images).
 not as standardized as images).
 
 
-DCC-Created Models
+DCC-created models
 ------------------
 ------------------
 
 
 There are two pipelines to import 3D models in Godot. The first and most
 There are two pipelines to import 3D models in Godot. The first and most
@@ -59,19 +54,16 @@ skeletal rigs, blend shapes, etc.
 
 
 The second pipeline is through the :ref:`doc_importing_3d_meshes` importer. This
 The second pipeline is through the :ref:`doc_importing_3d_meshes` importer. This
 second method allows importing simple .OBJ files as mesh resources,
 second method allows importing simple .OBJ files as mesh resources,
-which can be then put inside a
-:ref:`MeshInstance <class_MeshInstance>`
+which can be then put inside a :ref:`MeshInstance <class_MeshInstance>`
 node for display.
 node for display.
 
 
-Generated Geometry
+Generated geometry
 ------------------
 ------------------
 
 
 It is possible to create custom geometry by using the
 It is possible to create custom geometry by using the
-:ref:`Mesh <class_Mesh>` resource
-directly, simply create your arrays and use the
-:ref:`Mesh.add_surface() <class_Mesh_add_surface>`
-function. A helper class is also available,
-:ref:`SurfaceTool <class_SurfaceTool>`,
+:ref:`Mesh <class_Mesh>` resource directly, simply create your arrays
+and use the :ref:`Mesh.add_surface() <class_Mesh_add_surface>`
+function. A helper class is also available, :ref:`SurfaceTool <class_SurfaceTool>`,
 which provides a more straightforward API and helpers for indexing,
 which provides a more straightforward API and helpers for indexing,
 generating normals, tangents, etc.
 generating normals, tangents, etc.
 
 
@@ -79,7 +71,7 @@ In any case, this method is meant for generating static geometry (models
 that will not be updated often), as creating vertex arrays and
 that will not be updated often), as creating vertex arrays and
 submitting them to the 3D API has a significant performance cost.
 submitting them to the 3D API has a significant performance cost.
 
 
-Immediate Geometry
+Immediate geometry
 ------------------
 ------------------
 
 
 If, instead, there is a requirement to generate simple geometry that
 If, instead, there is a requirement to generate simple geometry that
@@ -94,8 +86,7 @@ lines, triangles, etc.
 While Godot packs a powerful 2D engine, many types of games use 2D in a
 While Godot packs a powerful 2D engine, many types of games use 2D in a
 3D environment. By using a fixed camera (either orthogonal or
 3D environment. By using a fixed camera (either orthogonal or
 perspective) that does not rotate, nodes such as
 perspective) that does not rotate, nodes such as
-:ref:`Sprite3D <class_Sprite3D>`
-and
+:ref:`Sprite3D <class_Sprite3D>` and
 :ref:`AnimatedSprite3D <class_AnimatedSprite3D>`
 :ref:`AnimatedSprite3D <class_AnimatedSprite3D>`
 can be used to create 2D games that take advantage of mixing with 3D
 can be used to create 2D games that take advantage of mixing with 3D
 backgrounds, more realistic parallax, lighting/shadow effects, etc.
 backgrounds, more realistic parallax, lighting/shadow effects, etc.
@@ -108,13 +99,12 @@ Environment
 ~~~~~~~~~~~
 ~~~~~~~~~~~
 
 
 Besides editing a scene, it is often common to edit the environment.
 Besides editing a scene, it is often common to edit the environment.
-Godot provides a
-:ref:`WorldEnvironment <class_WorldEnvironment>`
+Godot provides a :ref:`WorldEnvironment <class_WorldEnvironment>`
 node that allows changing the background color, mode (as in, put a
 node that allows changing the background color, mode (as in, put a
 skybox), and applying several types of built-in post-processing effects.
 skybox), and applying several types of built-in post-processing effects.
 Environments can also be overriden in the Camera.
 Environments can also be overriden in the Camera.
 
 
-3D Viewport
+3D viewport
 ~~~~~~~~~~~
 ~~~~~~~~~~~
 
 
 Editing 3D scenes is done in the 3D tab. This tab can be selected
 Editing 3D scenes is done in the 3D tab. This tab can be selected
@@ -130,7 +120,7 @@ similar to other tools in Editor Settings:
 
 
 .. image:: /img/tuto_3d4.png
 .. image:: /img/tuto_3d4.png
 
 
-Coordinate System
+Coordinate system
 -----------------
 -----------------
 
 
 Godot uses the `metric <http://en.wikipedia.org/wiki/Metric_system>`__
 Godot uses the `metric <http://en.wikipedia.org/wiki/Metric_system>`__
@@ -154,7 +144,7 @@ means that:
 -  **Y** is up/down
 -  **Y** is up/down
 -  **Z** is front/back
 -  **Z** is front/back
 
 
-Space and Manipulation Gizmos
+Space and manipulation gizmos
 -----------------------------
 -----------------------------
 
 
 Moving objects in the 3D view is done through the manipulator gizmos.
 Moving objects in the 3D view is done through the manipulator gizmos.
@@ -171,18 +161,18 @@ Some useful keybindings:
    or rotating.
    or rotating.
 -  To center the view on the selected object, press the "f" key.
 -  To center the view on the selected object, press the "f" key.
 
 
-View Menu
+View menu
 ---------
 ---------
 
 
-The view options are controlled by the \`[view]\` menu. Pay attention to
+The view options are controlled by the "[ view ]" menu. Pay attention to
 this little menu inside the window because it is often overlooked!
 this little menu inside the window because it is often overlooked!
 
 
 .. image:: /img/tuto_3d6.png
 .. image:: /img/tuto_3d6.png
 
 
-Default Lighting
+Default lighting
 ----------------
 ----------------
 
 
-The 3D View has by some default options on lighting:
+The 3D view has by some default options on lighting:
 
 
 -  There is a directional light that makes objects visible while editing
 -  There is a directional light that makes objects visible while editing
    turned on by default. It is no longer visible when running the game.
    turned on by default. It is no longer visible when running the game.
@@ -208,8 +198,7 @@ Cameras
 -------
 -------
 
 
 No matter how many objects are placed in 3D space, nothing will be
 No matter how many objects are placed in 3D space, nothing will be
-displayed unless a
-:ref:`Camera <class_Camera>` is
+displayed unless a :ref:`Camera <class_Camera>` is
 also added to the scene. Cameras can either work in orthogonal or
 also added to the scene. Cameras can either work in orthogonal or
 perspective projections:
 perspective projections:
 
 
@@ -245,6 +234,3 @@ overall.
 
 
 It is possible to use :ref:`doc_light_baking`, to avoid using large amount of
 It is possible to use :ref:`doc_light_baking`, to avoid using large amount of
 real-time lights and improve performance.
 real-time lights and improve performance.
-
-
-

+ 5 - 0
tutorials/3d/inverse_kinematics.rst

@@ -1,5 +1,10 @@
 .. _doc_inverse_kinematics:
 .. _doc_inverse_kinematics:
 
 
+Inverse kinematics
+==================
+
+This tutorial is a follow-up of :ref:`doc_working_with_3d_skeletons`.
+
 Before continuing on, I'd recommend reading some theory, the simplest
 Before continuing on, I'd recommend reading some theory, the simplest
 article I find is this:
 article I find is this:
 
 

+ 7 - 10
tutorials/3d/lighting.rst

@@ -19,7 +19,7 @@ result. Light can come from several types of sources in a scene:
 The emission color is a material property, as seen in the previous
 The emission color is a material property, as seen in the previous
 tutorials about materials (go read them if you didn't at this point!).
 tutorials about materials (go read them if you didn't at this point!).
 
 
-Light Nodes
+Light nodes
 -----------
 -----------
 
 
 As mentioned before, there are three types of light nodes: Directional,
 As mentioned before, there are three types of light nodes: Directional,
@@ -47,7 +47,7 @@ Each one has a specific function:
 -  **Projector**: Lights can project a texture for the diffuse light
 -  **Projector**: Lights can project a texture for the diffuse light
    (currently only supported in Spot light).
    (currently only supported in Spot light).
 
 
-Directional Light
+Directional light
 ~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~
 
 
 This is the most common type of light and represents the sun. It is also
 This is the most common type of light and represents the sun. It is also
@@ -63,7 +63,7 @@ Basically what faces the light is lit, what doesn't is dark. Most lights
 have specific parameters but directional lights are pretty simple in
 have specific parameters but directional lights are pretty simple in
 nature so they don't.
 nature so they don't.
 
 
-Omni Light
+Omni light
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Omni light is a point that throws light all around it up to a given
 Omni light is a point that throws light all around it up to a given
@@ -83,7 +83,7 @@ instead.
 
 
 .. image:: /img/light_attenuation.png
 .. image:: /img/light_attenuation.png
 
 
-Spot Light
+Spot light
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Spot lights are similar to Omni lights, except they only operate between
 Spot lights are similar to Omni lights, except they only operate between
@@ -93,7 +93,7 @@ opposite direction it points to.
 
 
 .. image:: /img/light_spot.png
 .. image:: /img/light_spot.png
 
 
-Ambient Light
+Ambient light
 -------------
 -------------
 
 
 Ambient light can be found in the properties of a WorldEnvironment
 Ambient light can be found in the properties of a WorldEnvironment
@@ -102,13 +102,10 @@ consists of a uniform light and energy. This light is applied the same
 to every single pixel of the rendered scene, except to objects that used
 to every single pixel of the rendered scene, except to objects that used
 baked light.
 baked light.
 
 
-Baked Light
+Baked light
 -----------
 -----------
 
 
-Baked Light stands for pre-computed ambient light. It can serve multiple
+Baked light stands for pre-computed ambient light. It can serve multiple
 purposes, such as baking light emissors that are not going to be used in
 purposes, such as baking light emissors that are not going to be used in
 real-time, and baking light bounces from real-time lights to add more
 real-time, and baking light bounces from real-time lights to add more
 realism to a scene (see Baked Light]] tutorial for more information).
 realism to a scene (see Baked Light]] tutorial for more information).
-
-
-

+ 6 - 10
tutorials/3d/materials.rst

@@ -9,8 +9,7 @@ Introduction
 Materials can be applied to most visible 3D objects, they basically
 Materials can be applied to most visible 3D objects, they basically
 are a description to how light reacts to that object. There are many
 are a description to how light reacts to that object. There are many
 types of materials, but the main ones are the
 types of materials, but the main ones are the
-:ref:`FixedMaterial <class_FixedMaterial>`
-and
+:ref:`FixedMaterial <class_FixedMaterial>` and
 :ref:`ShaderMaterial <class_ShaderMaterial>`.
 :ref:`ShaderMaterial <class_ShaderMaterial>`.
 Tutorials for each of them exist :ref:`doc_fixed_materials` and :ref:`doc_shader_materials`.
 Tutorials for each of them exist :ref:`doc_fixed_materials` and :ref:`doc_shader_materials`.
 
 
@@ -30,7 +29,7 @@ Visible
 Toggles whether the material is visible. If unchecked, the object will
 Toggles whether the material is visible. If unchecked, the object will
 not be shown.
 not be shown.
 
 
-Double Sided & Invert Faces
+Double sided & invert faces
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Godot by default only shows geometry faces (triangles) when facing the
 Godot by default only shows geometry faces (triangles) when facing the
@@ -54,7 +53,7 @@ in the texture or parameter:
 
 
 .. image:: /img/material_unshaded.png
 .. image:: /img/material_unshaded.png
 
 
-On Top
+On top
 ~~~~~~
 ~~~~~~
 
 
 When this flag is turned on, te object will be drawn after everything
 When this flag is turned on, te object will be drawn after everything
@@ -73,7 +72,7 @@ Parameters
 
 
 Some parameters also exist for controlling drawing and blending:
 Some parameters also exist for controlling drawing and blending:
 
 
-Blend Mode
+Blend mode
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 Objects are usually blended in Mix mode. Other blend modes (Add and Sub)
 Objects are usually blended in Mix mode. Other blend modes (Add and Sub)
@@ -82,12 +81,12 @@ materials can be set to them:
 
 
 .. image:: /img/fixed_material_blend.png
 .. image:: /img/fixed_material_blend.png
 
 
-Line Width
+Line width
 ~~~~~~~~~~
 ~~~~~~~~~~
 
 
 When drawing lines, the size of them can be adjusted here per material.
 When drawing lines, the size of them can be adjusted here per material.
 
 
-Depth Draw Mode
+Depth draw mode
 ~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~
 
 
 This is a tricky but very useful setting. By default, opaque objects are
 This is a tricky but very useful setting. By default, opaque objects are
@@ -115,6 +114,3 @@ sorted by depth). This behavior can be changed here. The options are:
    mostly useful in combination with the "On Top" flag explained above.
    mostly useful in combination with the "On Top" flag explained above.
 
 
 .. image:: /img/material_depth_draw.png
 .. image:: /img/material_depth_draw.png
-
-
-

+ 1 - 4
tutorials/3d/shader_materials.rst

@@ -1,6 +1,6 @@
 .. _doc_shader_materials:
 .. _doc_shader_materials:
 
 
-Shader Materials
+Shader materials
 ================
 ================
 
 
 Introduction
 Introduction
@@ -62,6 +62,3 @@ instantly visible:
 
 
 This allows to very quickly create custom, complex materials for every
 This allows to very quickly create custom, complex materials for every
 type of object.
 type of object.
-
-
-

+ 8 - 11
tutorials/3d/shadow_mapping.rst

@@ -1,6 +1,6 @@
 .. _doc_shadow_mapping:
 .. _doc_shadow_mapping:
 
 
-Shadow Mapping
+Shadow mapping
 ==============
 ==============
 
 
 Introduction
 Introduction
@@ -31,10 +31,10 @@ The bigger the resolution of the shadow map texture, the more detail the
 shadow has, but more video memory and bandwidth consumed (which means
 shadow has, but more video memory and bandwidth consumed (which means
 frame-rate goes down).
 frame-rate goes down).
 
 
-Shadows by Light Type
+Shadows by light type
 ---------------------
 ---------------------
 
 
-Directional Light Shadows
+Directional light shadows
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Directional lights can affect a really big area. The bigger the scene,
 Directional lights can affect a really big area. The bigger the scene,
@@ -60,7 +60,7 @@ words, PSM is only useful for games where the camera direction and light
 direction are both fixed, and the light is not parallel to the camera
 direction are both fixed, and the light is not parallel to the camera
 (which is when PSM completely breaks).
 (which is when PSM completely breaks).
 
 
-Omni Light Shadows
+Omni light shadows
 ~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~
 
 
 Omnidirectional lights are also troubesome. How to represent 360 degrees
 Omnidirectional lights are also troubesome. How to represent 360 degrees
@@ -83,7 +83,7 @@ As few considerations when using DPSM shadow maps:
 -  The seams between the two halfs of the shadow are generally
 -  The seams between the two halfs of the shadow are generally
    noticeable, so rotate the light to make them show less.
    noticeable, so rotate the light to make them show less.
 
 
-Spot Light Shadows
+Spot light shadows
 ~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~
 
 
 Spot light shadows are generally the simpler, just needing a single
 Spot light shadows are generally the simpler, just needing a single
@@ -91,7 +91,7 @@ texture and no special techniques.
 
 
 .. image:: /img/shadow_spot.png
 .. image:: /img/shadow_spot.png
 
 
-Shadows Parameters
+Shadows parameters
 ------------------
 ------------------
 
 
 The fact that shadows are actually a texture can generate several
 The fact that shadows are actually a texture can generate several
@@ -101,7 +101,7 @@ is to tweak the offset parameters, and the second is to use a filtered
 shadow algorithm, which generally looks better and has not as many
 shadow algorithm, which generally looks better and has not as many
 glitches, but consumes more GPU time.
 glitches, but consumes more GPU time.
 
 
-Adjusting Z-Offset
+Adjusting z-offset
 ~~~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~~~
 
 
 So, you have decided to go with non-filtered shadows because they are
 So, you have decided to go with non-filtered shadows because they are
@@ -168,7 +168,7 @@ will try to cover a bigger area.
 
 
 So, always make sure to use the optimal range!
 So, always make sure to use the optimal range!
 
 
-Shadow Filtering
+Shadow filtering
 ~~~~~~~~~~~~~~~~
 ~~~~~~~~~~~~~~~~
 
 
 Raw shadows are blocky. Increasing their resolution just makes smaller
 Raw shadows are blocky. Increasing their resolution just makes smaller
@@ -186,6 +186,3 @@ to look good.
 ESM is a more complex filter and has a few more tweaking parameters. ESM
 ESM is a more complex filter and has a few more tweaking parameters. ESM
 uses shadow blurring (amount of blur passes and multiplier can be
 uses shadow blurring (amount of blur passes and multiplier can be
 adjusted).
 adjusted).
-
-
-

+ 2 - 2
tutorials/3d/working_with_3d_skeletons.rst

@@ -344,9 +344,9 @@ https://github.com/slapin/godot-skel3d
 Using 3D "bones" to implement Inverse Kinematics
 Using 3D "bones" to implement Inverse Kinematics
 ------------------------------------------------
 ------------------------------------------------
 
 
-{{include(Inverse Kinematics)}}
+See :ref:`doc_inverse_kinematics`.
 
 
 Using 3D "bones" to implement ragdoll-like physics
 Using 3D "bones" to implement ragdoll-like physics
 --------------------------------------------------
 --------------------------------------------------
 
 
-TBD
+TODO.