Przeglądaj źródła

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 lat temu
rodzic
commit
1fd0086d95

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

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

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

@@ -1,39 +1,34 @@
 .. _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
-: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"
 :ref:`Viewport.set_canvas_transform() <class_Viewport_set_canvas_transform>`,
 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
 efficient than moving the root canvas item (and hence the whole scene).
 Canvas transform is a simple matrix that offsets the whole 2D drawing,
 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
 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
 ------------
 
-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
 children and grand-children. Viewport children will draw by default at
 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.
 In the future, nodes will also have a priority or sub-layer index which
 should aid for this.
-
-
-

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

@@ -1,6 +1,6 @@
 .. _doc_custom_drawing_in_2d:
 
-Custom Drawing in 2D
+Custom drawing in 2D
 ====================
 
 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
 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
-: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.
 
-But..
------
+But...
+------
 
 Custom drawing manually in a node is *really* useful. Here are some
 examples why:
@@ -34,15 +33,12 @@ examples why:
 -  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.
 
-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
         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.
 
 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.
 
 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.
 
 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
 (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:
 
-Custom GUI Controls
+Custom GUI controls
 ===================
 
-So Many Controls..
-------------------
+So many controls...
+-------------------
 
 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
@@ -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
 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
@@ -29,7 +29,7 @@ organize them in proper layouts. For this, the
 method is provided. Checking it during _draw() is vital to ensure
 everything is kept in-bounds.
 
-Checking Focus
+Checking focus
 ~~~~~~~~~~~~~~
 
 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
 always desired to show some sort of indicator (highight, box, etc) to
 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
 
 ::
@@ -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.
 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
-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 other controls in the container.
 
@@ -85,7 +83,7 @@ Input
 Controls provide a few helpers to make managing input events much esier
 than regular nodes.
 
-Input Events
+Input events
 ~~~~~~~~~~~~
 
 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):
           pass # for modal popups, notification
           # that the popup was closed
-

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

@@ -1,6 +1,6 @@
 .. _doc_cutout_animation:
 
-Cutout Animation
+Cutout animation
 ================
 
 What is it?
@@ -62,7 +62,7 @@ character, created by Andreas Esau.
 
 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:
@@ -94,10 +94,10 @@ the rotation pivot:
 
 .. 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:
 
 .. 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
 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
 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
 
-Completing the Skeleton
+Completing the skeleton
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 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
 
-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
 
@@ -215,10 +213,9 @@ So, with this knowledge. Let's do the same again so we have an actual,
 useful skeleton.
 
 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
 
@@ -242,7 +239,7 @@ sense soon.
 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.
 
-IK Chains
+IK chains
 ~~~~~~~~~
 
 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
 
-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
 
@@ -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
 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.
@@ -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
 mask to your preference.
 
-Rest Pose
+Rest pose
 ~~~~~~~~~
 
 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.
 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
@@ -350,7 +346,7 @@ aid on this the "Behind Parent" property exists on any Node2D:
 
 .. image:: /img/tuto_cutout23.png
 
-Batch Setting Transition Curves
+Batch setting transition curves
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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:
 
 .. image:: /img/tuto_cutout24.png
-
-
-

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

@@ -1,17 +1,15 @@
 .. _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
 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>`.
 
 However, many types of games often need complex user interfaces, like
@@ -26,8 +24,7 @@ interface.
 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
 entire visual styling of all controls. Theme options are named, so it's
 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
 user interfaces.
 
-Theme Options
+Theme options
 -------------
 
 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,
 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
@@ -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
 that control.
 
-Creating a Theme
+Creating a theme
 ----------------
 
 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
 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":
 
 .. 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
 
 Congratulations! You have created a reusable GUI Theme!
-
-
-

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

@@ -6,8 +6,8 @@ Kinematic Character (2D)
 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
 responses). Many attempts were made to create a character controller
 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
 nice and simple API).
 
-Fixed Process
+Fixed process
 ~~~~~~~~~~~~~
 
 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():
         set_fixed_process(true)
 
-Scene Setup
+Scene setup
 ~~~~~~~~~~~
 
 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
 
-Moving the Kinematic Character
+Moving the Kinematic character
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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
 
         var motion = velocity * delta
-        move( motion )  
+        move(motion)  
 
     func _ready():
         set_fixed_process(true)
@@ -175,7 +175,7 @@ And give it a try.
 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 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
 
-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
 collision happened at 10 pixels, the same vector but 30 pixels long is
 returned.
@@ -225,23 +225,20 @@ this way:
             velocity.x = 0
 
         var motion = velocity * delta
-        motion = move( motion ) 
+        motion = move(motion) 
 
         if (is_colliding()):
             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():
         set_fixed_process(true)
 
 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
 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
 engine, or in the
 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
 
-Physics Variables
+Physics variables
 -----------------
 
 Before taking a look at the global parameters for the particle system,
@@ -67,31 +67,31 @@ in all directions.
 
 .. 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
 accelerations (as described further below).
 
 .. 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).
 
 .. 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
 
-Gravity Direction & Strength
+Gravity direction & strength
 ----------------------------
 
 Gravity can be modified as in direction and strength. Gravity affects
@@ -99,7 +99,7 @@ every particle currently alive.
 
 .. image:: /img/paranim7.gif
 
-Radial Acceleration
+Radial acceleration
 -------------------
 
 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
 
-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
 
@@ -124,7 +124,7 @@ high linear velocity and then stop as they fade.
 
 .. image:: /img/paranim10.gif
 
-Initial Angle
+Initial angle
 -------------
 
 Determines the initial angle of the particle (in degress). This parameter
@@ -132,14 +132,14 @@ is mostly useful randomized.
 
 .. image:: /img/paranim11.gif
 
-Initial & Final Size
+Initial & final size
 --------------------
 
 Determines the initial and final scales of the particle.
 
 .. image:: /img/paranim12.gif
 
-Color Phases
+Color phases
 ------------
 
 Particles can use up to 4 color phases. Each color phase can include
@@ -156,7 +156,7 @@ Will result in:
 
 .. image:: /img/paranim13.gif
 
-Global Parameters
+Global parameters
 -----------------
 
 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
 actually shown the first time.
 
-Emit Timeout
+Emit timeout
 ------------
 
 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
 
-Half Extents
+Half extents
 ------------
 
 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
 
-Local Space
+Local space
 -----------
 
 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
-
-
-

+ 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
 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
 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
 
-TexScreen Example
+TexScreen example
 ~~~~~~~~~~~~~~~~~
 
 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);
 
-    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
@@ -86,7 +86,7 @@ With correct back-buffer copying, the two spheres blend correctly:
 
 .. 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
@@ -103,11 +103,7 @@ Godot:
    disabled) was found before in tree-order.
 -  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
-   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:
 
-Size and Anchors
+Size and anchors
 ----------------
 
 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
 ~~~~~~~~~~~~
@@ -15,7 +15,7 @@ grid, as many times each as desired:
 Collision can also be added to the tiles, allowing for both 2D side
 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.
@@ -26,11 +26,7 @@ Having them as separate images also works too.
 
 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
 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
 the export tool!
 
-TileSet Scene
+TileSet scene
 -------------
 
 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
 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
@@ -145,7 +141,7 @@ using the lock button:
 
 .. 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
@@ -163,10 +159,7 @@ ones that look better for you:
    first.
 -  Disable filtering for either the tileset texture or the entire image
    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).
 -  Viewport Scaling can often help shrinking the map (see the
    :ref:`doc_viewports` tutorial).
-
-
-

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

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

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

@@ -1,7 +1,7 @@
 .. _doc_3d_performance_and_limitations:
 
-3D Performance & Limitations
-============================
+3D performance and limitations
+==============================
 
 Introduction
 ~~~~~~~~~~~~
@@ -44,7 +44,7 @@ Rendering
 3D rendering is one of the most difficult areas to get performance from,
 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
@@ -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
 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
@@ -130,11 +130,11 @@ have extra processing per vertex, such as:
 -  Morphs (shape keys)
 -  Vertex Lit Objects (common on mobile)
 
-Texture Compression
+Texture compression
 -------------------
 
 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.
 
 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
 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
@@ -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
 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
@@ -168,17 +168,16 @@ of detail,
 based objects have a visibility range that can be defined. Having
 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
-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
 very little performance cost, making it ideal for flocks, grass,
 particles, etc.
 
-Bake Lighting
+Bake lighting
 -------------
 
 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
 method is even faster.
-

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

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

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

@@ -1,6 +1,6 @@
 .. _doc_fixed_materials:
 
-Fixed Materials
+Fixed materials
 ===============
 
 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:
 
-Fixed Flags
+Fixed flags
 -----------
 
 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
@@ -43,7 +43,7 @@ information).
 
 .. image:: /img/fixed_material_alpha.png
 
-Use Vertex Colors
+Use vertex colors
 ~~~~~~~~~~~~~~~~~
 
 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
 
-Point Size
+Point size
 ~~~~~~~~~~
 
 Point size is used to set the point size (in pixels) for when rendering
 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
@@ -74,12 +74,12 @@ is often used in combination with "opaque pre-pass" hint (see the
 Parameters
 ----------
 
-Diffuse, Specular, Emission and Specular Exponent
+Diffuse, specular, emission and specular exponent
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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
    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
@@ -97,7 +97,7 @@ Below is an example of how they interact:
 
 .. image:: /img/fixed_material_colors.png
 
-Shader & Shader Param
+Shader & shader param
 ~~~~~~~~~~~~~~~~~~~~~
 
 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
 
-Detail & Detail Mix
+Detail & detail mix
 ~~~~~~~~~~~~~~~~~~~
 
 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
 
-Normal Depth
+Normal depth
 ~~~~~~~~~~~~
 
 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
 
-Blend Mode
+Blend mode
 ~~~~~~~~~~
 
 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
 
-Point Size, Line Width
+Point size, line width
 ~~~~~~~~~~~~~~~~~~~~~~
 
 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:
 
-High Dynamic Range
+High dynamic range
 ==================
 
 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
 realistic light bleeding effects in the scene.
 
-Linear Color Space
+Linear color space
 ------------------
 
 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
 this.
 
-Linear Color Space & Asset Pipeline
+Linear color space & asset pipeline
 -----------------------------------
 
 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
 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
 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.
 
-Hardware sRGB -> Linear conversion.
+Hardware sRGB -> linear conversion.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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
 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
 must always be **both** enabled. Failing to enable one of them will
@@ -103,8 +101,7 @@ indie games.
 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
 :ref:`WorldEnvironment <class_WorldEnvironment>`
 node, or set in a camera. There are many parameters for HDR:
@@ -138,34 +135,31 @@ White
 
 Maximum value of white.
 
-Glow Threshold
+Glow threshold
 ~~~~~~~~~~~~~~
 
 Determine above which value (from 0 to 1 after the scene is tonemapped),
 light will start bleeding.
 
-Glow Scale
+Glow scale
 ~~~~~~~~~~
 
 Determine how much light will bleed.
 
-Min Luminance
+Min luminance
 ~~~~~~~~~~~~~
 
 Lower bound value of light for the scene at which the tonemapper stops
 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
 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
 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
 
 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
 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.
-
-

+ 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
 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
 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.
 
 .. 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
 node (as long as the parent node is also **or inherits** of type
 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
 scale.
 
 .. image:: /img/tuto_3d2.png
 
-3D Content
+3D content
 ~~~~~~~~~~
 
 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
 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
@@ -59,19 +54,16 @@ skeletal rigs, blend shapes, etc.
 
 The second pipeline is through the :ref:`doc_importing_3d_meshes` importer. This
 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.
 
-Generated Geometry
+Generated geometry
 ------------------
 
 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,
 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
 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
@@ -94,8 +86,7 @@ lines, triangles, etc.
 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
 perspective) that does not rotate, nodes such as
-:ref:`Sprite3D <class_Sprite3D>`
-and
+:ref:`Sprite3D <class_Sprite3D>` and
 :ref:`AnimatedSprite3D <class_AnimatedSprite3D>`
 can be used to create 2D games that take advantage of mixing with 3D
 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.
-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
 skybox), and applying several types of built-in post-processing effects.
 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
@@ -130,7 +120,7 @@ similar to other tools in Editor Settings:
 
 .. image:: /img/tuto_3d4.png
 
-Coordinate System
+Coordinate system
 -----------------
 
 Godot uses the `metric <http://en.wikipedia.org/wiki/Metric_system>`__
@@ -154,7 +144,7 @@ means that:
 -  **Y** is up/down
 -  **Z** is front/back
 
-Space and Manipulation Gizmos
+Space and manipulation gizmos
 -----------------------------
 
 Moving objects in the 3D view is done through the manipulator gizmos.
@@ -171,18 +161,18 @@ Some useful keybindings:
    or rotating.
 -  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!
 
 .. 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
    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
-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
 perspective projections:
 
@@ -245,6 +234,3 @@ overall.
 
 It is possible to use :ref:`doc_light_baking`, to avoid using large amount of
 real-time lights and improve performance.
-
-
-

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

@@ -1,5 +1,10 @@
 .. _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
 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
 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,
@@ -47,7 +47,7 @@ Each one has a specific function:
 -  **Projector**: Lights can project a texture for the diffuse 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
@@ -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
 nature so they don't.
 
-Omni Light
+Omni light
 ~~~~~~~~~~
 
 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
 
-Spot Light
+Spot light
 ~~~~~~~~~~
 
 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
 
-Ambient Light
+Ambient light
 -------------
 
 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
 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
 real-time, and baking light bounces from real-time lights to add more
 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
 are a description to how light reacts to that object. There are many
 types of materials, but the main ones are the
-:ref:`FixedMaterial <class_FixedMaterial>`
-and
+:ref:`FixedMaterial <class_FixedMaterial>` and
 :ref:`ShaderMaterial <class_ShaderMaterial>`.
 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
 not be shown.
 
-Double Sided & Invert Faces
+Double sided & invert faces
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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
 
-On Top
+On top
 ~~~~~~
 
 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:
 
-Blend Mode
+Blend mode
 ~~~~~~~~~~
 
 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
 
-Line Width
+Line width
 ~~~~~~~~~~
 
 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
@@ -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.
 
 .. image:: /img/material_depth_draw.png
-
-
-

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

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

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

@@ -1,6 +1,6 @@
 .. _doc_shadow_mapping:
 
-Shadow Mapping
+Shadow mapping
 ==============
 
 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
 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,
@@ -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
 (which is when PSM completely breaks).
 
-Omni Light Shadows
+Omni light shadows
 ~~~~~~~~~~~~~~~~~~
 
 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
    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
@@ -91,7 +91,7 @@ texture and no special techniques.
 
 .. image:: /img/shadow_spot.png
 
-Shadows Parameters
+Shadows parameters
 ------------------
 
 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
 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
@@ -168,7 +168,7 @@ will try to cover a bigger area.
 
 So, always make sure to use the optimal range!
 
-Shadow Filtering
+Shadow filtering
 ~~~~~~~~~~~~~~~~
 
 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
 uses shadow blurring (amount of blur passes and multiplier can be
 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
 ------------------------------------------------
 
-{{include(Inverse Kinematics)}}
+See :ref:`doc_inverse_kinematics`.
 
 Using 3D "bones" to implement ragdoll-like physics
 --------------------------------------------------
 
-TBD
+TODO.