Mr.doob 2 years ago
parent
commit
f335bd1713
100 changed files with 9582 additions and 595 deletions
  1. 82 153
      build/three.cjs
  2. 82 153
      build/three.js
  3. 0 0
      build/three.min.js
  4. 110 200
      build/three.module.js
  5. 1 1
      docs/api/en/animation/AnimationMixer.html
  6. 6 0
      docs/api/en/constants/Animation.html
  7. 21 2
      docs/api/en/constants/Core.html
  8. 18 0
      docs/api/en/constants/Materials.html
  9. 6 3
      docs/api/en/constants/Renderer.html
  10. 10 1
      docs/api/en/constants/Textures.html
  11. 0 12
      docs/api/en/core/BufferAttribute.html
  12. 18 22
      docs/api/en/core/BufferGeometry.html
  13. 1 1
      docs/api/en/core/InterleavedBuffer.html
  14. 6 0
      docs/api/en/core/Object3D.html
  15. 3 4
      docs/api/en/extras/core/ShapePath.html
  16. 7 7
      docs/api/en/helpers/PolarGridHelper.html
  17. 9 1
      docs/api/en/lights/SpotLight.html
  18. 1 1
      docs/api/en/materials/Material.html
  19. 59 7
      docs/api/en/materials/MeshLambertMaterial.html
  20. 1 7
      docs/api/en/materials/MeshPhongMaterial.html
  21. 3 9
      docs/api/en/materials/MeshStandardMaterial.html
  22. 1 1
      docs/api/en/renderers/WebGLRenderer.html
  23. 0 6
      docs/api/en/scenes/Scene.html
  24. 1 1
      docs/api/en/textures/Source.html
  25. 2 2
      docs/api/en/textures/Texture.html
  26. 1 1
      docs/api/en/textures/VideoTexture.html
  27. 363 0
      docs/api/fr/animation/AnimationAction.html
  28. 148 0
      docs/api/fr/animation/AnimationClip.html
  29. 118 0
      docs/api/fr/animation/AnimationMixer.html
  30. 91 0
      docs/api/fr/animation/AnimationObjectGroup.html
  31. 67 0
      docs/api/fr/animation/AnimationUtils.html
  32. 262 0
      docs/api/fr/animation/KeyframeTrack.html
  33. 132 0
      docs/api/fr/animation/PropertyBinding.html
  34. 112 0
      docs/api/fr/animation/PropertyMixer.html
  35. 79 0
      docs/api/fr/animation/tracks/BooleanKeyframeTrack.html
  36. 63 0
      docs/api/fr/animation/tracks/ColorKeyframeTrack.html
  37. 63 0
      docs/api/fr/animation/tracks/NumberKeyframeTrack.html
  38. 74 0
      docs/api/fr/animation/tracks/QuaternionKeyframeTrack.html
  39. 82 0
      docs/api/fr/animation/tracks/StringKeyframeTrack.html
  40. 62 0
      docs/api/fr/animation/tracks/VectorKeyframeTrack.html
  41. 348 0
      docs/api/it/animation/AnimationAction.html
  42. 149 0
      docs/api/it/animation/AnimationClip.html
  43. 121 0
      docs/api/it/animation/AnimationMixer.html
  44. 92 0
      docs/api/it/animation/AnimationObjectGroup.html
  45. 67 0
      docs/api/it/animation/AnimationUtils.html
  46. 259 0
      docs/api/it/animation/KeyframeTrack.html
  47. 132 0
      docs/api/it/animation/PropertyBinding.html
  48. 113 0
      docs/api/it/animation/PropertyMixer.html
  49. 79 0
      docs/api/it/animation/tracks/BooleanKeyframeTrack.html
  50. 63 0
      docs/api/it/animation/tracks/ColorKeyframeTrack.html
  51. 63 0
      docs/api/it/animation/tracks/NumberKeyframeTrack.html
  52. 74 0
      docs/api/it/animation/tracks/QuaternionKeyframeTrack.html
  53. 82 0
      docs/api/it/animation/tracks/StringKeyframeTrack.html
  54. 62 0
      docs/api/it/animation/tracks/VectorKeyframeTrack.html
  55. 267 0
      docs/api/it/audio/Audio.html
  56. 98 0
      docs/api/it/audio/AudioAnalyser.html
  57. 43 0
      docs/api/it/audio/AudioContext.html
  58. 123 0
      docs/api/it/audio/AudioListener.html
  59. 138 0
      docs/api/it/audio/PositionalAudio.html
  60. 55 0
      docs/api/it/cameras/ArrayCamera.html
  61. 86 0
      docs/api/it/cameras/Camera.html
  62. 88 0
      docs/api/it/cameras/CubeCamera.html
  63. 146 0
      docs/api/it/cameras/OrthographicCamera.html
  64. 214 0
      docs/api/it/cameras/PerspectiveCamera.html
  65. 64 0
      docs/api/it/cameras/StereoCamera.html
  66. 46 0
      docs/api/it/constants/Animation.html
  67. 53 0
      docs/api/it/constants/BufferAttributeUsage.html
  68. 80 0
      docs/api/it/constants/Core.html
  69. 66 0
      docs/api/it/constants/CustomBlendingEquations.html
  70. 159 0
      docs/api/it/constants/Materials.html
  71. 72 0
      docs/api/it/constants/Renderer.html
  72. 561 0
      docs/api/it/constants/Textures.html
  73. 224 0
      docs/api/it/core/BufferAttribute.html
  74. 319 0
      docs/api/it/core/BufferGeometry.html
  75. 82 0
      docs/api/it/core/Clock.html
  76. 97 0
      docs/api/it/core/EventDispatcher.html
  77. 115 0
      docs/api/it/core/GLBufferAttribute.html
  78. 43 0
      docs/api/it/core/InstancedBufferAttribute.html
  79. 48 0
      docs/api/it/core/InstancedBufferGeometry.html
  80. 44 0
      docs/api/it/core/InstancedInterleavedBuffer.html
  81. 116 0
      docs/api/it/core/InterleavedBuffer.html
  82. 125 0
      docs/api/it/core/InterleavedBufferAttribute.html
  83. 105 0
      docs/api/it/core/Layers.html
  84. 500 0
      docs/api/it/core/Object3D.html
  85. 217 0
      docs/api/it/core/Raycaster.html
  86. 274 0
      docs/api/it/core/Uniform.html
  87. 65 0
      docs/api/it/core/bufferAttributeTypes/BufferAttributeTypes.html
  88. 38 0
      docs/api/it/extras/DataUtils.html
  89. 34 0
      docs/api/it/extras/Earcut.html
  90. 38 0
      docs/api/it/extras/ImageUtils.html
  91. 111 0
      docs/api/it/extras/PMREMGenerator.html
  92. 52 0
      docs/api/it/extras/ShapeUtils.html
  93. 132 0
      docs/api/it/extras/core/Curve.html
  94. 70 0
      docs/api/it/extras/core/CurvePath.html
  95. 48 0
      docs/api/it/extras/core/Interpolations.html
  96. 150 0
      docs/api/it/extras/core/Path.html
  97. 104 0
      docs/api/it/extras/core/Shape.html
  98. 97 0
      docs/api/it/extras/core/ShapePath.html
  99. 26 0
      docs/api/it/extras/curves/ArcCurve.html
  100. 80 0
      docs/api/it/extras/curves/CatmullRomCurve3.html

File diff suppressed because it is too large
+ 82 - 153
build/three.cjs


File diff suppressed because it is too large
+ 82 - 153
build/three.js


File diff suppressed because it is too large
+ 0 - 0
build/three.min.js


File diff suppressed because it is too large
+ 110 - 200
build/three.module.js


+ 1 - 1
docs/api/en/animation/AnimationMixer.html

@@ -81,7 +81,7 @@
 		<p>
 		<p>
 			Advances the global mixer time and updates the animation.<br /><br />
 			Advances the global mixer time and updates the animation.<br /><br />
 
 
-			This is usually done in the render loop, passing [page:Clock.getDelta clock.getDelta] scaled by the mixer's [page:.timeScale timeScale]).
+			This is usually done in the render loop, passing [page:Clock.getDelta clock.getDelta] scaled by the mixer's [page:.timeScale timeScale].
 		</p>
 		</p>
 
 
 		<h3>[method:this setTime]([param:Number timeInSeconds]) </h3>
 		<h3>[method:this setTime]([param:Number timeInSeconds]) </h3>

+ 6 - 0
docs/api/en/constants/Animation.html

@@ -29,6 +29,12 @@ THREE.InterpolateSmooth
 THREE.ZeroCurvatureEnding
 THREE.ZeroCurvatureEnding
 THREE.ZeroSlopeEnding
 THREE.ZeroSlopeEnding
 THREE.WrapAroundEnding
 THREE.WrapAroundEnding
+    </code>
+
+	<h2>Animation Blend Modes</h2>
+    <code>
+THREE.NormalAnimationBlendMode
+THREE.AdditiveAnimationBlendMode
     </code>
     </code>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>

+ 21 - 2
docs/api/en/constants/Core.html

@@ -21,10 +21,13 @@ THREE.REVISION
 
 
 		<h2>Color Spaces</h2>
 		<h2>Color Spaces</h2>
 		<code>
 		<code>
+THREE.NoColorSpace			
 THREE.SRGBColorSpace
 THREE.SRGBColorSpace
 THREE.LinearSRGBColorSpace
 THREE.LinearSRGBColorSpace
 		</code>
 		</code>
-
+		<p>
+			[page:NoColorSpace] defines no specific color space. 
+		</p>
 		<p>
 		<p>
 			[page:SRGBColorSpace] (“sRGB”) refers to the color space defined by the Rec. 709 primaries, D65
 			[page:SRGBColorSpace] (“sRGB”) refers to the color space defined by the Rec. 709 primaries, D65
 			white point, and nonlinear sRGB transfer functions. sRGB is the default color space in
 			white point, and nonlinear sRGB transfer functions. sRGB is the default color space in
@@ -37,7 +40,7 @@ THREE.LinearSRGBColorSpace
 			linear transfer functions. Linear-sRGB is the working color space in three.js, used
 			linear transfer functions. Linear-sRGB is the working color space in three.js, used
 			throughout most of the rendering process. RGB components found in three.js materials
 			throughout most of the rendering process. RGB components found in three.js materials
 			and shaders are in the Linear-sRGB color space.
 			and shaders are in the Linear-sRGB color space.
-		D</p>
+		</p>
 
 
 		<p>
 		<p>
 			For further background and usage, see <i>Color management</i>.
 			For further background and usage, see <i>Color management</i>.
@@ -48,6 +51,22 @@ THREE.LinearSRGBColorSpace
 THREE.MOUSE.LEFT
 THREE.MOUSE.LEFT
 THREE.MOUSE.MIDDLE
 THREE.MOUSE.MIDDLE
 THREE.MOUSE.RIGHT
 THREE.MOUSE.RIGHT
+THREE.MOUSE.ROTATE
+THREE.MOUSE.DOLLY
+THREE.MOUSE.PAN
+		</code>
+		<p>
+			The constants LEFT and ROTATE have the same underlying value.
+			The constants MIDDLE and DOLLY have the same underlying value.
+			The constants RIGHT and PAN have the same underlying value.
+		</p>
+
+		<h2>Touch Actions</h2>
+		<code>
+THREE.TOUCH.ROTATE
+THREE.TOUCH.PAN
+THREE.TOUCH.DOLLY_PAN
+THREE.TOUCH.DOLLY_ROTATE
 		</code>
 		</code>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>

+ 18 - 0
docs/api/en/constants/Materials.html

@@ -126,6 +126,24 @@
 		[page:Materials InvertStencilOp] will perform a bitwise inversion of the current stencil value.<br />
 		[page:Materials InvertStencilOp] will perform a bitwise inversion of the current stencil value.<br />
 		</p>
 		</p>
 
 
+		<h2>Normal map type</h2>
+		<code>
+		THREE.TangentSpaceNormalMap
+		THREE.ObjectSpaceNormalMap
+		</code>
+		<p>
+		Defines the type of the normal map. 
+		For TangentSpaceNormalMap, the information is relative to the underlying surface. 
+		For ObjectSpaceNormalMap, the information is relative to the object orientation.
+		Default is [page:Constant TangentSpaceNormalMap].
+		</p>
+
+		<h2>GLSL Version</h2>
+		<code>
+		THREE.GLSL1
+		THREE.GLSL3
+		</code>
+
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		<p>
 		<p>

+ 6 - 3
docs/api/en/constants/Renderer.html

@@ -46,14 +46,17 @@
 		THREE.ReinhardToneMapping
 		THREE.ReinhardToneMapping
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
+		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
 		These define the WebGLRenderer's [page:WebGLRenderer.toneMapping toneMapping] property.
 		These define the WebGLRenderer's [page:WebGLRenderer.toneMapping toneMapping] property.
 		This is used to approximate the appearance of high dynamic range (HDR) on the
 		This is used to approximate the appearance of high dynamic range (HDR) on the
-		low dynamic range medium of a standard computer monitor or mobile device's screen.<br /><br />
-
+		low dynamic range medium of a standard computer monitor or mobile device's screen.
+		</p>
+		<p>
+		THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping and THREE.ACESFilmicToneMapping are built-in implementations of tone mapping.
+		THREE.CustomToneMapping expects a custom implementation by modyfing GLSL code of the material's fragment shader.   
 		See the [example:webgl_tonemapping WebGL / tonemapping] example.
 		See the [example:webgl_tonemapping WebGL / tonemapping] example.
-
 		</p>
 		</p>
 
 
 
 

+ 10 - 1
docs/api/en/constants/Textures.html

@@ -271,10 +271,19 @@
 		THREE.RGBA_ASTC_12x12_Format
 		THREE.RGBA_ASTC_12x12_Format
 		</code>
 		</code>
 		<p>
 		<p>
-		For use with a [page:CompressedTexture CompressedTexture]'s [page:Texture.format format]	property,
+		For use with a [page:CompressedTexture CompressedTexture]'s [page:Texture.format format] property,
 		these require support for the [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc] extension. <br /><br />
 		these require support for the [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc] extension. <br /><br />
 		</p>
 		</p>
 
 
+		<h2>BPTC Compressed Texture Format</h2>
+		<code>
+		THREE.RGBA_BPTC_Format
+		</code>
+		<p>
+		For use with a [page:CompressedTexture CompressedTexture]'s [page:Texture.format format] property,
+		these require support for the [link:https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_bptc/ EXT_texture_compression_bptc] extension. <br /><br />
+		</p>
+
 		<h2>Internal Formats</h2>
 		<h2>Internal Formats</h2>
 		<code>
 		<code>
 		'ALPHA'
 		'ALPHA'

+ 0 - 12
docs/api/en/core/BufferAttribute.html

@@ -142,18 +142,6 @@
 		<h3>[method:this copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
 		<h3>[method:this copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
 		<p>Copy a vector from bufferAttribute[index2] to [page:BufferAttribute.array array][index1].</p>
 		<p>Copy a vector from bufferAttribute[index2] to [page:BufferAttribute.array array][index1].</p>
 
 
-		<h3>[method:this copyColorsArray]( [param:Array colors] ) </h3>
-		<p>Copy an array representing RGB color values into [page:BufferAttribute.array array].</p>
-
-		<h3>[method:this copyVector2sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector2]s into [page:BufferAttribute.array array].</p>
-
-		<h3>[method:this copyVector3sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector3]s into [page:BufferAttribute.array array].</p>
-
-		<h3>[method:this copyVector4sArray]( [param:Array vectors] ) </h3>
-		<p>Copy an array representing [page:Vector4]s into [page:BufferAttribute.array array].</p>
-
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
 		<p>Returns the x component of the vector at the given index.</p>
 		<p>Returns the x component of the vector at the given index.</p>
 
 

+ 18 - 22
docs/api/en/core/BufferGeometry.html

@@ -170,20 +170,12 @@
 
 
 		<p>[page:EventDispatcher EventDispatcher] methods are available on this class.</p>
 		<p>[page:EventDispatcher EventDispatcher] methods are available on this class.</p>
 
 
-		<h3>[method:this setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
-		<p>
-		Sets an attribute to this geometry. Use this rather than the attributes property,
-		because an internal hashmap of [page:.attributes] is maintained to speed up iterating over
-		attributes.
-		</p>
-
 		<h3>[method:undefined addGroup]( [param:Integer start], [param:Integer count], [param:Integer materialIndex] )</h3>
 		<h3>[method:undefined addGroup]( [param:Integer start], [param:Integer count], [param:Integer materialIndex] )</h3>
 		<p>
 		<p>
 			Adds a group to this geometry; see the [page:BufferGeometry.groups groups]
 			Adds a group to this geometry; see the [page:BufferGeometry.groups groups]
 			property for details.
 			property for details.
 		</p>
 		</p>
 
 
-
 		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Applies the matrix transform to the geometry.</p>
 		<p>Applies the matrix transform to the geometry.</p>
 
 
@@ -193,15 +185,12 @@
 		<h3>[method:this center] ()</h3>
 		<h3>[method:this center] ()</h3>
 		<p>Center the geometry based on the bounding box.</p>
 		<p>Center the geometry based on the bounding box.</p>
 
 
-		<h3>[method:BufferGeometry clone]()</h3>
-		<p>Creates a clone of this BufferGeometry.</p>
-
-		<h3>[method:this copy]( [param:BufferGeometry bufferGeometry] )</h3>
-		<p>Copies another BufferGeometry to this BufferGeometry.</p>
-
 		<h3>[method:undefined clearGroups]( )</h3>
 		<h3>[method:undefined clearGroups]( )</h3>
 		<p>Clears all groups.</p>
 		<p>Clears all groups.</p>
 
 
+		<h3>[method:BufferGeometry clone]()</h3>
+		<p>Creates a clone of this BufferGeometry.</p>
+
 		<h3>[method:undefined computeBoundingBox]()</h3>
 		<h3>[method:undefined computeBoundingBox]()</h3>
 		<p>
 		<p>
 		Computes bounding box of the geometry, updating [page:.boundingBox] attribute.<br />
 		Computes bounding box of the geometry, updating [page:.boundingBox] attribute.<br />
@@ -224,6 +213,12 @@
 		<h3>[method:undefined computeVertexNormals]()</h3>
 		<h3>[method:undefined computeVertexNormals]()</h3>
 		<p>Computes vertex normals by averaging face normals.</p>
 		<p>Computes vertex normals by averaging face normals.</p>
 
 
+		<h3>[method:this copy]( [param:BufferGeometry bufferGeometry] )</h3>
+		<p>Copies another BufferGeometry to this BufferGeometry.</p>
+
+		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
+		<p>Deletes the [page:BufferAttribute attribute] with the specified name.</p>
+
 		<h3>[method:undefined dispose]()</h3>
 		<h3>[method:undefined dispose]()</h3>
 		<p>
 		<p>
 		Disposes the object from memory. <br />
 		Disposes the object from memory. <br />
@@ -247,18 +242,12 @@
 		Use [page:Object3D.lookAt] for typical real-time mesh usage.
 		Use [page:Object3D.lookAt] for typical real-time mesh usage.
 		</p>
 		</p>
 
 
-		<h3>[method:this merge]( [param:BufferGeometry bufferGeometry], [param:Integer offset] )</h3>
-		<p>Merge in another BufferGeometry with an optional offset of where to start merging in.</p>
-
 		<h3>[method:undefined normalizeNormals]()</h3>
 		<h3>[method:undefined normalizeNormals]()</h3>
 		<p>
 		<p>
 		Every normal vector in a geometry will have a magnitude of 1.
 		Every normal vector in a geometry will have a magnitude of 1.
 		This will correct lighting on the geometry surfaces.
 		This will correct lighting on the geometry surfaces.
 		</p>
 		</p>
 
 
-		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
-		<p>Deletes the [page:BufferAttribute attribute] with the specified name.</p>
-
 		<h3>[method:this rotateX] ( [param:Float radians] )</h3>
 		<h3>[method:this rotateX] ( [param:Float radians] )</h3>
 		<p>
 		<p>
 		Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.
 		Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.
@@ -283,8 +272,12 @@
 		Use [page:Object3D.scale] for typical real-time mesh scaling.
 		Use [page:Object3D.scale] for typical real-time mesh scaling.
 		</p>
 		</p>
 
 
-		<h3>[method:this setIndex] ( [param:BufferAttribute index] )</h3>
-		<p>Set the [page:.index] buffer.</p>
+		<h3>[method:this setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
+		<p>
+		Sets an attribute to this geometry. Use this rather than the attributes property,
+		because an internal hashmap of [page:.attributes] is maintained to speed up iterating over
+		attributes.
+		</p>
 
 
 		<h3>[method:undefined setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
 		<h3>[method:undefined setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
 		<p>Set the [page:.drawRange] property. For non-indexed BufferGeometry, count is the number of vertices to render.
 		<p>Set the [page:.drawRange] property. For non-indexed BufferGeometry, count is the number of vertices to render.
@@ -293,6 +286,9 @@
 		<h3>[method:this setFromPoints] ( [param:Array points] )</h3>
 		<h3>[method:this setFromPoints] ( [param:Array points] )</h3>
 		<p>Sets the attributes for this BufferGeometry from an array of points.</p>
 		<p>Sets the attributes for this BufferGeometry from an array of points.</p>
 
 
+		<h3>[method:this setIndex] ( [param:BufferAttribute index] )</h3>
+		<p>Set the [page:.index] buffer.</p>
+
 		<h3>[method:Object toJSON]()</h3>
 		<h3>[method:Object toJSON]()</h3>
 		<p>Convert the buffer geometry to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].</p>
 		<p>Convert the buffer geometry to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].</p>
 
 

+ 1 - 1
docs/api/en/core/InterleavedBuffer.html

@@ -84,7 +84,7 @@
 		<h3>[method:this set]( [param:TypedArray value], [param:Integer offset] ) </h3>
 		<h3>[method:this set]( [param:TypedArray value], [param:Integer offset] ) </h3>
 		<p>
 		<p>
 			value - The source (typed) array.<br/>
 			value - The source (typed) array.<br/>
-			offset - The offset into the target array at which to begin writing values from the source array. Default is .<br/><br />
+			offset - The offset into the target array at which to begin writing values from the source array. Default is `0`.<br/><br />
 
 
 			Stores multiple values in the buffer, reading input values from a specified array.
 			Stores multiple values in the buffer, reading input values from a specified array.
 		</p>
 		</p>

+ 6 - 0
docs/api/en/core/Object3D.html

@@ -84,6 +84,12 @@
 		the local transform [page:.matrix].
 		the local transform [page:.matrix].
 		</p>
 		</p>
 
 
+		<h3>[property:Boolean matrixWorldAutoUpdate]</h3>
+		<p>
+		Default is true. If set, then the renderer checks every frame if the object and its children need matrix updates.
+		When it isn't, then you have to maintain all matrices in the object and its children yourself.
+		</p>
+
 		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
 		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
 		<p>
 		<p>
 		When this is set, it calculates the matrixWorld in that frame and resets this property
 		When this is set, it calculates the matrixWorld in that frame and resets this property

+ 3 - 4
docs/api/en/extras/core/ShapePath.html

@@ -71,14 +71,13 @@
 		<p>Connects a new [page:SplineCurve] onto the [page:ShapePath.currentPath currentPath].</p>
 		<p>Connects a new [page:SplineCurve] onto the [page:ShapePath.currentPath currentPath].</p>
 
 
 
 
-		<h3>[method:Array toShapes]( [param:Boolean isCCW], [param:Boolean noHoles] )</h3>
+		<h3>[method:Array toShapes]( [param:Boolean isCCW] )</h3>
 		<p>
 		<p>
-		isCCW -- Changes how solids and holes are generated<br/>
-		noHoles -- Whether or not to generate holes
+		isCCW -- Changes how solids and holes are generated
 		</p>
 		</p>
 		<p>
 		<p>
 		Converts the [page:ShapePath.subPaths subPaths] array into an array of Shapes. By default solid shapes are defined clockwise (CW) and holes are defined counterclockwise (CCW). If isCCW is set to true,
 		Converts the [page:ShapePath.subPaths subPaths] array into an array of Shapes. By default solid shapes are defined clockwise (CW) and holes are defined counterclockwise (CCW). If isCCW is set to true,
-		then those are flipped. If the parameter noHoles is set to true then all paths are set as solid shapes and isCCW is ignored.
+		then those are flipped.
 		<br/>
 		<br/>
 
 
 		</p>
 		</p>

+ 7 - 7
docs/api/en/helpers/PolarGridHelper.html

@@ -17,11 +17,11 @@
 
 
 		<code>
 		<code>
 		const radius = 10;
 		const radius = 10;
-		const radials = 16;
-		const circles = 8;
+		const sectors = 16;
+		const rings = 8;
 		const divisions = 64;
 		const divisions = 64;
 
 
-		const helper = new THREE.PolarGridHelper( radius, radials, circles, divisions );
+		const helper = new THREE.PolarGridHelper( radius, sectors, rings, divisions );
 		scene.add( helper );
 		scene.add( helper );
 		</code>
 		</code>
 
 
@@ -33,17 +33,17 @@
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
-		<h3>[name]( [param:Number radius], [param:Number radials], [param:Number circles], [param:Number divisions], [param:Color color1], [param:Color color2] )</h3>
+		<h3>[name]( [param:Number radius], [param:Number sectors], [param:Number rings], [param:Number divisions], [param:Color color1], [param:Color color2] )</h3>
 		<p>
 		<p>
 		radius -- The radius of the polar grid. This can be any positive number. Default is 10.<br />
 		radius -- The radius of the polar grid. This can be any positive number. Default is 10.<br />
-		radials -- The number of radial lines. This can be any positive integer. Default is 16.<br />
-		circles -- The number of circles. This can be any positive integer. Default is 8.<br />
+		sectors -- The number of sectors the grid will be divided into. This can be any positive integer. Default is 16.<br />
+		rings -- The number of rings. This can be any positive integer. Default is 8.<br />
 		divisions -- The number of line segments used for each circle. This can be any positive integer that is 3 or greater. Default is 64.<br />
 		divisions -- The number of line segments used for each circle. This can be any positive integer that is 3 or greater. Default is 64.<br />
 		color1 -- The first color used for grid elements. This can be a [page:Color], a hexadecimal value and an CSS-Color name. Default is 0x444444 <br />
 		color1 -- The first color used for grid elements. This can be a [page:Color], a hexadecimal value and an CSS-Color name. Default is 0x444444 <br />
 		color2 -- The second color used for grid elements. This can be a [page:Color], a hexadecimal value and an CSS-Color name. Default is 0x888888
 		color2 -- The second color used for grid elements. This can be a [page:Color], a hexadecimal value and an CSS-Color name. Default is 0x888888
 		</p>
 		</p>
 		<p>
 		<p>
-		Creates a new [name] of radius 'radius' with 'radials' number of radials and 'circles' number of circles, where each circle is smoothed into 'divisions' number of line segments. Colors are optional.
+		Creates a new [name] of radius 'radius' with 'sectors' number of sectors and 'rings' number of rings, where each circle is smoothed into 'divisions' number of line segments. Colors are optional.
 		</p>
 		</p>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>

+ 9 - 1
docs/api/en/lights/SpotLight.html

@@ -20,10 +20,11 @@
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>
 		<code>
 		<code>
-		// white spotlight shining from the side, casting a shadow
+		// white spotlight shining from the side, modulated by a texture, casting a shadow
 
 
 		const spotLight = new THREE.SpotLight( 0xffffff );
 		const spotLight = new THREE.SpotLight( 0xffffff );
 		spotLight.position.set( 100, 1000, 100 );
 		spotLight.position.set( 100, 1000, 100 );
+		spotLight.map = new THREE.TextureLoader().load( url );
 
 
 		spotLight.castShadow = true;
 		spotLight.castShadow = true;
 
 
@@ -170,6 +171,13 @@ light.target = targetObject;
 			The spotlight will now track the target object.
 			The spotlight will now track the target object.
 		</p>
 		</p>
 
 
+		<h3>[property:Texture map]</h3>
+		<p>
+			A [page:Texture] used to modulate the color of the light. The spot light color is mixed
+			with the RGB value of this texture, with a ratio corresponding to its
+			alpha value. The cookie-like masking effect is reproduced using pixel values (0, 0, 0, 1-cookie_value).
+			*Warning*: [param:SpotLight map] is disabled if [param:SpotLight castShadow] is *false*. 
+		</p>
 
 
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 
 

+ 1 - 1
docs/api/en/materials/Material.html

@@ -292,7 +292,7 @@
 
 
 		<h3>[property:Integer version]</h3>
 		<h3>[property:Integer version]</h3>
 		<p>
 		<p>
-		This starts at `0` and counts how many times [property:Boolean needsUpdate] is set to `true`.
+		This starts at `0` and counts how many times [page:Material.needsUpdate .needsUpdate] is set to `true`.
 		</p>
 		</p>
 
 
 		<h3>[property:Boolean vertexColors]</h3>
 		<h3>[property:Boolean vertexColors]</h3>

+ 59 - 7
docs/api/en/materials/MeshLambertMaterial.html

@@ -16,13 +16,7 @@
 
 
 			The material uses a non-physically based [link:https://en.wikipedia.org/wiki/Lambertian_reflectance Lambertian]
 			The material uses a non-physically based [link:https://en.wikipedia.org/wiki/Lambertian_reflectance Lambertian]
 			model for calculating reflectance. This can simulate some surfaces (such as untreated wood or stone) well,
 			model for calculating reflectance. This can simulate some surfaces (such as untreated wood or stone) well,
-			but cannot simulate shiny surfaces with specular highlights (such as varnished wood).<br /><br />
-
-
-
-			Shading is calculated using a [link:https://en.wikipedia.org/wiki/Gouraud_shading Gouraud] shading model.
-			This calculates shading per vertex (i.e. in the [link:https://en.wikipedia.org/wiki/Shader#Vertex_shaders vertex shader])
-			and interpolates the results over the polygon's faces.<br /><br />
+			but cannot simulate shiny surfaces with specular highlights (such as varnished wood). [name] uses per-fragmet shading.<br /><br />
 
 
 			Due to the simplicity of the reflectance and illumination models, performance will be greater
 			Due to the simplicity of the reflectance and illumination models, performance will be greater
 			when using this material over the [page:MeshPhongMaterial],	[page:MeshStandardMaterial] or [page:MeshPhysicalMaterial],
 			when using this material over the [page:MeshPhongMaterial],	[page:MeshStandardMaterial] or [page:MeshPhysicalMaterial],
@@ -79,6 +73,16 @@
 		<h3>[property:Float aoMapIntensity]</h3>
 		<h3>[property:Float aoMapIntensity]</h3>
 		<p>Intensity of the ambient occlusion effect. Default is 1. Zero is no occlusion effect.</p>
 		<p>Intensity of the ambient occlusion effect. Default is 1. Zero is no occlusion effect.</p>
 
 
+		<h3>[property:Texture bumpMap]</h3>
+		<p>
+			The texture to create a bump map. The black and white values map to the perceived depth in relation to the lights.
+			Bump doesn't actually affect the geometry of the object, only the lighting. If a normal map is defined this will
+			be ignored.
+		</p>
+
+		<h3>[property:Float bumpScale]</h3>
+		<p>How much the bump map affects the material. Typical ranges are 0-1. Default is 1.</p>
+
 		<h3>[property:Color color]</h3>
 		<h3>[property:Color color]</h3>
 		<p>[page:Color] of the material, by default set to white (0xffffff).</p>
 		<p>[page:Color] of the material, by default set to white (0xffffff).</p>
 
 
@@ -91,6 +95,28 @@
 			blend between the two colors.
 			blend between the two colors.
 		</p>
 		</p>
 
 
+		<h3>[property:Texture displacementMap]</h3>
+		<p>
+			The displacement map affects the position of the mesh's vertices. Unlike other maps
+			which only affect the light and shade of the material the displaced vertices can cast shadows,
+			block other objects, and otherwise act as real geometry. The displacement texture is
+			an image where the value of each pixel (white being the highest) is mapped against,
+			and repositions, the vertices of the mesh.
+		</p>
+
+		<h3>[property:Float displacementScale]</h3>
+		<p>
+			How much the displacement map affects the mesh (where black is no displacement,
+			and white is maximum displacement). Without a displacement map set, this value is not applied.
+			 Default is 1.
+		</p>
+
+		<h3>[property:Float displacementBias]</h3>
+		<p>
+			The offset of the displacement map's values on the mesh's vertices.
+			Without a displacement map set, this value is not applied. Default is 0.
+		</p>
+
 		<h3>[property:Color emissive]</h3>
 		<h3>[property:Color emissive]</h3>
 		<p>
 		<p>
 		Emissive (light) color of the material, essentially a solid color unaffected by other lighting.
 		Emissive (light) color of the material, essentially a solid color unaffected by other lighting.
@@ -110,6 +136,11 @@
 		<h3>[property:Texture envMap]</h3>
 		<h3>[property:Texture envMap]</h3>
 		<p>The environment map. Default is null.</p>
 		<p>The environment map. Default is null.</p>
 
 
+		<h3>[property:Boolean flatShading]</h3>
+		<p>
+		Define whether the material is rendered with flat shading. Default is false.
+		</p>
+
 		<h3>[property:Boolean fog]</h3>
 		<h3>[property:Boolean fog]</h3>
 		<p>Whether the material is affected by fog. Default is `true`.</p>
 		<p>Whether the material is affected by fog. Default is `true`.</p>
 
 
@@ -125,6 +156,27 @@
 			[page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. Default is null.
 			[page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. Default is null.
 		</p>
 		</p>
 
 
+		<h3>[property:Texture normalMap]</h3>
+		<p>
+			The texture to create a normal map. The RGB values affect the surface normal for each pixel fragment and change
+			the way the color is lit. Normal maps do not change the actual shape of the surface, only the lighting.
+			In case the material has a normal map authored using the left handed convention, the y component of normalScale
+			should be negated to compensate for the different handedness.
+		</p>
+
+		<h3>[property:Integer normalMapType]</h3>
+		<p>
+			The type of normal map.<br /><br />
+
+			Options are [page:constant THREE.TangentSpaceNormalMap] (default), and [page:constant THREE.ObjectSpaceNormalMap].
+		</p>
+
+		<h3>[property:Vector2 normalScale]</h3>
+		<p>
+			How much the normal map affects the material. Typical ranges are 0-1.
+			Default is a [page:Vector2] set to (1,1).
+		</p>
+
 		<h3>[property:Float reflectivity]</h3>
 		<h3>[property:Float reflectivity]</h3>
 		<p>How much the environment map affects the surface; also see [page:.combine].</p>
 		<p>How much the environment map affects the surface; also see [page:.combine].</p>
 
 

+ 1 - 7
docs/api/en/materials/MeshPhongMaterial.html

@@ -16,13 +16,7 @@
 
 
 			The material uses a non-physically based [link:https://en.wikipedia.org/wiki/Blinn-Phong_shading_model Blinn-Phong]
 			The material uses a non-physically based [link:https://en.wikipedia.org/wiki/Blinn-Phong_shading_model Blinn-Phong]
 			model for calculating reflectance. Unlike the Lambertian model used in the [page:MeshLambertMaterial]
 			model for calculating reflectance. Unlike the Lambertian model used in the [page:MeshLambertMaterial]
-			this can simulate shiny surfaces with specular highlights (such as varnished wood).<br /><br />
-
-			Shading is calculated using a [link:https://en.wikipedia.org/wiki/Phong_shading Phong] shading model.
-			This calculates shading per pixel (i.e. in the [link:https://en.wikipedia.org/wiki/Shader#Pixel_shaders fragment shader],
-			AKA pixel shader)	which gives more accurate results than the Gouraud model used by [page:MeshLambertMaterial],
-			at the cost of some performance. The [page:MeshStandardMaterial] and [page:MeshPhysicalMaterial]
-			also use this shading model.<br /><br />
+			this can simulate shiny surfaces with specular highlights (such as varnished wood). [name] uses per-fragmet shading.<br /><br />
 
 
 			Performance will generally be greater when using this material over the	[page:MeshStandardMaterial]
 			Performance will generally be greater when using this material over the	[page:MeshStandardMaterial]
 			or [page:MeshPhysicalMaterial], at the cost of some graphical accuracy.
 			or [page:MeshPhysicalMaterial], at the cost of some graphical accuracy.

+ 3 - 9
docs/api/en/materials/MeshStandardMaterial.html

@@ -20,18 +20,12 @@
 			[link:http://area.autodesk.com/blogs/the-3ds-max-blog/what039s-new-for-rendering-in-3ds-max-2017 3D Studio Max].<br /><br />
 			[link:http://area.autodesk.com/blogs/the-3ds-max-blog/what039s-new-for-rendering-in-3ds-max-2017 3D Studio Max].<br /><br />
 
 
 			This approach differs from older approaches in that instead of using approximations for the way in which
 			This approach differs from older approaches in that instead of using approximations for the way in which
-			light	interacts with a surface, a physically correct model is used. The idea is that, instead of
+			light interacts with a surface, a physically correct model is used. The idea is that, instead of
 			tweaking materials to look good under specific lighting, a material can	be created that
 			tweaking materials to look good under specific lighting, a material can	be created that
 			will react 'correctly' under all lighting scenarios.<br /><br />
 			will react 'correctly' under all lighting scenarios.<br /><br />
 
 
-			In practice this gives a more	accurate and realistic looking result than the [page:MeshLambertMaterial]
-			or [page:MeshPhongMaterial], at the cost of being somewhat more computationally expensive.<br /><br />
-
-			Shading is calculated in the same way as for the [page:MeshPhongMaterial], using a
-			[link:https://en.wikipedia.org/wiki/Phong_shading Phong] shading model.	This calculates shading
-			per pixel (i.e. in the [link:https://en.wikipedia.org/wiki/Shader#Pixel_shaders fragment shader],
-			AKA pixel shader) which gives more accurate results than the Gouraud model used by
-			[page:MeshLambertMaterial], at the cost of some performance.<br /><br />
+			In practice this gives a more accurate and realistic looking result than the [page:MeshLambertMaterial]
+			or [page:MeshPhongMaterial], at the cost of being somewhat more computationally expensive. [name] uses per-fragmet shading.<br /><br />
 
 
 			Note that for best results you should always specify an [page:.envMap environment map] when using
 			Note that for best results you should always specify an [page:.envMap environment map] when using
 			this material.<br /><br />
 			this material.<br /><br />

+ 1 - 1
docs/api/en/renderers/WebGLRenderer.html

@@ -407,7 +407,7 @@
 
 
 			By default render buffers are cleared before rendering but you can prevent this by setting the property [page:WebGLRenderer.autoClear autoClear] to false.
 			By default render buffers are cleared before rendering but you can prevent this by setting the property [page:WebGLRenderer.autoClear autoClear] to false.
 			If you want to prevent only certain buffers being cleared you can set either the [page:WebGLRenderer.autoClearColor autoClearColor], [page:WebGLRenderer.autoClearStencil autoClearStencil] or
 			If you want to prevent only certain buffers being cleared you can set either the [page:WebGLRenderer.autoClearColor autoClearColor], [page:WebGLRenderer.autoClearStencil autoClearStencil] or
-			[page:WebGLRenderer.autoClearDepth autoClearDepth] properties to false. To forcibly clear one ore more buffers call [page:WebGLRenderer.clear .clear].
+			[page:WebGLRenderer.autoClearDepth autoClearDepth] properties to false. To forcibly clear one or more buffers call [page:WebGLRenderer.clear .clear].
 		</p>
 		</p>
 
 
 		<h3>[method:undefined resetState]()</h3>
 		<h3>[method:undefined resetState]()</h3>

+ 0 - 6
docs/api/en/scenes/Scene.html

@@ -24,12 +24,6 @@
 
 
 		<h2>Properties</h2>
 		<h2>Properties</h2>
 
 
-		<h3>[property:Boolean autoUpdate]</h3>
-		<p>
-		Default is true. If set, then the renderer checks every frame if the scene and its objects needs matrix updates.
-		When it isn't, then you have to maintain all matrices in the scene yourself.
-		</p>
-
 		<h3>[property:Object background]</h3>
 		<h3>[property:Object background]</h3>
 		<p>
 		<p>
 		If not null, sets the background used when rendering the scene, and is always rendered first.
 		If not null, sets the background used when rendering the scene, and is always rendered first.

+ 1 - 1
docs/api/en/textures/Source.html

@@ -40,7 +40,7 @@
 
 
 		<h3>[property:Integer version]</h3>
 		<h3>[property:Integer version]</h3>
 		<p>
 		<p>
-		This starts at `0` and counts how many times [property:Boolean needsUpdate] is set to `true`.
+		This starts at `0` and counts how many times [page:Source.needsUpdate .needsUpdate] is set to `true`.
 		</p>
 		</p>
 
 
 		<h2>Methods</h2>
 		<h2>Methods</h2>

+ 2 - 2
docs/api/en/textures/Texture.html

@@ -253,7 +253,7 @@
 
 
 		<h3>[property:Integer version]</h3>
 		<h3>[property:Integer version]</h3>
 		<p>
 		<p>
-		This starts at `0` and counts how many times [property:Boolean needsUpdate] is set to `true`.
+		This starts at `0` and counts how many times [page:Texture.needsUpdate .needsUpdate] is set to `true`.
 		</p>
 		</p>
 
 
 		<h3>[property:Function onUpdate]</h3>
 		<h3>[property:Function onUpdate]</h3>
@@ -292,7 +292,7 @@
 		<h3>[method:Texture clone]()</h3>
 		<h3>[method:Texture clone]()</h3>
 		<p>
 		<p>
 		Make copy of the texture. Note this is not a "deep copy", the image is shared.
 		Make copy of the texture. Note this is not a "deep copy", the image is shared.
-		Besides, cloning a texture does not automatically mark it for a texture upload. You have to set [page:Texture.needsUpdate] to true as soon as its image property (the data source) is fully loaded or ready.
+		Besides, cloning a texture does not automatically mark it for a texture upload. You have to set [page:Texture.needsUpdate .needsUpdate] to true as soon as its image property (the data source) is fully loaded or ready.
 		</p>
 		</p>
 
 
 		<h3>[method:Object toJSON]( [param:Object meta] )</h3>
 		<h3>[method:Object toJSON]( [param:Object meta] )</h3>

+ 1 - 1
docs/api/en/textures/VideoTexture.html

@@ -90,7 +90,7 @@
 
 
 		<h3>[method:undefined update]()</h3>
 		<h3>[method:undefined update]()</h3>
 		<p>
 		<p>
-		This is called automatically and sets [property:Boolean needsUpdate] to `true` every time
+		This is called automatically and sets [page:VideoTexture.needsUpdate .needsUpdate] to `true` every time
 		a new frame is available.
 		a new frame is available.
 		</p>
 		</p>
 
 

+ 363 - 0
docs/api/fr/animation/AnimationAction.html

@@ -0,0 +1,363 @@
+<!DOCTYPE html>
+<html lang="fr">
+    <head>
+        <meta charset="utf-8" />
+        <base href="../../../" />
+        <script src="page.js"></script>
+        <link type="text/css" rel="stylesheet" href="page.css" />
+    </head>
+    <body>
+        <h1>[name]</h1>
+
+        <p class="desc">
+            Les AnimationActions programment la performance des animations qui sont stockées dans
+            [page:AnimationClip AnimationClips].<br /><br />
+
+            Note: La plupart des méthodes d'AnimationAction peuvent être chainées.<br /><br />
+
+            Pour avoir un aperçu des différents éléments du système d'animation de three.js, consultez
+            l'article "Système d'Animation" dans la section "Étapes Suivantes" du manuel.
+        </p>
+
+
+        <h2>Constructeur</h2>
+
+
+        <h3>[name]( [param:AnimationMixer mixer], [param:AnimationClip clip], [param:Object3D localRoot] )</h3>
+        <p>
+            [page:AnimationMixer mixer] - l'`AnimationMixer` contrôlé par cette action.<br />
+            [page:AnimationClip clip] - l`AnimationClip` qui contient les données d'animation pour cette action.<br />
+            [page:Object3D localRoot] - l'objet racine sur lequel est appliqué l'action.<br /><br />
+
+            Note: Au lieu d'appeler ce constructeur directement, vous devriez instantier un AnimationAction avec
+            [page:AnimationMixer.clipAction] étant donné que cette méthode applique une mise en cache pour obtenir de meilleures performances.
+        </p>
+
+
+        <h2>Propriétés</h2>
+
+
+        <h3>[property:Boolean clampWhenFinished]</h3>
+        <p>
+            Si `clampWhenFinished` est mis à true l'animation sera automatiquement [page:.paused mise en pause]
+            à son dernier frame.<br /><br />
+
+            Si `clampWhenFinished` est mis à false, [page:.enabled enabled] sera automatiquement reglé sur
+            false quand la dernière boucle de l'action sera terminée, afin que cette action n'ai pas plus
+            d'impact.<br /><br />
+
+            La valeur par défaut est false.<br /><br />
+
+            Note: `clampWhenFinished` n'a pas d'impact si l'action est interrompue (il n'a d'impact que si
+            la dernière boucle de l'action s'est réellement terminée).
+        </p>
+
+        <h3>[property:Boolean enabled]</h3>
+        <p>
+            Régler `enabled` sur `false` désactive cette action, afin qu'elle n'ai aucun impact. La valeur par défaut est `true`.<br /><br />
+
+            Quand l'action est réactivée, l'animation continue depuis son [page:.time time] actuel
+            (Régler `enabled` sur `false` ne relance pas l'action).<br /><br />
+
+            Note: Régler `enabled` sur `true` ne redémarre pas automatiquement l'action. Régler `enabled`
+            sur `true` ne redémarrera l'action immédiatement que si les conditions suivantes sont remplies:
+            [page:.paused paused] est à `false`, l'action n'a pas été désactivée (en
+            exécutant un [page:.stop stop] ou un [page:.reset reset]), et ni [page:.weight weight]
+            ni [page:.timeScale timeScale] ne sont à `0`.
+        </p>
+
+        <h3>[property:Number loop]</h3>
+        <p>
+            Le mode répeter (peut-être changé avec [page:.setLoop setLoop]). Sa valeur par défaut est
+            [page:Animation THREE.LoopRepeat] (avec un nombre infini de répétitions [page:.repetitions repetitions])<br /><br />
+
+            Doit être une de ces constantes:<br /><br />
+            [page:Animation THREE.LoopOnce] - joue le clip une fois,<br />
+            [page:Animation THREE.LoopRepeat] - joue le clip le nombre choisi de `répetitions`,
+            en sautant à chaque fois de la fin du clip à son début,<br />
+            [page:Animation THREE.LoopPingPong] - joue le clip le nombre choisi de `répetitions`,
+            alternant entre lecture du début vers la fin et lecture de la fin vers le début.
+        </p>
+
+        <h3>[property:Boolean paused]</h3>
+        <p>
+            Régler `paused` sur `true` met l'exécution de l'action en pause en mettant l'échelle temporelle effective
+            à `0`. La valeur par défaut est `false`.<br /><br />
+        </p>
+
+        <h3>[property:Number repetitions]</h3>
+        <p>
+            Le nombre de répétitions de l'[page:AnimationClip] actuel réalisées durant cette action.
+            Peut-être paramétré depuis [page:.setLoop setLoop]. La valeur par défaut est `Infinity`.<br /><br />
+            Changer ce nombre n'a aucun effet, si le [page:.loop loop mode] est réglé sur
+            [page:Animation THREE.LoopOnce].
+        </p>
+
+        <h3>[property:Number time]</h3>
+        <p>
+            Le temps local de cette action (en secondes, en commençant par `0`).<br /><br />
+
+            La valeur peut-être restreinte à `0...clip.duration` (selon l'état de la boucle). Il peut être
+            mis à l'échelle relativement à celui du mixer global en changeant [page:.timeScale timeScale] (en utilisant
+            [page:.setEffectiveTimeScale setEffectiveTimeScale] ou [page:.setDuration setDuration]).<br />
+        </p>
+
+        <h3>[property:Number timeScale]</h3>
+        <p>
+            Facteur de mise à l'échelle pour le [page:.time time]. Une valeur de `0` cause la mise en pause de l'animation. Une valeur
+            négative fera jouer l'animation à l'envers . La valeur par défaut est `1`.<br /><br />
+            Les propriétés/méthodes concernant `timeScale` (respectivement `time`) sont:
+            [page:.getEffectiveTimeScale getEffectiveTimeScale],
+            [page:.halt halt],
+            [page:.paused paused],
+            [page:.setDuration setDuration],
+            [page:.setEffectiveTimeScale setEffectiveTimeScale],
+            [page:.stopWarping stopWarping],
+            [page:.syncWith syncWith],
+            [page:.warp warp].
+        </p>
+
+        <h3>[property:Number weight]</h3>
+        <p>
+            Le degré d'importance d'une action (compris dans l'intervalle `[0, 1]`). Les valeurs entre `0` (aucun impact)
+            et 1 (impact total) peuvent être utilisées pour mélanger plusieurs actions. La valeur par défaut est `1`. <br /><br />
+            Les propriétés/méthodes concernant `weight` sont:
+            [page:.crossFadeFrom crossFadeFrom],
+            [page:.crossFadeTo crossFadeTo],
+            [page:.enabled enabled],
+            [page:.fadeIn fadeIn],
+            [page:.fadeOut fadeOut],
+            [page:.getEffectiveWeight getEffectiveWeight],
+            [page:.setEffectiveWeight setEffectiveWeight],
+            [page:.stopFading stopFading].
+        </p>
+
+        <h3>[property:Boolean zeroSlopeAtEnd]</h3>
+        <p>
+            Permet une interpolation fluide sans avoir de clips séparés pour le début, les répétitions et la fin. La valeur par défaut est `true`.
+        </p>
+
+        <h3>[property:Boolean zeroSlopeAtStart]</h3>
+        <p>
+            Permet une interpolation fluide sans avoir de clips séparés pour le début, les répétitions et la fin. La valeur par défaut est `true`.
+        </p>
+
+
+        <h2>Méthodes</h2>
+
+
+        <h3>[method:this crossFadeFrom]( [param:AnimationAction fadeOutAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
+        <p>
+            Provoque l'[page:.fadeIn apparition] de cette action, en faisant disparaître une autre action simultanément, durant
+            l'intervalle de temps passée en paramètre. Cette méthode peut être chaînée.<br /><br />
+
+            Si warpBoolean est à true, un [page:.warp warping] additionnel (changement graduel de l'échelle temporelle)
+            sera appliqué.<br /><br />
+
+            Note: Comme avec `fadeIn`/`fadeOut`, le fading commence/termine avec un weight à 1.
+
+        </p>
+
+        <h3>[method:this crossFadeTo]( [param:AnimationAction fadeInAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
+        <p>
+            Provoque la [page:.fadeIn disparition] de cette action, en faisant apparaître une autre action simultanément, durant
+            l'intervalle de temps passée en paramètre. Cette méthode peut être chaînée.<br /><br />
+            Si warpBoolean est à true, un [page:.warp warping] additionnel (changement graduel de l'échelle temporelle)
+            sera appliqué.<br /><br />
+
+            Note: Comme avec `fadeIn`/`fadeOut`, le fading commence/termine avec un weight à 1.
+        </p>
+
+        <h3>[method:this fadeIn]( [param:Number durationInSeconds] )</h3>
+        <p>
+            Augmente graduellement le [page:.weight weight] de cette action de `0` à `1`, durant
+            l'intervalle de temps passée en paramètre. Cette méthode peut être chaînée.
+        </p>
+
+        <h3>[method:this fadeOut]( [param:Number durationInSeconds] )</h3>
+        <p>
+            Diminue graduellement le [page:.weight weight] de cette de `1` à `0`, durant
+            l'intervalle de temps passée en paramètre. Cette méthode peut être chaînée.
+        </p>
+
+		<h3>[method:Number getEffectiveTimeScale]()</h3>
+		<p>
+			Renvoie l'échelle temporelle effective (en prenant en compte l'état actuel du warping et de
+			[page:.paused paused]).
+		</p>
+
+		<h3>[method:Number getEffectiveWeight]()</h3>
+		<p>
+			Renvoie le weight effectif (en prenant en compte l'état actuel du fondu et de
+			[page:.enabled enabled]).
+		</p>
+
+		<h3>[method:AnimationClip getClip]()</h3>
+		<p>
+			Renvoie le clip qui contient les données d'animation pour cette action.
+		</p>
+
+		<h3>[method:AnimationMixer getMixer]()</h3>
+		<p>
+			Renvoie le mixer qui est responsable de jouer cette action.
+		</p>
+
+		<h3>[method:Object3D getRoot]()</h3>
+		<p>
+			Renvoie l'objet racine sur lequel l'action est appliquée.
+		</p>
+
+		<h3>[method:this halt]( [param:Number durationInSeconds] )</h3>
+		<p>
+			Diminue la vitesse de l'animation jusqu'à `0` en diminuant le [page:.timeScale timeScale] graduellement
+			(en commençant depuis sa valeur actuelle), durant l'intervalle de temps passée en paramètre. Cette méthode peut être chaînée.
+		</p>
+
+		<h3>[method:Boolean isRunning]()</h3>
+		<p>
+			Renvoie true si le [page:.time time] de l'action est en cours.<br /><br />
+
+			En plus d'être activé dans le mixer (see [page:.isScheduled isScheduled]) les conditions suivantes doivent être remplies:
+			[page:.paused paused] est à faux, [page:.enabled enabled] est à true,
+			[page:.timeScale timeScale] est différent de `0`, et un départ différé n'est pas programmé
+			([page:.startAt startAt]).<br /><br />
+
+			Note: le fait que `isRunning` soit à true n'indique pas nécessairement que l'action est visible.
+			C'est seulement le cas si le [page:.weight weight] est reglé sur une valeur non-nulle.
+		</p>
+
+		<h3>[method:Boolean isScheduled]()</h3>
+		<p>
+			Renvoie true, si cette action est activée dans le mixer.<br /><br />
+			Note: Cela n'indique pas nécessairement que l'action est en cours d'éxécution (voir les conditions additionnelles
+			pour [page:.isRunning isRunning]).
+		</p>
+
+		<h3>[method:this play]()</h3>
+		<p>
+			Indique au mixer d'activer cette action. Cette méthode peut être chaînée.<br /><br />
+
+			Note: Activer cette action ne signifie pas nécessairement que l'animation démarrera directement:
+			Si l'action s'était déjà terminée avant (en atteignant la fin de sa dernière boucle), ou si une durée
+			pour un départ différé a été renseignée (via [page:.startAt startAt]), un [page:.reset reset] doit être
+			éxécuté avant. Quelques autres paramètres ([page:.paused paused]=true, [page:.enabled enabled]=false,
+			[page:.weight weight]=0, [page:.timeScale timeScale]=0) peuvent empêcher cette animation d'être jouée,
+			également.
+		</p>
+
+		<h3>[method:this reset]()</h3>
+		<p>
+			Réinitialise l'action. Cette méthode peut être chaînée.<br /><br />
+
+			Cette méthode passe [page:.paused paused] à false, [page:.enabled enabled] à true,
+			[page:.time time] à `0`, annule tous les fondus et warping programmés, retire le compteur
+			de boucles interne et les départs différés programmés.<br /><br />
+
+			Note: .`reset` est toujours appelé par [page:.stop stop], mais .`reset` n'appelle pas .`stop` de lui-même.
+			Cela signifie que: Si vous voulez à la fois, réinitialiser et stopper, n'appellez pas .`reset`; mais .`stop`.
+		</p>
+
+		<h3>[method:this setDuration]( [param:Number durationInSeconds] )</h3>
+		<p>
+			Renseigne la durée pour une seule boucle de cette action (en modifiant [page:.timeScale timeScale]
+			et en stoppant tous les warpings programmés). Cette méthode peut être chaînée.
+		</p>
+
+		<h3>[method:this setEffectiveTimeScale]( [param:Number timeScale] )</h3>
+		<p>
+			Renseigne le [page:.timeScale timeScale] et stoppe tous les warpings programmés. Cette méthode peut être chaînée.<br /><br />
+
+			Si [page:.paused paused] est à false, l'échelle temporelle effective (propriété interne) sera également 
+			mise à cette valeur; par ailleurs l'échelle temporelle effective (affectant directement l'animation à
+			cet instant) sera mis à `0`.<br /><br />
+
+			Note: .`paused` ne sera pas automatiquement mis à `true`, si le .`timeScale` est mis à `0` par
+			cette méthode.
+		</p>
+
+		<h3>[method:this setEffectiveWeight]( [param:Number weight] )</h3>
+		<p>
+			Renseigne le [page:.weight weight] et stop tous les fondus programmés. Cette méthode peut être chaînée.<br /><br />
+
+			Si [page:.enabled enabled] est à true, le weight effectif (propriété interne) sera également mis
+			à cette valeur; Par ailleurs le weight effectif (affectant directement l'action à cet instant)
+			sera mis à `0`.<br /><br />
+
+			Note: .`enabled` ne sera pas automatiquement mis à `false`, si le .`weight` est mis à `0` par
+			cette méthode.
+		</p>
+
+		<h3>[method:this setLoop]( [param:Number loopMode], [param:Number repetitions] )</h3>
+		<p>
+			Renseigne le [page:.loop loop mode] et le nombre de [page:.repetitions répétitions]. Cette méthode
+			peut être chaînée.
+		</p>
+
+		<h3>[method:this startAt]( [param:Number startTimeInSeconds] )</h3>
+		<p>
+			Définis le temps pour un départ différé (généralement [page:AnimationMixer.time] +
+			deltaTimeInSeconds). Cette méthode peut être chaînée.<br /><br />
+
+			Note: Cette action ne commencera qu'à un temps donné, si .`startAt` est chaîné avec
+			[page:.play play], ou si l'action a déjà été activée dans le mixer (par un appel précédent
+			de .`play`, sans l'avoir stoppée ou réinitialisée entre temps).
+		</p>
+
+		<h3>[method:this stop]()</h3>
+		<p>
+			Indique au mixer de désactiver cette action. Cette méthode peut être chaînée.<br /><br />
+
+			L'action sera immédiatement stoppée et complètement [page:.reset reset].<br /><br />
+
+			Note: Vous pouvez stopper simultanément toutes les actions actives d'un même mixer via
+			[page:AnimationMixer.stopAllAction mixer.stopAllAction].
+		</p>
+
+		<h3>[method:this stopFading]()</h3>
+		<p>
+			Stoppe tous les [page:.fadeIn fondus] programmés qui sont appliqués à cette action. Cette méthode peut être
+			chaînée.
+		</p>
+
+		<h3>[method:this stopWarping]()</h3>
+		<p>
+			Stoppe tous les [page:.warp warping] programmés qui sont appliqués à cette action. Cette méthode peut être
+			chaînée.
+		</p>
+
+		<h3>[method:this syncWith]( [param:AnimationAction otherAction] )</h3>
+		<p>
+			Synchronise cette action avec l'action passée en paramètre. Cette méthode peut être chaînée.<br /><br />
+
+			La synchronisation est faite en dupliquant les valeurs du [page:.time time] et du [page:.timeScale timeScale] de l'autre action
+			(stoppant tous les warpings programmés).<br /><br />
+
+			Note: Les changements futurs du `time` et du `timeScale` de l'autre action ne seront pas détéctés.
+		</p>
+
+		<h3>[method:this warp]( [param:Number startTimeScale], [param:Number endTimeScale], [param:Number durationInSeconds] )</h3>
+		<p>
+			Change la vitesse de lecture, durant l'intervalle temporelle passée en paramètre, en modifiant le
+			[page:.timeScale timeScale] graduellement depuis `startTimeScale` jusqu'à `endTimeScale`. Cette méthode
+			peut être chaînée.
+		</p>
+
+
+		<h2>Évènements</h2>
+
+
+		<p class="desc">
+			Il y a deux évènements indiquant quand une boucle de l'animation ou l'animation elle-même s'est terminée. Vous pouvez y réagir avec:
+		</p>
+		<code>
+		mixer.addEventListener( 'loop', function( e ) { …} ); // properties of e: type, action and loopDelta
+		mixer.addEventListener( 'finished', function( e ) { …} ); // properties of e: type, action and direction
+		</code>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 148 - 0
docs/api/fr/animation/AnimationClip.html

@@ -0,0 +1,148 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un AnimationClip est un ensemble réutilisable de pistes de keyframes qui représentent une animation.<br /><br />
+
+			Pour un aperçu des différents éléments du système d'animation de three.js consultez
+			l'article "Système d'Animation" dans le section "Étapes Suivantes" du manuel.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Number duration], [param:Array tracks] )</h3>
+		<p>
+			[page:String name] - un nom pour ce clip.<br />
+			[page:Number duration] - la durée du clip (en secondes). Si une valeur négative est renseignée,
+			la durée sera calculée depuis le tableau `tracks` passé en paramètres.<br />
+			[page:Array tracks] - un tableau de [page:KeyframeTrack KeyframeTracks].<br /><br />
+
+			Note: Au lieu d'instantier un AnimationClip directement avec le constructeur, vous pouvez utiliser une de
+			ses méthodes statiques pour créer des AnimationClips: depuis un JSON ([page:.parse parse]), depuis une séquence de
+			morph target ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence],
+			[page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) ou depuis
+			une hiérarchie d'animations ([page:.parseAnimation parseAnimation]) - si votre modèle n'a pas encore
+			d'AnimationClips dans le tableau d'animations de sa forme.
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<h3>[property:Number duration]</h3>
+		<p>
+			La durée de ce clip (en secondes). Elle peut être calculée depuis le tableau [page:.tracks tracks]
+			via [page:.resetDuration resetDuration].
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+			Un nom pour ce clip. Un clip peut être recherché via [page:.findByName findByName].
+		</p>
+
+		<h3>[property:Array tracks]</h3>
+		<p>
+			Un tableau contenant un [page:KeyframeTrack] pour chaque propriété qui est animée par ce clip.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+			Le [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] de cette instance du clip.
+			Elle est assignée automatiquement et ne doit pas être modifiée.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<h3>[method:AnimationClip clone]()</h3>
+		<p>
+			Renvoie une copie de ce clip.
+		</p>
+
+		<h3>[method:this optimize]()</h3>
+		<p>
+			Optimise chaque track en retirant les clés séquentielles équivalentes (qui sont communes dans les séquences
+			de morph target).
+		</p>
+
+		<h3>[method:this resetDuration]()</h3>
+		<p>
+			Fixe la [page:.duration durée] de ce clip à la durée de son plus long
+			[page:KeyframeTrack].
+		</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>
+			Renvoie un objet JSON représentant le clip d'animation serialisé.
+		</p>
+
+		<h3>[method:this trim]()</h3>
+		<p>
+			Réduit la durée de chaque track à celle du clip.
+		</p>
+
+		<h3>[method:Boolean validate]()</h3>
+		<p>
+			Performe une validation minimale de chaque track du clip. Renvoie true si toutes les tracks sont valides.
+		</p>
+
+
+		<h2>Méthodes Statiques</h2>
+
+
+		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
+		<p>
+			Renvoie un tableau de nouveaux AnimationClips créés depuis les séquences de morph
+			target d'une forme, essayant de trier les noms des morph targets en un pattern basé sur le groupe d'animation
+			comme "Walk_001, Walk_002, Run_001, Run_002 ...".
+		</p>
+
+		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
+		<p>
+			Renvoie un nouvel AnimationClip depuis le tableau de morph targets d'une forme, prenant un nom et un nombre de frames par secondes.<br /><br />
+
+			Note: Le paramètre fps est requis, mais la vitesse d'animation peut être écrasée dans un
+			`AnimationAction` via [page:AnimationAction.setDuration animationAction.setDuration].
+		</p>
+
+		<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3>
+		<p>
+			Cherche un AnimationClip grâce à son nom, prenant en premier paramètre un tableau
+			d'AnimationClips, un mesh ou une forme qui contient un tableau nommé "animations".
+		</p>
+
+		<h3>[method:AnimationClip parse]( [param:Object json] )</h3>
+		<p>
+			Analyse une représentation JSON d'un clip et renvoie un AnimationClip.
+		</p>
+
+		<h3>[method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )</h3>
+		<p>
+			Analyse le format de l'animation.hierarchy et retourne un AnimationClip.
+		</p>
+
+		<h3>[method:Object toJSON]( [param:AnimationClip clip] )</h3>
+		<p>
+			Prends un AnimationClip et renvoie un objet JSON.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 118 - 0
docs/api/fr/animation/AnimationMixer.html

@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			L'AnimationMixer et un lecteur d'animations pour un objet ciblé dans la scène. Quand
+			plusieurs objets sont animés indépendamment, un AnimationMixer peut être utilisé pour
+			chaque objet.<br /><br />
+
+			Pour un aperçu des différents éléments du système d'animation de three.js consultez
+			l'article "Système d'Animation" dans le section "Étapes Suivantes" du manuel.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:Object3D rootObject] )</h3>
+		<p>
+			[page:Object3D rootObject] - l'objet duquel les animations doivent être jouées par ce mixer.<br />
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<h3>[property:Number time]</h3>
+		<p>
+			La durée du mixer global (en secondes; commençant à `0` à la création du mixer).
+		</p>
+
+		<h3>[property:Number timeScale]</h3>
+		<p>
+			Un facteur de mise à l'échelle pour le [page:.time mixer time].<br /><br />
+
+			Note: Mettre le timeScale du mixer à `0` puis le remettre à après `1` et un moyen de mettre en pause/reprendre
+			toutes les actions contrôlées par ce mixer.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<h3>[method:AnimationAction clipAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+			Renvoie une [page:AnimationAction] pour le clip passé en paramètre, utilisant optionnellement un objet racine
+			différent de celui du mixer. Le premier paramètre peut être un objet [page:AnimationClip]
+			ou le nom d'un AnimationClip.<br /><br />
+
+			Si une action correspondant au clip et aux paramètres racine n'existe pas encore, elle sera créée
+			par cette méthode. Appeler cette méthode plusieurs fois avec le même clip est les mêmes paramètres racine retournera
+			toujours la même instance du clip.
+		</p>
+
+		<h3>[method:AnimationAction existingAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+			Renvoie un [page:AnimationAction] existant pour le clip passé en paramètre, utilisant optionnellement un objet racine
+			différent de celui du mixer.<br /><br />
+
+			Le premier paramètre peut être un objet de l'[page:AnimationClip] ou le nom d'un AnimationClip.
+		</p>
+
+		<h3>[method:Object3D getRoot]()</h3>
+		<p>
+			Renvoie l'objet racine de ce mixer.
+		</p>
+
+		<h3>[method:this stopAllAction]()</h3>
+		<p>
+			Désactive toutes les actions précedemment programmées pour ce mixer.
+		</p>
+
+		<h3>[method:this update]([param:Number deltaTimeInSeconds]) </h3>
+		<p>
+			Augmente la durée du mixer global et met à jour les animations en fonction de cette durée.<br /><br />
+
+			Cela est généralement fait dans la boucle de rendu, en utilisant [page:Clock.getDelta clock.getDelta] mis à l'échelle par le [page:.timeScale timeScale] du mixer.
+		</p>
+
+		<h3>[method:this setTime]([param:Number timeInSeconds]) </h3>
+		<p>
+			Fixe le mixer global à une durée spécifique et met à jour les animations en fonction de cette durée.<br /><br />
+
+			C'est utile quand vous avez besoin de vous rendre à un moment précis d'une animation. Le paramètre d'entrée sera mis à l'échelle par le [page:.timeScale timeScale] du mixer.
+		</p>
+
+		<h3>[method:undefined uncacheClip]([param:AnimationClip clip])</h3>
+
+		<p>
+			Désalloue toutes les ressources mémoires d'un clip. Appelez [page:AnimationAction.stop]() pour toutes les actions concernées avant d'utiliser cette méthode.
+		</p>
+
+		<h3>[method:undefined uncacheRoot]([param:Object3D root]) </h3>
+		<p>
+			Désalloue toutes les ressources mémoires d'un objet racine. Appelez [page:AnimationAction.stop]() pour toutes les actions concernées avant d'utiliser cette méthode.
+		</p>
+
+		<h3>[method:undefined uncacheAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+			Désalloue toutes les ressources mémoires d'une action. Appelez [page:AnimationAction.stop]() pour désactiver l'action avant d'utiliser cette méthode.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 91 - 0
docs/api/fr/animation/AnimationObjectGroup.html

@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Un groupe d'objets qui reçoivent un état d'animation partagé.<br /><br />
+
+			Pour un aperçu des différents éléments du système d'animation de three.js consultez
+			l'article "Système d'Animation" dans le section "Étapes Suivantes" du manuel.
+		</p>
+
+		<h2>Utilisation:</h2>
+
+		<p class="desc">
+			Ajoutez les objets que vous auriez passés comme 'root' au constructeur ou à la méthode [page:AnimationMixer.clipAction clipAction]
+			de l'[page:AnimationMixer AnimationMixer] et passez à la place cet objet en tant que 'root'.<br /><br />
+
+			Notez que les objets de cette classe apparaissent comme n'étant qu'un seul objet pour le mixer,
+			donc les contrôles concernant les objets individuels doivent être réalisés sur le groupe.
+		</p>
+
+
+		<h2>Limitations</h2>
+		<p class="desc">
+			Les propriétés animées doivent être compatibles avec tous les objets du groupe.<br /><br />
+
+			Une propriété peut être controlée soit directement, soit à travers un groupe cible, mais pas les deux.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+		<h3>[name]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+			[page:Object obj] - un nombre arbitraire de meshes qui partagent le même état d'animation.
+		</p>
+
+		<h2>Propriétés</h2>
+
+		<h3>[property:Boolean isAnimationObjectGroup]</h3>
+		<p>
+			Flag en lecture seule pour vérifier si un objet donné est du type [name].
+		</p>
+
+
+		<h3>[property:Object stats]</h3>
+		<p>
+			Un objet qui contient certaines informations concernant cet `AnimationObjectGroup` (nombre total, nombre
+			utilisé, nombre d'affectations par objets)
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+			Le [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] de cet
+			`AnimationObjectGroup`. Il est assigné automatiquement et ne doit pas être modifié.
+		</p>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:undefined add]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+			Ajoute un nombre arbitraire d'objets à cet `AnimationObjectGroup`.
+		</p>
+
+		<h3>[method:undefined remove]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+			Retire un nombre arbitraire d'objets de cet `AnimationObjectGroup`.
+		</p>
+
+		<h3>[method:undefined uncache]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+			Désalloue toutes les ressources mémoires des objets de cet `AnimationObjectGroup` passés en paramètres.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 67 - 0
docs/api/fr/animation/AnimationUtils.html

@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+		Un objet avec de nombreuses fonctions qui peuvent aider à manipuler les animations, utilisé en interne.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<h3>[method:Array arraySlice]( array, from, to )</h3>
+		<p>
+		Cette méthode est la même que Array.prototype.slice, mais fonctionne également sur les tableaux typés.
+		</p>
+
+		<h3>[method:Array convertArray]( array, type, forceClone )</h3>
+		<p>
+		Convertis un tableau en un type spécifique.
+		</p>
+
+		<h3>[method:Array flattenJSON]( jsonKeys, times, values, valuePropertyName )</h3>
+		<p>
+		Utilisé pour l'analyse des formats de keyframes AOS.
+		</p>
+
+		<h3>[method:Array getKeyframeOrder]( times )</h3>
+		<p>
+		Retourne un tableau dans lequel les durées et les valeurs peuvent-être triées.
+		</p>
+
+		<h3>[method:Boolean isTypedArray]( object )</h3>
+		<p>
+		Renvoie `true` si l'objet est un tableau typé.
+		</p>
+
+		<h3>[method:AnimationClip makeClipAdditive]( [param:AnimationClip targetClip], [param:Number referenceFrame], [param:AnimationClip referenceClip], [param:Number fps] )</h3>
+		<p>
+		Convertis les keyframes de l'animation passée en paramètre en un format additif.
+		</p>
+
+		<h3>[method:Array sortedArray]( values, stride, order )</h3>
+		<p>
+		Trie le tableau précedemment renvoyé par [page:AnimationUtils.getKeyframeOrder getKeyframeOrder].
+		</p>
+
+		<h3>[method:AnimationClip subclip]( [param:AnimationClip clip], [param:String name], [param:Number startFrame], [param:Number endFrame], [param:Number fps] )</h3>
+		<p>
+		Crée un nouveau clip, ne contenant que les segments du clip original compris dans l'intervalle de frames passée en paramètre.
+		</p>
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 262 - 0
docs/api/fr/animation/KeyframeTrack.html

@@ -0,0 +1,262 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un KeyframeTrack est une séquence chronométrée de [link:https://en.wikipedia.org/wiki/Key_frame keyframes],
+			qui est composée de listes de durées et de valeurs connexes, qui sont utilisées pour animer
+			une propriété spécifique d'un objet.
+		</p>
+
+		<p>
+            Pour avoir un aperçu des différents éléments du système d'animation de three.js, consultez
+            l'article "Système d'Animation" dans la section "Étapes Suivantes" du manuel.
+		</p>
+
+		<p>
+			Contrairement à la hiérarchie d'animation du
+			[link:https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3 JSON model format] un
+			`KeyframeTrack` ne stocke pas ses keyframes comme étant des objets dans un tableau à "clés" (stockant
+			les durées et les valeurs pour chaque frame ensemble à un même endroit).
+		</p>
+
+		<p>
+			A la place, il y a toujours deux tableaux dans un `KeyframeTrack`: le tableau [page:.times times] 
+			stocke les durées pour chaque keyframes de ce track dans un ordre séquentiel, et le tableau
+			[page:.values values] array contient les valeurs modifiées correspondantes de la propriété animée.
+		</p>
+
+		<p>
+			Une simple valeur, appartenant à un certain point temporel, ne peut pas simplement être un nombre, mais (par
+			exemple) un vecteur (si c'est une position qui est animée) ou un quaternion (si c'est une rotation qui est animée). Pour
+			cette raison, le tableau de valeurs (qui est également un tableau à une dimension) peut être de trois ou quatre fois la taille du
+			tableau de durées.
+		</p>
+
+		<p>
+			Il existe plusieurs sous-classes de `KeyframeTrack` correspondant aux différents
+			types possibles de valeurs animées, héritant de la plupart des propriétés et méthodes:
+		</p>
+
+		<ul>
+			<li>[page:BooleanKeyframeTrack]</li>
+			<li>[page:ColorKeyframeTrack]</li>
+			<li>[page:NumberKeyframeTrack]</li>
+			<li>[page:QuaternionKeyframeTrack]</li>
+			<li>[page:StringKeyframeTrack]</li>
+			<li>[page:VectorKeyframeTrack]</li>
+		</ul>
+
+		<p>
+			Quelques exemples qui montrent comment créer manuellement un [page:AnimationClip AnimationClips] avec différentes sortes
+			de KeyframeTracks peuvent être trouvés dans le fichier [link:https://threejs.org/examples/jsm/animation/AnimationClipCreator.js AnimationClipCreator].
+		</p>
+
+		<p>
+			Étant donné que les valeurs explicites ne sont spécifiées que pour les points temporels discrets stocké dans le tableau de durées,
+			toutes les valeurs du milieu doivent être interpolées.
+		</p>
+
+		<p>
+			Le nom du track est important pour la connexion de ce track avec une propriété spécifique du
+			node animé (fait par [page:PropertyBinding]).
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )</h3>
+		<p>
+			[page:String name] - l'identifiant du `KeyframeTrack`.<br />
+			[page:Array times] - un tableau des durées des keyframes, convertis en interne en un
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array].<br />
+			[page:Array values] - un tableau avec les valeurs concernant le tableau de durées, convertis en interne en un
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array].<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est [page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<h3>[property:String name]</h3>
+		<p>
+			Le nom du track peut faire référence à des morph targets ou à des [page:SkinnedMesh bones] ou possiblement d'autres valeurs de l'objet animé. Voir
+			[page:PropertyBinding.parseTrackName] pour les types de strings qui peuvent être assemblés:
+		</p>
+
+		<p>
+			Le nom peut spécifier le noeud en utilisant son nom ou son uuid (bien qu'il doive être dans le 
+			sous-arbre du noeud du graphe de scène passé dans le mixer). Ou, si le nom du track commence par un point,
+			le track s'applique au noeud racine qui a été passé en paramètre du mixer.
+		</p>
+
+		<p>
+			Généralement après le noeud une propriété est spécifiée directement. Mais vous pouvez également spécifier une
+			sous-propriété, comme .rotation[x], si vous voulez seulement contrôler X composants de la rotation
+			via une float track.
+		</p>
+
+		<p>
+			Vous pouvez également spécifier des bones ou des multimatériaux en utilisant un nom d'objet, par exemple:
+			.bones[R_hand].scale; le canal rouge de la couleur diffuse du quatrième matériau dans un
+			tableau de matériaux - comme autre exemple - peut être accédé avec .materials[3].diffuse[r].
+		</p>
+
+		<p>
+			PropertyBinding résoudra également les noms de morph target, par exemple: .morphTargetInfluences[run].
+		</p>
+
+		<p>
+			Note: Le nom de track ne doit pas nécessairement être unique. Plusieurs tracks peuvent gérer la même
+			propriété. Le résultat doit être basé sur un mélange pondéré entre les mutiples tracks selon
+			le poids de leurs actions respectives.
+		</p>
+
+		<h3>[property:Float32Array times]</h3>
+		<p>
+			Un [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+			convertis depuis le tableau de durées qui est passé en paramètre au constructeur.
+		</p>
+
+		<h3>[property:Float32Array values]</h3>
+		<p>
+			Un [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+			convertis depuis le tableau de valeurs qui est passé en paramètre au constructeur.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+			Le type d'interpolation par défaut: [page:Animation InterpolateLinear].
+		</p>
+
+		<h3>[property:Constant TimeBufferType ]</h3>
+		<p>
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+			le type de buffer utilisé en interne pour les durées.
+		</p>
+
+		<h3>[property:Constant ValueBufferType ]</h3>
+		<p>
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+			le type de buffer utilisé en interne pour les valeurs.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<h3>[method:KeyframeTrack clone]()</h3>
+		<p>
+			Renvoie une copie de ce track.
+		</p>
+
+		<h3>[method:Interpolant createInterpolant]()</h3>
+		<p>
+			Crée un [page:LinearInterpolant LinearInterpolant], un [page:CubicInterpolant CubicInterpolant]
+			ou  un [page:DiscreteInterpolant DiscreteInterpolant], selon la valeur du paramètre d'interpolation
+			passé au constructeur.
+		</p>
+
+		<h3>[method:Interpolant getInterpolation]()</h3>
+		<p>
+			Renvoie le type d'interpolation.
+		</p>
+
+		<h3>[method:Number getValueSize]()</h3>
+		<p>
+			Retourne la taille de chaque valeur (qui est la taille du tableau de [page:.values valeurs] divisé
+			par la longueur du tableau [page:.times times]).
+		</p>
+
+		<h3>[method:DiscreteInterpolant InterpolantFactoryMethodDiscrete]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+			Crée un nouveau [page:DiscreteInterpolant DiscreteInterpolant] depuis le
+			[page:KeyframeTrack.times times] et [page:KeyframeTrack.times values]. Un Float32Array peut être
+			passé en paramètre, il recevra les résultats. Autrement, un nouveau tableau avec la taille appropriée sera
+			créé automatiquement.
+		</p>
+
+		<h3>[method:LinearInterpolant InterpolantFactoryMethodLinear]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+			Crée un nouveau [page:LinearInterpolant LinearInterpolant] depuis le
+			[page:KeyframeTrack.times times] et [page:KeyframeTrack.times values]. Un Float32Array peut être
+			passé en paramètre, il recevra les résultats. Autrement, un nouveau tableau avec la taille appropriée sera
+			créé automatiquement.
+		</p>
+
+		<h3>[method:CubicInterpolant InterpolantFactoryMethodSmooth]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+			Crée un nouveau [page:CubicInterpolant CubicInterpolant] depuis le
+			[page:KeyframeTrack.times times] et [page:KeyframeTrack.times values]. Un Float32Array peut être
+			passé en paramètre, il recevra les résultats. Autrement, un nouveau tableau avec la taille appropriée sera
+			créé automatiquement.
+		</p>
+
+		<h3>[method:this optimize]()</h3>
+		<p>
+			Retire les clés séquentielles équivalentse, qui sont communes dans les séquences de morph target.
+		</p>
+
+		<h3>[method:this scale]()</h3>
+		<p>
+			Met à l'échelle chaque vecteur grâce à un facteur.<br /><br />
+
+			Note: C'est utile, par exemple, pour convertir à un certain taux de frames par secondes (comme
+			réalisé en interne par
+			[page:AnimationClip.CreateFromMorphTargetSequence animationClip.CreateFromMorphTargetSequence]).
+		</p>
+
+		<h3>[method:this setInterpolation]( [param:Constant interpolationType] )</h3>
+		<p>
+			Renseigne le type d'interpolation. Voir [page:Animation Animation Constants] pour les choix.
+		</p>
+
+		<h3>[method:this shift]( [param:Number timeOffsetInSeconds] )</h3>
+		<p>
+			Déplace tous les keyframes avant ou après dans le temps.
+		</p>
+
+
+		<h3>[method:this trim]( [param:Number startTimeInSeconds], [param:Number endTimeInSeconds] )</h3>
+		<p>
+			Retire les keyframes avant `startTime` et après `endTime`,
+			sans changer de valeurs entre [`startTime`, `endTime`].
+		</p>
+
+		<h3>[method:Boolean validate]()</h3>
+		<p>
+			Performe une validation minimale de chaque track du clip. Renvoie true si toutes les tracks sont valides.
+		</p>
+
+		<p>
+			Cette méthode envoie des erreurs à la console, si un track est vide, si la [page:.valueSize value taille] n'est pas valide, si un élémént
+			dans le tableau [page:.times times] ou [page:.values values] n'est pas un nombre valide ou si les éléménts du tableau `times` sont désorganisés.
+		</p>
+
+		<h2>Méthodes Statiques</h2>
+
+		<h3>[method:JSON toJSON]( [param:KeyframeTrack track] )</h3>
+		<p>
+		Convertis le track en JSON.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 132 - 0
docs/api/fr/animation/PropertyBinding.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Sert de référence à une propriété réelle dans le graphe de scène; utilisé en interne.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:Object3D rootNode], path, parsedPath )</h3>
+		<p>
+			-- [page:Object3D rootNode]:
+			-- path
+			-- parsedPath (optionnel)
+
+		</p>
+
+		<h2>Propriétés</h2>
+
+		<h3>[property:Number path]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number parsedPath]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number node]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number rootNode]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object BindingType]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object Versioning]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Array GetterByBindingType]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Array SetterByBindingTypeAndVersioning]</h3>
+		<p>
+
+		</p>
+
+
+
+		<h2>Méthodes</h2>
+
+		<h3>[method:undefined getValue]( [param:Array targetArray], [param:Number offset] )</h3>
+		<p>
+		</p>
+
+		<h3>[method:undefined setValue]( [param:Array sourceArray], [param:Number offset] )</h3>
+		<p>
+		</p>
+
+		<h3>[method:undefined bind]( )</h3>
+		<p>
+			Crée une paire getter / setter pour une propriété du graphe de scène. Utilisée en interne par
+			[page:PropertyBinding.getValue getValue] et [page:PropertyBinding.setValue setValue].
+		</p>
+
+		<h3>[method:undefined unbind]( )</h3>
+		<p>
+			Détruit la paire getter / setter pour une propriété du graphe de scène.
+		</p>
+
+		<h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>
+		<p>
+			Crée un nouveau composite PropertyBinding.
+		</p>
+
+		<h3>[method:Constructor create]( root, path, parsedPath )</h3>
+		<p>
+			Crée un nouveau composite PropertyBinding (si la source est un [page:AnimationObjectGroup]) ou un PropertyBinding.
+		</p>
+
+		<h3>[method:Constructor parseTrackName]( trackName )</h3>
+		<p>
+			Correspond aux strings dans les formes suivantes:<br />
+			-- nodeName.property<br />
+			-- nodeName.property[accessor]<br />
+			-- nodeName.material.property[accessor]<br />
+			-- uuid.property[accessor]<br />
+			-- uuid.objectName[objectIndex].propertyName[propertyIndex]<br />
+			-- parentName/nodeName.property<br />
+			-- parentName/parentName/nodeName.property[index]<br />
+			-- .bone[Armature.DEF_cog].position<br />
+			-- scene:helium_balloon_model:helium_balloon_model.position
+		</p>
+
+		<h3>[method:Constructor findNode]( root, nodeName )</h3>
+		<p>
+			Trouve un node dans un node tree ou dans un [page:Skeleton Skeleton].
+		</p>
+
+
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 112 - 0
docs/api/fr/animation/PropertyMixer.html

@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+		Propriété de graphe de scène stockée en mémoire tampon qui permet une accumulation pondérée; utilisée en interne.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
+		<p>
+			-- binding <br />
+			-- typeName <br />
+			-- valueSize <br />
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<h3>[property:PropertyBinding binding]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:TypedArray buffer]</h3>
+		<p>
+			Tampon de la taille [page:PropertyMixer valueSize] * 4. <br /><br />
+			Disposition: [ incoming | accu0 | accu1 | orig ]<br /><br />
+			Les interpolateurs peuvent utiliser .buffer comme .result, les données vont dans 'incoming'.
+			Les frames de 'accu0' et 'accu1' sont entrelacés afin d'obtenir le résultat intermédiaire et
+			sont ensuite comparés pour détecter des changements. 'orig' stocke l'état original de la propriété.
+		</p>
+
+		<h3>[property:Number cumulativeWeight]</h3>
+		<p>
+			La valeur par défaut est `0`.
+		</p>
+
+		<h3>[property:Number cumulativeWeightAdditive]</h3>
+		<p>
+			La valeur par défaut est `0`.
+		</p>
+
+		<h3>[property:Number valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number referenceCount]</h3>
+		<p>
+			La valeur par défaut est `0`.
+		</p>
+
+		<h3>[property:Number useCount]</h3>
+		<p>
+			La valeur par défaut est `0`.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<h3>[method:undefined accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
+		<p>
+			Accumule les données de la région 'incoming' du tampon [page:PropertyMixer.buffer buffer][accuIndex] dans 'accu[i]'.<br />
+
+			Si le weight est de `0` cela ne fera rien.
+		</p>
+
+		<h3>[method:undefined accumulateAdditive]( [param:Number weight] )</h3>
+		<p>
+			Accumule les données de la région 'incoming' dans 'add'.<br />
+
+			Si le weight est de `0` cela ne fera rien.
+		</p>
+
+
+		<h3>[method:undefined apply]( [param:Number accuIndex] )</h3>
+		<p>
+			Applique l'état de [page:PropertyMixer.buffer buffer] 'accu[i]' quand les accus diffèrent.
+		</p>
+
+		<h3>[method:undefined saveOriginalState]( )</h3>
+		<p>
+			Récupère l'état de la propriété concernée et l'applique aux deux accus.
+		</p>
+
+		<h3>[method:undefined restoreOriginalState](  )</h3>
+		<p>
+			Applique l'état antérieur via 'saveOriginalState'.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 79 - 0
docs/api/fr/animation/tracks/BooleanKeyframeTrack.html

@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs booléennes des keyframes.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée des keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés.<br />
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+			Le type d'interpolation à utiliser par défaut, [page:Animation InterpolateDiscrete].
+		</p>
+
+		<h3>[property:Array ValueBufferType]</h3>
+		<p>
+			Un tableau classique (pas de Float32Array dans ce cas, contrairement à `ValueBufferType` de [page:KeyframeTrack]).
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'bool'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodLinear ]()</h3>
+		<p>
+			La valeur de cette méthode ici est 'undefined', étant donné que cela n'a pas de sens pour les propriétés discrètes.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodSmooth ]()</h3>
+		<p>
+			La valeur de cette méthode ici est 'undefined', étant donné que cela n'a pas de sens pour les propriétés discrètes.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 63 - 0
docs/api/fr/animation/tracks/ColorKeyframeTrack.html

@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs représentant les changements de couleur des keyframes.<br /><br />
+			L'implémentation basique de ces sous-classes n'a rien de spécial pour l'instant. Toutefois, c'est ici
+			qu'à lieu le paramétrage des espaces colorimétriques.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée des keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés, un tableau à une dimension de composants de couleur entre 0 et 1.<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'color'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 63 - 0
docs/api/fr/animation/tracks/NumberKeyframeTrack.html

@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs numériques des keyframes.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée des keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés.<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'number'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/fr/animation/tracks/QuaternionKeyframeTrack.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs quaternaires des keyframes.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée des keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés, un tableau à une dimension de composants quaternaires.<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+			Le type d'interpolation à utiliser par défaut, [page:Animation InterpolateLinear].
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'quaternion'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[method:QuaternionLinearInterpolant InterpolantFactoryMethodLinear]()</h3>
+		<p>
+			Renvoie un nouveau [page:QuaternionLinearInterpolant QuaternionLinearInterpolant] basé sur les valeurs
+			[page:KeyframeTrack.values values], [page:KeyframeTrack.times times] et
+			[page:KeyframeTrack.valueSize valueSize] des keyframes.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/fr/animation/tracks/StringKeyframeTrack.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs strings des keyframes.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée de keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés.<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est
+			[page:Animation InterpolateDiscrete].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+			Le type d'interpolation à utiliser par défaut, [page:Animation InterpolateDiscrete].
+		</p>
+
+		<h3>[property:Array ValueBufferType]</h3>
+		<p>
+			Un tableau classique (pas de Float32Array dans ce cas, contrairement à `ValueBufferType` de [page:KeyframeTrack]).
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'string'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodLinear]()</h3>
+		<p>
+		  La valeur de cette méthode ici est 'undefined', étant donné que cela n'a pas de sens pour les propriétés discrètes.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodSmooth]()</h3>
+		<p>
+		  La valeur de cette méthode ici est 'undefined', étant donné que cela n'a pas de sens pour les propriétés discrètes.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 62 - 0
docs/api/fr/animation/tracks/VectorKeyframeTrack.html

@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html lang="fr">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un suivi des valeurs vectorielles des keyframes.
+		</p>
+
+
+		<h2>Constructeur</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (requis) indentifiant du KeyframeTrack.<br />
+			[page:Array times] - (requis) tableau de durée des keyframes.<br />
+			[page:Array values] - valeurs des keyframes aux temps spécifiés, un tableau à une dimension de composants de vecteurs.<br />
+			[page:Constant interpolation] - le type d'interpolation à utiliser. Voir
+			[page:Animation Animation Constants] pour les valeurs possibles. La valeur par défaut est
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Propriétés</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'vector'.
+		</p>
+
+
+		<h2>Méthodes</h2>
+
+
+		<p class="desc">
+			Voir [page:KeyframeTrack] pour les propriétés héritées.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 348 - 0
docs/api/it/animation/AnimationAction.html

@@ -0,0 +1,348 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      AnimationAction pianifica l'esecuzione delle animazioni archiviate in
+      [page:AnimationClip AnimationClips].<br /><br />
+
+      Nota: La maggior parte dei metodi di AnimationAction può essere concatenata.
+
+      Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare
+      l'articolo "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:AnimationMixer mixer], [param:AnimationClip clip], [param:Object3D localRoot] )</h3>
+		<p>
+			[page:AnimationMixer mixer] - l'`AnimationMixer` controllato da questa azione.<br />
+			[page:AnimationClip clip] - l'`AnimationClip` che contiene i dati di animazione per questa azione.<br />
+			[page:Object3D localRoot] - l'oggetto root su cui viene eseguita questa azione.<br /><br />
+
+      Nota: Invece di chiamare questo costruttore direttamente, dovresti creare un'istanza AnimationAction con
+      [page:AnimationMixer.clipAction] poiché questo metodo fornisce la memorizzazione nella cache per migliorare
+      le prestazioni.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:Boolean clampWhenFinished]</h3>
+		<p>
+      Se `clampWhenFinished` è impostato a true l'animazione verrà automaticamente messa in [page:.paused pausa]
+      sull'ultimo frame.<br /><br />
+
+      Se `clampWhenFinished` è impostato a false, [page:.enabled enabled] verrà automaticamente impostato a false
+      al termine dell'ultimo ciclo di animazione, in modo che questa azione non abbia più alcun impatto.<br /><br />
+
+      Il valore di default è false.<br /><br />
+
+      Nota: `clampWhenFinished` non ha impatto se l'azione viene interrotta (ha effetto solo se il suo ultimo ciclo
+      è effettivamente terminato).
+		</p>
+
+		<h3>[property:Boolean enabled]</h3>
+		<p>
+      Impostare `enabled` a `false` disabilita questa azione, in modo che non abbia più alcun impatto. Il valore di default è `true`. <br /><br />
+
+      Quando l'azione viene riattivata (re-enabled), l'animazione continua dal [page:.time tempo] corrente 
+      (impostare `enabled` a `false` non resetta l'azione). <br /><br />
+
+      Nota: Impostare `enabled` a `true` non riavvia automaticamente l'azione. Impostare `enabled` a `true`
+      farà riavviare l'animazione immediatamente solo se è soddisfatta la seguente condizione:
+      [page:.paused paused] è `false`, l'azione non è stata disattivata nel frattempo 
+      (eseguendo un comando di [page:.stop stop] o [page:.reset reset]) e né [page:.weight weight] né 
+      [page:.timeScale timeScale] sono pari a `0`.
+		</p>
+
+		<h3>[property:Number loop]</h3>
+		<p>
+      La modalità di looping può essere modificata con [page:.setLoop setLoop]. L'impostazione predefinita è
+      [page:Animation THREE.LoopRepeat] (con un numero infinito di [page:.repetitions ripetizioni])<br /><br />
+
+      Il valore deve essere una di queste costanti:<br /><br />
+      [page:Animation THREE.LoopOnce] - riproduce il clip una volta,<br />
+			[page:Animation THREE.LoopRepeat] - riproduce il clip con il numero di `ripetizioni` prescelto, 
+      ogni volta saltando dalla fine della clip direttamente al suo inizio,<br />
+			[page:Animation THREE.LoopPingPong] - riproduce il clip con il numero di `ripetizioni` prescelto,
+      alternativamente in avanti e in indietro. 
+		</p>
+
+		<h3>[property:Boolean paused]</h3>
+		<p>
+      Impostando `paused` a `true` l'azione verrà sospesa impostando il time scale effettivo a `0`. Il valore di default è `false`.
+		</p>
+
+		<h3>[property:Number repetitions]</h3>
+		<p>
+      Il numero di ripetizioni dell'[page:AnimationClip] eseguite nel corso di questa azione.
+      Può essere settato tramite [page:.setLoop setLoop]. Il valore di default è `Infinity`.<br /><br />
+      Se la modalità di [page:loop looping] è impostata a [page:Animation THREE.LoopOnce], impostare questo valore non ha effetti.
+		</p>
+
+		<h3>[property:Number time]</h3>
+		<p>
+      L'ora locale di questa azione (in secondi, partendo da `0`).<br /><br />
+
+      Il valore viene bloccato a `0...clip.duration` (in base allo stato del ciclo). Può essere scalato
+      rispetto al tempo globale del mixer modificando [page:.timeScale timeScale] (utilizzando 
+      [page:.setEffectiveTimeScale setEffectiveTimeScale] o [page:.setDuration setDuration]). <br />
+		</p>
+
+		<h3>[property:Number timeScale]</h3>
+		<p>
+      Fattore di scala per il [page:.time tempo]. Un valore uguale a `0` mette in pausa l'azione. Valori 
+      negativi fanno sì che l'animazione venga riprodotta all'indietro. Il valore di default è `1`. <br /><br />
+      Le proprietà/metodi relativi a `timeScale` (rispettivamente `time`) sono:
+      [page:.getEffectiveTimeScale getEffectiveTimeScale],
+			[page:.halt halt],
+			[page:.paused paused],
+			[page:.setDuration setDuration],
+			[page:.setEffectiveTimeScale setEffectiveTimeScale],
+			[page:.stopWarping stopWarping],
+			[page:.syncWith syncWith],
+			[page:.warp warp].
+		</p>
+
+		<h3>[property:Number weight]</h3>
+		<p>
+      Il grado di influenza di questa azione (nell'intervallo `[0, 1]`). I valori tra `0` (nessun impatto)
+			e 1 (impatto totale) possono essere usati per combinare più azioni. Il valore di default è `1`. <br /><br />
+      Le proprietà/metodi relativi a `weight` sono:
+      [page:.crossFadeFrom crossFadeFrom],
+			[page:.crossFadeTo crossFadeTo],
+			[page:.enabled enabled],
+			[page:.fadeIn fadeIn],
+			[page:.fadeOut fadeOut],
+			[page:.getEffectiveWeight getEffectiveWeight],
+			[page:.setEffectiveWeight setEffectiveWeight],
+			[page:.stopFading stopFading].
+		</p>
+
+		<h3>[property:Boolean zeroSlopeAtEnd]</h3>
+		<p>
+      Abilita l'interpolazione uniforme senza clip separati per inizio, loop e fine. Il valore di default è `true`.
+		</p>
+
+		<h3>[property:Boolean zeroSlopeAtStart]</h3>
+		<p>
+      Abilita l'interpolazione uniforme senza clip separati per inizio, loop e fine. Il valore di default è `true`.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:this crossFadeFrom]( [param:AnimationAction fadeOutAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
+		<p>
+      Provoca il [page:.fadeIn fade in] (la dissolvenza in entrata) di questa azione, e la dissolvenza in uscita di un'altra azione 
+      simultaneamente, entro l'intervallo passato. Questo metodo può essere concatenato.<br /><br />
+
+      Se warpBoolean è true, verranno applicati ulteriori [page:.warp warping] (modifiche graduali delle scale temporali).<br /><br />
+
+      Nota: Come con `fadeIn`/`fadeOut`, la dissolvenza inizia/termina con un weight di 1.
+		</p>
+
+		<h3>[method:this crossFadeTo]( [param:AnimationAction fadeInAction], [param:Number durationInSeconds], [param:Boolean warpBoolean] )</h3>
+		<p>
+      Provoca il [page:.fadeOut fade out] (la dissolvenza in uscita) di questa azione, e la dissolvenza in entrata di un'altra azione 
+      simultaneamente, entro l'intervallo passato. Questo metodo può essere concatenato.<br /><br />
+
+      Se warpBoolean è true, verranno applicati ulteriori [page:.warp warping] (modifiche graduali delle scale temporali).<br /><br />
+
+      Nota: Come con `fadeIn`/`fadeOut`, la dissolvenza inizia/termina con un weight di 1.
+		</p>
+
+		<h3>[method:this fadeIn]( [param:Number durationInSeconds] )</h3>
+		<p>
+      Aumenta il [page:.weight weight] di questa azione gradualmente da `0` a `1`, entro l'intervallo passato.
+      Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:this fadeOut]( [param:Number durationInSeconds] )</h3>
+		<p>
+      Diminuisce il [page:.weight weight] di questa azione gradualmente da `1` a `0`, entro l'intervallo passato.
+      Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:Number getEffectiveTimeScale]()</h3>
+		<p>
+      Restituisce l'effettivo time scale (considerando lo stato attuale di [page:.warp warping] e di [page:.paused paused]).
+		</p>
+
+		<h3>[method:Number getEffectiveWeight]()</h3>
+		<p>
+      Restituisce l'effettivo weight (considerando lo stato attuale di fading e di [page:.enabled enabled]).
+		</p>
+
+		<h3>[method:AnimationClip getClip]()</h3>
+		<p>
+      Restituisce la clip che contiene i dati di animazione di questa azione.
+		</p>
+
+		<h3>[method:AnimationMixer getMixer]()</h3>
+		<p>
+      Restituisce il mixer responsabile dell'esecuzione di questa azione.
+		</p>
+
+		<h3>[method:Object3D getRoot]()</h3>
+		<p>
+      Restituisce l'oggetto root sul quale questa animazione è eseguita.
+		</p>
+
+		<h3>[method:this halt]( [param:Number durationInSeconds] )</h3>
+		<p>
+      Decelera la velocità di questa animazione a `0` diminuendo gradualmente il [page:.timeScale timeScale] 
+      (a partire dal valore corrente), entro l'intervallo passato. Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:Boolean isRunning]()</h3>
+		<p>
+      Restituisce true se il [page:.time time] dell'azione è attualmente in esecuzione.<br /><br />
+
+      Oltre ad essere attivato nel mixer (vedi [page:.isScheduled isScheduled]) le seguenti condizioni devono essere soddisfatte:
+      [page:.paused paused] deve essere uguale a false, [page:.enabled enabled] deve essere uguale a true,
+      [page:.timeScale timeScale] deve essere diversa da `0`, e non deve essere prevista nessuna programmazione
+      per un avvio ritardato ([page:.startAt startAt]).<br /><br />
+
+      Nota: il fatto che `isRunning` sia true non significa necessariamente che l'animazione sia effettivamente visibile.
+      Ciò avviene solo se [page:.weight weight] è impostato su un valore diverso da zero.
+		</p>
+
+		<h3>[method:Boolean isScheduled]()</h3>
+		<p>
+      Restituisce true se questa azione è attivata nel mixer.<br /><br />
+      Nota: Questo non significa necessariamente che l'animazione sia effettivamente in esecuzione (confronta
+      le condizioni aggiuntive per [page:.isRunning isRunning]).
+		</p>
+
+		<h3>[method:this play]()</h3>
+		<p>
+      Dice al mixer di attivare l'azione. Questo metodo può essere concatenato.<br /><br />
+
+      Nota: Attivare questa azione non significa necessatiamente che l'animazione verrà avviata immediatamente:
+      Se l'azione era già terminata prima (raggiungendo la fine del suo ultimo loop), o se è stato impostato un tempo
+      per un inizio ritardato (tramite [page:.startAt startAt]), prima deve essere eseguito un [page:.reset reset].
+      Anche altre impostazioni, (come [page:.paused paused]=true, [page:.enabled enabled]=false,
+			[page:.weight weight]=0, [page:.timeScale timeScale]=0) possono impedire la riproduzione dell'animazione.
+		</p>
+
+		<h3>[method:this reset]()</h3>
+		<p>
+      Reimposta l'azione. Questo metodo può essere concatenato.<br /><br />
+
+      Questo metodo imposta [page:.paused paused] a false, [page:.enabled enabled] a true,
+      [page:.time time] a `0`, interrompe ogni fading e wraping programmati, e rimuove il conteggio del loop 
+      interno per l'avvio ritardato.<br /><br />
+
+      Nota: .`reset` è sempre chiamato da [page:.stop stop], ma .`reset` non chiama .`stop`.
+      Questo significa che se vuoi chiamare entrambi i metodi, non chiamare .`reset`, chiama invece .`stop`.
+		</p>
+
+		<h3>[method:this setDuration]( [param:Number durationInSeconds] )</h3>
+		<p>
+      Imposta la durata per un singolo loop dell'azione (regolando il [page:.timeScale timeScale] e 
+      interrompendo qualsiasi warping programmato). Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:this setEffectiveTimeScale]( [param:Number timeScale] )</h3>
+		<p>
+      Imposta il [page:.timeScale timeScale] e interrompe qualsiasi warping programmato. Questo metodo può essere concatenato.<br /><br />
+
+      Se [page:.paused paused] è false, l'effettivo time scale (una proprietà interna) sarà impostato a questo valore, 
+      altrimenti il time scale effettivo (che influenza direttamente l'animazione in questo momento) verrà impostato a `0`.<br /><br />
+
+      Nota: Se .`timeScale` è impostato `0` da questo metodo, .`paused` non verrà impostato automaticamente a `true`.
+		</p>
+
+		<h3>[method:this setEffectiveWeight]( [param:Number weight] )</h3>
+		<p>
+      Imposta il [page:.weight weight] e interrompe qualsiasi fading programmato. Questo metodo può essere concatenato.<br /><br />
+
+      Se [page:.enabled enabled] è true, l'effettivo weight (una proprietà interna) sarà impostato a questo valore, 
+      altrimenti il weight effettivo (che influenza direttamente l'animazione in questo momento) verrà impostata a `0`.<br /><br />
+
+      Nota: Se .`weight` è impostato `0` da questo metodo, .`enabled` non passerà automaticamente a `false`.
+		</p>
+
+		<h3>[method:this setLoop]( [param:Number loopMode], [param:Number repetitions] )</h3>
+		<p>
+      Imposta la modalità di [page:.loop looping] e il numero di [page:.repetitions ripetizioni]. Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:this startAt]( [param:Number startTimeInSeconds] )</h3>
+		<p>
+      Definisce il tempo per un avvio ritardato (solitamente passato come [page:AnimationMixer.time] +
+			deltaTimeInSeconds). Questo metodo può essere concatenato.<br /><br />
+
+      Nota: L'animazione inizierà solo all'ora indicata se .`startAt` è concatenato con
+			[page:.play play], o se l'azione è già stata attivata nel mixer (da una precedente chiamata di .`play`, 
+      senza che nel frattempo sia stata fermata o resettata).
+		</p>
+
+		<h3>[method:this stop]()</h3>
+		<p>
+      Dice al mixer di disattivare questa azione. Questo metodo può essere concatenato.<br /><br />
+
+      L'azione verrà immediatamente interrotta e completamente [page:.reset resettata].<br /><br />
+
+      Nota: puoi interrompere tutte le azioni attive sullo stesso mixer in una volta sola tramite 
+      [page:AnimationMixer.stopAllAction mixer.stopAllAction].
+		</p>
+
+		<h3>[method:this stopFading]()</h3>
+		<p>
+      Interrompe qualsiasi [page:.fadeIn fading] programmato applicato a questa azione. Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:this stopWarping]()</h3>
+		<p>
+      Interrompe qualsiasi [page:.warp warping] programmato applicato a questa azione. Questo metodo può essere concatenato.
+		</p>
+
+		<h3>[method:this syncWith]( [param:AnimationAction otherAction] )</h3>
+		<p>
+      Sincronizza questa azione con l'altra azione passata. Questo metodo può essere concatenato.<br /><br />
+
+      La sincronizzazione viene fatta impostando i valori [page:.time time] e [page:.timeScale timeScale]
+      di questa azione ai corrispondenti valori dell'altra azione (interrompendo qualsiasi warping programmato).<br /><br />
+
+      Nota: Le modifiche future di `time` e `timeScale` dell'altra azione non verranno rilevate.
+		</p>
+
+		<h3>[method:this warp]( [param:Number startTimeScale], [param:Number endTimeScale], [param:Number durationInSeconds] )</h3>
+		<p>
+      Modifica la velocità di riproduzione, entro l'intervallo di tempo passato, modificando 
+      gradualmente il [page:.timeScale timeScale] da `startTimeScale` a `endTimeScale`. Questo metodo può essere concatenato.
+		</p>
+
+
+		<h2>Eventi</h2>
+
+
+		<p class="desc">
+      Ci sono due eventi che indicano quando un singolo ciclo dell'azione o l'intera azione è terminata. Si può rispondere ad essi con:
+		</p>
+		<code>
+		mixer.addEventListener( 'loop', function( e ) { …} ); // properties of e: type, action and loopDelta
+		mixer.addEventListener( 'finished', function( e ) { …} ); // properties of e: type, action and direction
+		</code>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 149 - 0
docs/api/it/animation/AnimationClip.html

@@ -0,0 +1,149 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Un AnimationClip è un insieme riutilizzabile di tracce di keyframe che rappresentano un'animazione.<br /><br />
+
+      Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare l'articolo 
+      "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Number duration], [param:Array tracks] )</h3>
+		<p>
+			[page:String name] - il nome di questa clip.<br />
+			[page:Number duration] - la durata di questa clip (in secondi). Se viene passato un valore negativo,
+      la durata verrà calcolata dall'array delle `tracks` passate.<br />
+			[page:Array tracks] - un array di [page:KeyframeTrack KeyframeTrack].<br /><br />
+
+      Nota: Invece di creare direttamente un'istanza di AnimationClip usando il costruttore, è possibile usare uno 
+      dei suoi metodi statici per creare le AnimationClip: da JSON ([page:.parse parse]), da sequenze 
+      morph target ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence],
+      [page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) o da gerarchie
+      di animazione ([page:.parseAnimation parseAnimation]) - se il tuo modello non contiene già una 
+      AnimationClip nell'array di animazioni della sua geometria.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:Number duration]</h3>
+		<p>
+      La durata di questa clip (in secondi). Può essere calcolata dall'array delle [page:.tracks tracks]
+      tramite [page:.resetDuration resetDuration].
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+      Il nome di questa clip. Una specifica clip può essere cercata tramite [page:.findByName findByName].
+		</p>
+
+		<h3>[property:Array tracks]</h3>
+		<p>
+      Un array contenente un [page:KeyframeTrack] per ciascuna proprietà animata da questa clip.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+      L'[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questa istanza di clip.
+      Viene assegnato automaticamente e non deve essere modificato.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:AnimationClip clone]()</h3>
+		<p>
+      Restituisce una copia di questa clip.
+		</p>
+
+		<h3>[method:this optimize]()</h3>
+		<p>
+      Ottimizza ogni track rimuovendo le chiavi sequenziali equivalenti (le quali sono comuni nelle 
+      sequenze morph target). 
+		</p>
+
+		<h3>[method:this resetDuration]()</h3>
+		<p>
+      Imposta la [page:.duration durata] della clip sulla durata del suo [page:KeyframeTrack]
+      più lungo.
+		</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>
+      Restituisce un oggetto JSON che descrive la clip di animazione serializzata.
+		</p>
+
+		<h3>[method:this trim]()</h3>
+		<p>
+      Taglia tutte le tracce alla durata della clip.
+		</p>
+
+		<h3>[method:Boolean validate]()</h3>
+		<p>
+      Esegue una minima validazione di ogni track nella clip. Restituisce true se tutte le track sono valide.
+		</p>
+
+
+		<h2>Metodi Statici</h2>
+
+
+		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
+		<p>
+      Restituisce un array di nuove AnimationClip creato dalle sequenze morph target di una geometria,
+      cercando di ordinare i nomi di morph target in pattern basati su gruppi di animazione come 
+      "Walk_001, Walk_002, Run_001, Run_002 ...".
+		</p>
+
+		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
+		<p>
+      Restituisce una nuova AnimationClip dall'array morph target, passato come parametro, di una geometria, 
+      prendendo un nome e il numero di frame per secondo.<br /><br />
+
+      Nota: Il parametro fps è obbligatorio, ma la velocità dell'animazione può essere sovrascritta in
+      una `AnimationAction` tramite [page:AnimationAction.setDuration animationAction.setDuration].
+		</p>
+
+		<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3>
+		<p>
+      Cerca una AnimationClip tramite nome, prendendo come primo parametro un array di AnimationClip o una mesh
+      o una geometria contenente un array chiamato "animations".
+		</p>
+
+		<h3>[method:AnimationClip parse]( [param:Object json] )</h3>
+		<p>
+      Parsa una rappresentazione JSON di una clip e restituisce una AnimationClip.
+		</p>
+
+		<h3>[method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )</h3>
+		<p>
+      Parsa il formato animation.hierarchy e restituisce una AnimationClip.
+		</p>
+
+		<h3>[method:Object toJSON]( [param:AnimationClip clip] )</h3>
+		<p>
+      Prende una AnimationClip e restituisce un oggetto JSON.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 121 - 0
docs/api/it/animation/AnimationMixer.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      L'AnimationMixer è un player per animazioni su un particolare oggetto della scena. Quando
+      più oggetti nella scena sono animati indipendentemente, un AnimationMixer può essere utilizzato 
+      per ogni oggetto.<br /><br />
+
+      Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare 
+      l'articolo "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Object3D rootObject] )</h3>
+		<p>
+			[page:Object3D rootObject] - l'oggetto le cui animazioni devono essere riprodotte da questo mixer.<br />
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:Number time]</h3>
+		<p>
+      Il tempo globale del mixer (in secondi; inizia con `0` dalla creazione del mixer).
+		</p>
+
+		<h3>[property:Number timeScale]</h3>
+		<p>
+      Un fattore di scala per il [page:.time mixer time] globale.<br /><br />
+
+      Nota: Impostando il timeScale del mixer a `0` e successivamente di nuovo a `1` è possibile
+      mettere in pause/unpause tutte le animazioni controllate da questo mixer.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:AnimationAction clipAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+      Restituisce una AnimationAction per la clip passata come parametro, eventualmente utilizzando
+      un oggetto root diverso dalla root predefinita del mixer. Il primo parametro può essere sia un 
+      oggetto [page:AnimationClip] sia il nome di una AnimationClip.<br /><br />
+
+      Se non esiste ancora un'azione che corrisponda ai parametri della clip e della radice, questa verrà creata 
+      da questo metodo. Chiamando questo metodo più volte con gli stessi parametri clip e 
+      radice, si ottiene sempre la stessa istanza di clip.
+		</p>
+
+		<h3>[method:AnimationAction existingAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+      Restituisce una [page:AnimationAction] esistente per la clip passata come parametro, 
+      eventualmente utilizzando un oggetto root diverso dalla root predefinita del mixer.<br /><br />
+
+      Il primo parametro può essere sia un oggetto [page:AnimationClip] sia il nome di una AnimationClip.
+		</p>
+
+		<h3>[method:Object3D getRoot]()</h3>
+		<p>
+      Restituisce l'oggetto root del mixer.
+		</p>
+
+		<h3>[method:this stopAllAction]()</h3>
+		<p>
+      Disattiva tutte le azioni precedentemente programmate su questo mixer.
+		</p>
+
+		<h3>[method:this update]([param:Number deltaTimeInSeconds]) </h3>
+		<p>
+      Anticipa il tempo del mixer globale e aggiorna l'animazione.<br /><br />
+
+      Solitamente viene fatto nel render loop, passando [page:Clock.getDelta clock.getDelta] scalato dal [page:.timeScale timeScale] del mixer.
+		</p>
+
+		<h3>[method:this setTime]([param:Number timeInSeconds]) </h3>
+		<p>
+      Imposta il mixer globale a un tempo specifico e aggiorna l'animazione di conseguenza.<br /><br />
+
+      È utile quando si vuole saltare ad un tempo specifico dell'animazione. Il parametro in input verrà scalato dal [page:.timeScale timeScale] del mixer.
+		</p>
+
+		<h3>[method:undefined uncacheClip]([param:AnimationClip clip])</h3>
+
+		<p>
+      Dealloca tutte le risorse di memoria per una clip. Prima di usare questo metodo assicurati di chiamare [page:AnimationAction.stop]() per 
+      tutte le azioni correlate.
+		</p>
+
+		<h3>[method:undefined uncacheRoot]([param:Object3D root]) </h3>
+		<p>
+      Dealloca tutte le risorse di memoria per un oggetto root. Prima di usare questo metodo assicurati di chiamare [page:AnimationAction.stop]() per 
+      tutte le azioni correlate.
+		</p>
+
+		<h3>[method:undefined uncacheAction]([param:AnimationClip clip], [param:Object3D optionalRoot])</h3>
+		<p>
+      Dealloca tutte le risorse di memoria per un'azione. Prima di usare questo metodo assicurati di chiamare [page:AnimationAction.stop]() per 
+      disattivare l'azione.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 92 - 0
docs/api/it/animation/AnimationObjectGroup.html

@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Un gruppo di oggetti che riceve uno stato di animazione condiviso.<br /><br />
+
+			Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare l'articolo 
+      "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
+		</p>
+
+		<h2>Utilizzo:</h2>
+
+		<p class="desc">
+      Aggiungi gli oggetti che altrimenti passeresti come root al costruttore o come parametro al metodo
+      [page:AnimationMixer.clipAction clipAction] della classe [page:AnimationMixer AnimationMixer]
+      e passa invece questo oggetto come 'root' della classe [page:AnimationMixer AnimationMixer].<br /><br />
+
+      Si noti che gli oggetti di questa classe appaiono al mixer come unico oggetto,
+      quindi il controllo della cache dei singoli oggetti deve essere effettuato sul gruppo.
+		</p>
+
+
+		<h2>Limitazioni</h2>
+		<p class="desc">
+      Le proprietà di animazione devono essere compatibili tra tutti gli oggetti del gruppo.<br /><br />
+
+      Una singola proprietà può essere controllata tramite un groppo target o direttamente, ma non entrambi.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+			[page:Object obj] - un numero arbitrario di mesh che condividono lo stesso stato di animazione.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isAnimationObjectGroup]</h3>
+		<p>
+      Flag di sola lettura per controllare se un determinato oggetto è di tipo [name].
+		</p>
+
+
+		<h3>[property:Object stats]</h3>
+		<p>
+      Un oggetto che contiene alcune informazioni di questo `AnimationObjectGroup` (numero totale, 
+      numero in uso, numero di binding per oggetto)
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+			L'[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questo
+			`AnimationObjectGroup`. Viene automaticamente assegnato e non deve essere modificato.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:undefined add]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+      Agginge un numero arbitrario di oggetti a questo `AnimationObjectGroup`.
+		</p>
+
+		<h3>[method:undefined remove]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+      Rimuove un numero arbitrario di oggetti da questo `AnimationObjectGroup`.
+		</p>
+
+		<h3>[method:undefined uncache]( [param:Object obj1], [param:Object obj2], [param:Object obj3], ... )</h3>
+		<p>
+      Dealloca tutte le risorse di memoria per gli oggetti passati come parametri di questo `AnimationObjectGroup`.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 67 - 0
docs/api/it/animation/AnimationUtils.html

@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Un oggetto con varie funzioni di assistenza alle animazioni, usato internamente.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:Array arraySlice]( array, from, to )</h3>
+		<p>
+      È lo stesso di Array.prototype.slice, ma funziona anche su array tipizzati.
+		</p>
+
+		<h3>[method:Array convertArray]( array, type, forceClone )</h3>
+		<p>
+      Converte un array in un tipo specifico.
+		</p>
+
+		<h3>[method:Array flattenJSON]( jsonKeys, times, values, valuePropertyName )</h3>
+		<p>
+      Utilizzato per parsare i formati keyframe AOS.
+		</p>
+
+		<h3>[method:Array getKeyframeOrder]( times )</h3>
+		<p>
+      Restituisce un array in base al quale è possibile ordinare tempi e valori.
+		</p>
+
+		<h3>[method:Boolean isTypedArray]( object )</h3>
+		<p>
+      Restituisce `true` se l'oggetto è un array tipizzato.
+		</p>
+
+		<h3>[method:AnimationClip makeClipAdditive]( [param:AnimationClip targetClip], [param:Number referenceFrame], [param:AnimationClip referenceClip], [param:Number fps] )</h3>
+		<p>
+      Converte il keyframe di una data clip di animazione in un formato additivo.
+		</p>
+
+		<h3>[method:Array sortedArray]( values, stride, order )</h3>
+		<p>
+      Ordina l'array precedentemente restituito da [page:AnimationUtils.getKeyframeOrder getKeyframeOrder].
+		</p>
+
+		<h3>[method:AnimationClip subclip]( [param:AnimationClip clip], [param:String name], [param:Number startFrame], [param:Number endFrame], [param:Number fps] )</h3>
+		<p>
+      Create una nuova clip, contenente solo il segmento della clip originale tra i frame indicati.
+		</p>
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 259 - 0
docs/api/it/animation/KeyframeTrack.html

@@ -0,0 +1,259 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Un KeyframeTrack è una sequenza temporizzata di [link:https://en.wikipedia.org/wiki/Key_frame keyframe],
+      composti da una lista di tempi e valori correlati, utilizzati per animare una proprietà specifica di un oggetto.
+		</p>
+
+		<p>
+			Per una paronamica dei diversi elementi del sistema di animazione di three.js consultare l'articolo 
+      "Sistema di animazione" nella sezione "Prossimi Passi" del manuale.
+		</p>
+
+		<p>
+      A differenza della gerarchia di animazione del [link:https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3 modello JSON],
+      `KeyframeTrack` non memorizza i suoi singoli keyframe come oggetti in un array "keys" (che contiene i tempi
+      e i valori di ciascun frame in un unico posto).
+		</p>
+
+		<p>
+      Invece ci sono sempre due array in un `KeyframeTrack`: l'array [page:.times times]
+      memorizza i valori temporali per tutti i keyframe di questa traccia in ordine sequenziale e l'array 
+      [page:.values values] contiene i corrispondenti valori di modifica della proprietà animata. 
+		</p>
+
+		<p>
+      Un singolo valore, appartenente ad un determinato momento, non può essere solo un semplice numero, ma 
+      (per esempio) un vettore (se una posizione è animata) o un quaternione (se una rotazione è animata).
+      Per questo motivo l'array values (che è anche un array flat) potrebbe essere tre o quattro volte
+      più lungo dell'array times.
+		</p>
+
+		<p>
+      In corrispondenza dei diversi tipi possibili di valori animati esistono diverse sottoclassi di `KeyframeTrack`,
+      che ereditano la maggior parte delle proprietà e dei metodi:
+		</p>
+
+		<ul>
+			<li>[page:BooleanKeyframeTrack]</li>
+			<li>[page:ColorKeyframeTrack]</li>
+			<li>[page:NumberKeyframeTrack]</li>
+			<li>[page:QuaternionKeyframeTrack]</li>
+			<li>[page:StringKeyframeTrack]</li>
+			<li>[page:VectorKeyframeTrack]</li>
+		</ul>
+
+		<p>
+      Alcuni esempi di come creare manualmente [page:AnimationClip AnimationClip] con diversi tipi di 
+      KeyframeTrack possono essere trovati nel file [link:https://threejs.org/examples/jsm/animation/AnimationClipCreator.js AnimationClipCreator].
+		</p>
+
+		<p>
+      Poiché i valori espliciti sono solo specifici per i punti temporali discreti memorizzati nell'array times
+      tutti i valori itermedi devono essere interpolati.
+		</p>
+
+		<p>
+      Il nome della track è importante per il collegamento di questa track con una proprietà specifica
+      del nodo animato (creato da [page:PropertyBinding]).
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )</h3>
+		<p>
+			[page:String name] - l'identificativo per `KeyframeTrack`.<br />
+			[page:Array times] - un array di times di keyframe, convertito internamente a
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array].<br />
+			[page:Array values] - un array con i valori relativi all'array times, convertito internamente a
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array].<br />
+			[page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i possibili valori. L'impostazione predefinita è [page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:String name]</h3>
+		<p>
+      Il nome della track può riferirsi a morph targets o [page:SkinnedMesh bones] o possibilmente ad altri valori all'interno dell'oggetto animato.
+      Vedi [page:PropertyBinding.parseTrackName] per le forme di stringhe che possono essere parsate per il property
+			binding:
+		</p>
+
+		<p>
+      Il nome può specificare il nodo utilizzando il suo nome o il suo uuid (anche se deve trovarsi
+      nel sottoalbero del nodo del grafo della scena passato al mixer). Oppure, se il nome della track inizia con un punto,
+      la track si applica al nodo root che è stato passato nel mixer.
+		</p>
+
+		<p>
+      Solitamente dopo il nodo una proprietà viene specificata direttamente. Ma si può anche specificare
+      una sottoproprietà, come .rotation[x], se si vuole guidare il componente X della rotazione tramite 
+      una traccia float.
+		</p>
+
+		<p>
+      Si possono anche specificare ossa (bones) o multimateriali usando il nome di un oggetto, per esempio:
+      .bones[R_hand].scale; il canale rosso del colore diffuso del quarto materiale in un array di materiali
+      - come ulteriore esempio - è accessibile con .materials[3].diffuse[r].
+		</p>
+
+		<p>
+      Il PropertyBinding risolverà anche i nomi dei morph target, per esempio: .morphTargetInfluences[run].
+		</p>
+
+		<p>
+      Nota: Il nome della traccia non deve essere per forza univoco. Più tracce possono guidare la stessa proprietà.
+      Il risultato deve essere basato su una miscela ponderata tra le tracce multiple in base ai pesi delle rispettive
+      azioni.
+		</p>
+
+		<h3>[property:Float32Array times]</h3>
+		<p>
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+      convertito dall'array times passato nel costruttore.
+		</p>
+
+		<h3>[property:Float32Array values]</h3>
+		<p>
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+      convertito dall'array values passato nel costruttore.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+      Il tipo predefinito di interpolazione: [page:Animation InterpolateLinear].
+		</p>
+
+		<h3>[property:Constant TimeBufferType ]</h3>
+		<p>
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+      il tipo di buffer internamente utilizzato per i tempi.
+		</p>
+
+		<h3>[property:Constant ValueBufferType ]</h3>
+		<p>
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+			il tipo di buffer internamente utilizzato per i valori.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:KeyframeTrack clone]()</h3>
+		<p>
+      Restituisce una copia di questa traccia.
+		</p>
+
+		<h3>[method:Interpolant createInterpolant]()</h3>
+		<p>
+      Crea una [page:LinearInterpolant LinearInterpolant], [page:CubicInterpolant CubicInterpolant]
+			o [page:DiscreteInterpolant DiscreteInterpolant], a seconda del valore del parametro di interpolazione 
+      passato nel costruttore.
+		</p>
+
+		<h3>[method:Interpolant getInterpolation]()</h3>
+		<p>
+      Restituisce il tipo di interpolazione.
+		</p>
+
+		<h3>[method:Number getValueSize]()</h3>
+		<p>
+      Restituisce la dimensione di ongi value (ovvero la lunghezza dell'array [page:.values values] diviso
+      la lunghezza dell'array [page:.times times]).
+		</p>
+
+		<h3>[method:DiscreteInterpolant InterpolantFactoryMethodDiscrete]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+      Crea un nuovo [page:DiscreteInterpolant DiscreteInterpolant] dai [page:KeyframeTrack.times tempi] e 
+      dai [page:KeyframeTrack.times valori]. È possibile passare un Float32Array che riceverà i risultati. 
+      Altrimenti, verrà creato automaticamente un nuovo array di dimensioni appropriate.
+		</p>
+
+		<h3>[method:LinearInterpolant InterpolantFactoryMethodLinear]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+      Crea un nuovo [page:LinearInterpolant LinearInterpolant] dai [page:KeyframeTrack.times tempi] e 
+      dai [page:KeyframeTrack.times valori].È possibile passare un Float32Array che riceverà i risultati. 
+      Altrimenti, verrà creato automaticamente un nuovo array di dimensioni appropriate.
+		</p>
+
+		<h3>[method:CubicInterpolant InterpolantFactoryMethodSmooth]( [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array result] )</h3>
+		<p>
+      Crea un nuovo [page:CubicInterpolant CubicInterpolant] dai [page:KeyframeTrack.times tempi] e 
+      dai [page:KeyframeTrack.times valori].È possibile passare un Float32Array che riceverà i risultati. 
+      Altrimenti, verrà creato automaticamente un nuovo array di dimensioni appropriate.
+		</p>
+
+		<h3>[method:this optimize]()</h3>
+		<p>
+      Rimuove le chiavi sequenziali equivalenti, che sono comuni nelle sequenze morph target.
+		</p>
+
+		<h3>[method:this scale]()</h3>
+		<p>
+      Scala tutti i tempi del keyframe di un fattore.<br /><br />
+
+      Nota: Questo metodo è utile, per esempio, per le conversioni ad un determinato rate di frame per secondo (come 
+      avviene internamente da 
+      [page:AnimationClip.CreateFromMorphTargetSequence animationClip.CreateFromMorphTargetSequence]).
+		</p>
+
+		<h3>[method:this setInterpolation]( [param:Constant interpolationType] )</h3>
+		<p>
+      Imposta il tipo di interpolazione. Vedi [page:Animation Animation Constants] per le opzioni.
+		</p>
+
+		<h3>[method:this shift]( [param:Number timeOffsetInSeconds] )</h3>
+		<p>
+      Sposta tutti i keyframe avanti o indietro nel tempo.
+		</p>
+
+
+		<h3>[method:this trim]( [param:Number startTimeInSeconds], [param:Number endTimeInSeconds] )</h3>
+		<p>
+      Rimuove tutti i keyframe prima di `startTime` e dopo `endTime`,
+      senza modificare alcun valore nell'intervallo [`startTime`, `endTime`].
+		</p>
+
+		<h3>[method:Boolean validate]()</h3>
+		<p>
+      Esegue una convalida minima delle tracce. Restituisce true se è valido.
+		</p>
+
+		<p>
+      Questo metodo registra gli errori nella console, se una traccia è vuota, se la dimensione del valore non è valida,
+      se un elemento nell'array [page:.times times] o nell'array [page:.values values] non è un numero valido o se 
+      gli elementi nell'array times non sono ordinati.
+		</p>
+
+		<h2>Metodi statici</h2>
+
+		<h3>[method:JSON toJSON]( [param:KeyframeTrack track] )</h3>
+		<p>
+      Converte la traccia in JSON.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 132 - 0
docs/api/it/animation/PropertyBinding.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe contiene un riferimento ad una proprietà reale nel grafo della scena; usata internamente.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Object3D rootNode], path, parsedPath )</h3>
+		<p>
+			-- [page:Object3D rootNode]:
+			-- path
+			-- parsedPath (optional)
+
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Number path]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number parsedPath]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number node]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number rootNode]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object BindingType]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object Versioning]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Array GetterByBindingType]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Array SetterByBindingTypeAndVersioning]</h3>
+		<p>
+
+		</p>
+
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined getValue]( [param:Array targetArray], [param:Number offset] )</h3>
+		<p>
+		</p>
+
+		<h3>[method:undefined setValue]( [param:Array sourceArray], [param:Number offset] )</h3>
+		<p>
+		</p>
+
+		<h3>[method:undefined bind]( )</h3>
+		<p>
+      Crea una coppia getter e setter per la proprietà nel grafo della scena. Usata internamente 
+      da [page:PropertyBinding.getValue getValue] e [page:PropertyBinding.setValue setValue].
+		</p>
+
+		<h3>[method:undefined unbind]( )</h3>
+		<p>
+      Unbind della coppia getter e setter per la proprietà nel grafo della scena.
+		</p>
+
+		<h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>
+		<p>
+      Crea un nuovo Composite PropertyBinding.
+		</p>
+
+		<h3>[method:Constructor create]( root, path, parsedPath )</h3>
+		<p>
+      Crea un nuovo Composite PropertyBinding (se la root è una [page:AnimationObjectGroup] o PropertyBinding).
+		</p>
+
+		<h3>[method:Constructor parseTrackName]( trackName )</h3>
+		<p>
+      Corrisponde a stringhe nelle seguenti forme:<br />
+			-- nodeName.property<br />
+			-- nodeName.property[accessor]<br />
+			-- nodeName.material.property[accessor]<br />
+			-- uuid.property[accessor]<br />
+			-- uuid.objectName[objectIndex].propertyName[propertyIndex]<br />
+			-- parentName/nodeName.property<br />
+			-- parentName/parentName/nodeName.property[index]<br />
+			-- .bone[Armature.DEF_cog].position<br />
+			-- scene:helium_balloon_model:helium_balloon_model.position
+		</p>
+
+		<h3>[method:Constructor findNode]( root, nodeName )</h3>
+		<p>
+      Trova il nodo in un albero di nodi o in uno [page:Skeleton Skeleton].
+		</p>
+
+
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 113 - 0
docs/api/it/animation/PropertyMixer.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Proprietà del grafo della scena bufferizzata che consente l'accumulo ponderato (weighted); utilizzata internamente.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
+		<p>
+			-- binding <br />
+			-- typeName <br />
+			-- valueSize <br />
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:PropertyBinding binding]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:TypedArray buffer]</h3>
+		<p>
+      Buffer con dimensione [page:PropertyMixer valueSize] * 4. <br /><br />
+      Ha il seguente layout: [ incoming | accu0 | accu1 | orig ]<br /><br />
+      Gli interpolatori possono usare .buffer come loro .result e i dati vanno quindi in 'incoming'.
+      'accu0' e 'accu1' sono usati come frame-interleaved per il risultato cumulativo e 
+      vengono confrontati per rilevare le modifiche. 'orig' memorizza lo stato originale 
+      della proprietà.
+		</p>
+
+		<h3>[property:Number cumulativeWeight]</h3>
+		<p>
+      Il valore di default è `0`.
+		</p>
+
+		<h3>[property:Number cumulativeWeightAdditive]</h3>
+		<p>
+      Il valore di default è `0`.
+		</p>
+
+		<h3>[property:Number valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Number referenceCount]</h3>
+		<p>
+      Il valore di default è `0`.
+		</p>
+
+		<h3>[property:Number useCount]</h3>
+		<p>
+      Il valore di default è `0`.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:undefined accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
+		<p>
+      Accumula i dati nella regione 'incoming' del [page:PropertyMixer.buffer buffer][accuIndex] in 'accu[i]'.<br />
+
+      Se weight è `0` non fa nulla.
+		</p>
+
+		<h3>[method:undefined accumulateAdditive]( [param:Number weight] )</h3>
+		<p>
+      Accumula i dati nella regione 'incoming' in 'add'.<br />
+
+      Se weight è `0` non fa nulla.
+		</p>
+
+
+		<h3>[method:undefined apply]( [param:Number accuIndex] )</h3>
+		<p>
+      Applica lo stato del [page:PropertyMixer.buffer buffer] 'accu[i]' al binding quando gli 'accus' differiscono.
+		</p>
+
+		<h3>[method:undefined saveOriginalState]( )</h3>
+		<p>
+      Ricorda lo stato della proprietà vincolata e lo copia in entrambi gli 'accus'.
+		</p>
+
+		<h3>[method:undefined restoreOriginalState](  )</h3>
+		<p>
+      Applica lo stato preso precedentemente tramite 'saveOriginalState' al binding.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 79 - 0
docs/api/it/animation/tracks/BooleanKeyframeTrack.html

@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una traccia di valori booleani dei keyframe.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati.<br />
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+      Il tipo di interpolazione predefinito da utilizzare, [page:Animation InterpolateDiscrete]. 
+		</p>
+
+		<h3>[property:Array ValueBufferType]</h3>
+		<p>
+      Un Array normale (non un Float32Array in questo caso, diversamente da `ValueBufferType` di [page:KeyframeTrack]).
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'bool'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodLinear ]()</h3>
+		<p>
+      Il valore di questo metodo è 'undefined', poiché non ha senso per le proprietà discrete.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodSmooth ]()</h3>
+		<p>
+			Il valore di questo metodo è 'undefined', poiché non ha senso per le proprietà discrete.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 63 - 0
docs/api/it/animation/tracks/ColorKeyframeTrack.html

@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una traccia di valori keyframe che rappresentano i cambiamenti dei colori.<br /><br />
+      L'implementazione base di questa sottoclasse non ha ancora nulla di speciale. 
+      Tuttavia questo è il posto per la parametrizzazione dello spazio colore.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati, un array flat di componenti colore tra 0 e 1.<br />
+			[page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i possibili valori. Il valore di default è
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+      Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'color'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 63 - 0
docs/api/it/animation/tracks/NumberKeyframeTrack.html

@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una traccia di valori numerici di keyframe.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati.<br />
+			[page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i valori possibili. Il valore di default è
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'number'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/it/animation/tracks/QuaternionKeyframeTrack.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una traccia di valori di quaternioni di keyframe.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati, un array flat di componenti di quaternioni.<br />
+			[page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i valori possibili. Il valore di default è
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+      Il tipo di interpolazione di default da utilizzare, [page:Animation InterpolateLinear].
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'quaternion'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+		<h3>[method:QuaternionLinearInterpolant InterpolantFactoryMethodLinear]()</h3>
+		<p>
+      Restituisce un nuovo [page:QuaternionLinearInterpolant QuaternionLinearInterpolant] basato sui
+      [page:KeyframeTrack.values values], sui [page:KeyframeTrack.times times] e sul
+			[page:KeyframeTrack.valueSize valueSize] dei keyframe.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/animation/tracks/StringKeyframeTrack.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una traccia di valori di string di keyframe.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+			[page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati.<br />
+      [page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i valori possibili. Il valore di default è
+			[page:Animation InterpolateDiscrete].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:Constant DefaultInterpolation]</h3>
+		<p>
+			Il tipo di interpolazione di default da utilizzare, [page:Animation InterpolateDiscrete].
+		</p>
+
+		<h3>[property:Array ValueBufferType]</h3>
+		<p>
+      Un Array normale (non un Float32Array in questo caso, diversamente da ValueBufferType di [page:KeyframeTrack]).
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'string'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodLinear]()</h3>
+		<p>
+      Il valore di questo metodo è 'undefined', poiché non ha senso per le proprietà discrete.
+		</p>
+
+		<h3>[method:undefined InterpolantFactoryMethodSmooth]()</h3>
+		<p>
+      Il valore di questo metodo è 'undefined', poiché non ha senso per le proprietà discrete.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 62 - 0
docs/api/it/animation/tracks/VectorKeyframeTrack.html

@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		[page:KeyframeTrack] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Una traccia di valori vettoriali di keyframe.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:String name], [param:Array times], [param:Array values] )</h3>
+		<p>
+      [page:String name] - (obbligatorio) identificativo per il KeyframeTrack.<br />
+			[page:Array times] - (obbligatorio) array di tempi del keyframe.<br />
+			[page:Array values] - valori per i keyframe ai tempi specificati, un array flat di componenti di vettori.<br />
+      [page:Constant interpolation] - il tipo di interpolazione da usare. Vedi
+			[page:Animation Animation Constants] per i valori possibili. Il valore di default è
+			[page:Animation InterpolateLinear].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:String ValueTypeName]</h3>
+		<p>
+			String 'vector'.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<p class="desc">
+			Vedi [page:KeyframeTrack] per i metodi ereditati.
+		</p>
+
+
+		<h2>Source</h2>
+
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 267 - 0
docs/api/it/audio/Audio.html

@@ -0,0 +1,267 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Crea un oggetto audio non posizionale (globale).<br /><br />
+
+			Utilizza le [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API API Web Audio].
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// crea un AudioListener e aggiungilo alla camera
+		const listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// crea una sorgente audio globale
+		const sound = new THREE.Audio( listener );
+
+		// carica un suono e impostalo come buffer dell'oggetto audio
+		const audioLoader = new THREE.AudioLoader();
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop( true );
+			sound.setVolume( 0.5 );
+			sound.play();
+		});
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:AudioListener listener] )</h3>
+		<p>
+		listener — (obbligatorio) istanza [page:AudioListener AudioListener].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean autoplay]</h3>
+		<p>Indica se avviare la riproduzione automaticamente. Il valore predefinito è `false`.</p>
+
+		<h3>[property:AudioContext context]</h3>
+		<p>L'[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] del [page:AudioListener listener] passato nel costruttore.</p>
+
+		<h3>[property:Number detune]</h3>
+		<p>Modifica l'intonazione, misurata in centesimi. +/- 100 è un semitono. +/- 1200 è un'ottava. Il valore predefinito è `0`.</p>
+
+		<h3>[property:Array filters]</h3>
+		<p>
+      Rappresenta un'array di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioNode AudioNode]. Può essere usato per applicare una varietà di 
+      filtri low-order per creare effetti sonori più complessi. In molti casi, l'array contiene istanze di 
+      [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNode]. I filtri sono impostati tramite 
+      [page:Audio.setFilter] o [page:Audio.setFilters].
+    </p>
+
+		<h3>[property:GainNode gain]</h3>
+		<p>
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] creato usando
+      [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().
+    </p>
+
+		<h3>[property:Boolean hasPlaybackControl]</h3>
+		<p>
+      Indica se la riproduzione può essere controllata usando i metodi [page:Audio.play play](),
+      [page:Audio.pause pause]() etc. Il valore di default è `true`.
+    </p>
+
+		<h3>[property:Boolean isPlaying]</h3>
+		<p>Indica se l'audio è attualmente in riproduzione.</p>
+
+		<h3>[property:AudioListener listener]</h3>
+		<p>Un riferimento all'oggetto listener di questo audio.</p>
+
+		<h3>[property:Number playbackRate]</h3>
+		<p>Velocità di riproduzione. Il valore predefinito è `1`.</p>
+
+		<h3>[property:Number offset]</h3>
+		<p>
+      Un offset al momento in cui deve iniziare la riproduzione all'interno del buffer audio.
+      È uguale al parametro audio di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]().
+      Il valore predefinito è `0`.
+    </p>
+
+		<h3>[property:Number duration]</h3>
+		<p>
+      Sovrascrive la durata dell'audio. È uguale al parametro `duration` di
+      [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]().
+      Il valore predefinito è `undefined` per riprodurre l'intero buffer.
+    </p>
+
+		<h3>[property:String source]</h3>
+		<p>
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] creato
+      usando [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().
+    </p>
+
+		<h3>[property:String sourceType]</h3>
+		<p>Il tipo di sorgente audio. Il valore predefinito è la stringa 'empty'.</p>
+
+		<h3>[property:String type]</h3>
+		<p>Stringa che denota il tipo, impostato ad 'Audio'.</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this connect]()</h3>
+		<p>
+      Permette di collegarsi all'[page:Audio.source]. Questo metodo viene utilizzato internamente
+      durante l'inizializzazione e durante l'impostazione/eliminazione dei filtri. 
+		</p>
+
+		<h3>[method:this disconnect]()</h3>
+		<p>
+      Permette di scollegarsi dall'[page:Audio.source]. Questo metodo viene utilizzato internamente
+      durante l'impostazione/eliminazione dei filtri. 
+		</p>
+
+		<h3>[method:Float getDetune]()</h3>
+		<p>
+      Restituisce il detuning dell'oscillazione in centesimi.
+		</p>
+
+		<h3>[method:BiquadFilterNode getFilter]()</h3>
+		<p>
+      Restituisce il primo elemento dell'array [page:Audio.filters filters].
+		</p>
+
+		<h3>[method:Array getFilters]()</h3>
+		<p>
+      Restituisce l'array [page:Audio.filters filters].
+		</p>
+
+		<h3>[method:Boolean getLoop]()</h3>
+		<p>
+      Restituisce il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]
+      (se la riproduzione deve essere ripetuta).
+		</p>
+
+		<h3>[method:GainNode getOutput]()</h3>
+		<p>
+      Restituisce il [page:Audio.gain gainNode].
+		</p>
+
+		<h3>[method:Float getPlaybackRate]()</h3>
+		<p>
+      Restituisce il valore di [page:Audio.playbackRate playbackRate].
+		</p>
+
+		<h3>[method:Float getVolume]( value )</h3>
+		<p>
+      Restituisce il volume corrente.
+		</p>
+
+		<h3>[method:this play]( delay )</h3>
+		<p>
+      Se [page:Audio.hasPlaybackControl hasPlaybackControl] è impostato a true, inizia la riproduzione.
+		</p>
+
+		<h3>[method:this pause]()</h3>
+		<p>
+      Se [page:Audio.hasPlaybackControl hasPlaybackControl] è impostato a true, mette in pausa la riproduzione.
+		</p>
+
+		<h3>[method:undefined onEnded]()</h3>
+		<p>
+      Viene chiamato automaticamente quando la riproduzione termina.
+		</p>
+
+		<h3>[method:this setBuffer]( audioBuffer )</h3>
+		<p>
+      Imposta la [page:Audio.source sorgente] su audioBuffer, e imposta il [page:Audio.sourceType sourceType] a 'buffer'.<br />
+      Se la riproduzione è in [page:Audio.autoplay autoplay], avvia anche la riproduzione.
+		</p>
+
+		<h3>[method:this setDetune]( [param:Float value] )</h3>
+		<p>
+      Definisce il detuning dell'oscillazione in centesimi.
+		</p>
+
+		<h3>[method:this setFilter]( filter )</h3>
+		<p>
+      Applica un singolo filtro all'audio.
+		</p>
+
+		<h3>[method:this setFilters]( [param:Array value] )</h3>
+		<p>
+		  value - array di filtri.<br />
+      Applica un array di filtri all'audio.
+		</p>
+
+		<h3>[method:this setLoop]( [param:Boolean value] )</h3>
+		<p>
+      Imposta [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] a `value`
+      (se la riproduzione deve andare in loop).
+		</p>
+
+		<h3>[method:this setLoopStart]( [param:Float value] )</h3>
+		<p>
+      Imposta [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart] a `value`.
+		</p>
+
+		<h3>[method:this setLoopEnd]( [param:Float value] )</h3>
+		<p>
+      Imposta [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd] a `value`.
+		</p>
+
+		<h3>[method:this setMediaElementSource]( mediaElement )</h3>
+		<p>
+      Applica l'oggetto passato come parametro, di tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement], 
+      come sorgente di questo audio.<br />
+      Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.
+		</p>
+
+		<h3>[method:this setMediaStreamSource]( mediaStream )</h3>
+		<p>
+      Applica l'oggetto passato come parametro, di tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream], 
+      come sorgente di questo audio.<br />
+      Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.
+		</p>
+
+		<h3>[method:this setNodeSource]( audioNode )</h3>
+		<p>
+      Imposta la [page:Audio.source sorgente] dell'audioBuffer, e imposta [page:Audio.sourceType sourceType] a 'audioNode'.<br />
+      Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.
+		</p>
+
+		<h3>[method:this setPlaybackRate]( [param:Float value] )</h3>
+		<p>
+      Se [page:Audio.hasPlaybackControl hasPlaybackControl] è abilitato, imposta il [page:Audio.playbackRate playbackRate] a `value`.
+		</p>
+
+		<h3>[method:this setVolume]( [param:Float value] )</h3>
+		<p>
+      Imposta il volume.
+		</p>
+
+		<h3>[method:this stop]()</h3>
+		<p>
+      Se [page:Audio.hasPlaybackControl hasPlaybackControl] è abilitato, ferma la riproduzione.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 98 - 0
docs/api/it/audio/AudioAnalyser.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Crea un oggetto AudioAnalyser, che utilizza un [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode]
+      per analizzare l'audio.<br /><br />
+
+      Utilizza le [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API API Web Audio].
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// crea un AudioListener e aggiungilo alla camera
+		const listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// crea una sorgente Audio
+		const sound = new THREE.Audio( listener );
+
+		// carica un suono e impostalo come buffer dell'oggetto Audio
+		const audioLoader = new THREE.AudioLoader();
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop(true);
+			sound.setVolume(0.5);
+			sound.play();
+		});
+
+		// crea un AudioAnalyser, passando il suono e la fftSize desiderata
+		const analyser = new THREE.AudioAnalyser( sound, 32 );
+
+		// ottieni la frequenza media del suono
+		const data = analyser.getAverageFrequency();
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( audio, [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize fftSize] )</h3>
+		<p>
+      Crea un nuovo [page:AudioAnalyser AudioAnalyser].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:AnalyserNode analyser]</h3>
+		<p>Un [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode] usato per analizzare l'audio.</p>
+
+		<h3>[property:Integer fftSize]</h3>
+		<p>
+      Una potenza di due, non nulla, fino a 2048, che rappresenta la dimensione della FFT (Fast Fourier Transform) da utilizzare per determinare
+      il dominio della frequenza. Vedi [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize questa pagina] per maggiori dettagli.
+		</p>
+
+		<h3>[property:Uint8Array data]</h3>
+		<p>
+      Un Uint8Array con dimensione determinata da [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/frequencyBinCount analyser.frequencyBinCount],
+      usata per contenere i dati di analisi.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+
+		<h3>[method:Uint8Array getFrequencyData]()</h3>
+		<p>
+      Utilizza il metodo [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData getByteFrequencyData] delle API Web Audio.
+		</p>
+
+		<h3>[method:Number getAverageFrequency]()</h3>
+		<p>
+      Ottieni la media della frequenza restituita dal metodo [page:AudioAnalyser.getFrequencyData getFrequencyData].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 43 - 0
docs/api/it/audio/AudioContext.html

@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Contiene i metodi per impostare un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].<br /><br />
+
+      Usato internamente dalle classi [page:AudioListener AudioListener] e [page:AudioLoader AudioLoader].<br /><br />
+
+      Utilizza le [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API API Web Audio].
+		</p>
+
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:AudioContext getContext]()</h3>
+		<p>
+      Restituisce il valore della variabile `context` nell'ambito esterno, se definito,
+      altrimenti lo imposta in un nuovo [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].
+		</p>
+
+		<h3>[method:AudioContext setContext]( [param:AudioContext value] )</h3>
+		<p>
+      Imposta la varibile `context` nell'ambito esterno su `value`.
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 123 - 0
docs/api/it/audio/AudioListener.html

@@ -0,0 +1,123 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      L'[name] rappresenta un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioListener listener] virtuale di tutti 
+      gli effetti audio posizionli e non posizionali nella scena.<br />
+      Un'applicazione three.js di solito crea una singola istanza di [name]. È un parametro obbligatorio nel costruttore di 
+      entità audio come [page:Audio Audio] e [page:PositionalAudio PositionalAudio].<br />
+      In molti casi, l'oggetto listener è un figlio della camera. Quindi la trasformazione 3D della camera rappresenta 
+      la trasformazione 3D del listener.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// crea un AudioListener e aggiungilo alla camera
+		const listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// crea una sorgente audio globale
+		const sound = new THREE.Audio( listener );
+
+		// carica un suono e impostalo come buffer dell'oggetto Audio
+		const audioLoader = new THREE.AudioLoader();
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop(true);
+			sound.setVolume(0.5);
+			sound.play();
+		});
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_timing webaudio / timing ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name](  )</h3>
+		<p>
+      Crea un nuovo AudioListener.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:AudioContext context]</h3>
+		<p>
+      L'[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] del [page:AudioListener listener] passato nel costruttore.
+    </p>
+
+		<h3>[property:GainNode gain]</h3>
+		<p>
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] creato
+		  usando [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().
+    </p>
+
+		<h3>[property:AudioNode filter]</h3>
+		<p>Il valore predefinito è `null`.</p>
+
+		<h3>[property:Number timeDelta]</h3>
+		<p>
+      Valore delta temporale delle entità audio. Usato nel contesto di 
+      [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/linearRampToValueAtTime AudioParam.linearRampToValueAtTimeDefault]().
+      Il valore di default è `0`.
+    </p>
+
+    <h2>Metodi</h2>
+
+
+		<h3>[method:GainNode getInput]()</h3>
+		<p>
+      Restituisce il [page:AudioListener.gain gainNode].
+		</p>
+
+		<h3>[method:this removeFilter]()</h3>
+		<p>
+      Imposta la proprietà [page:AudioListener.filter filter] a `null`.
+		</p>
+
+		<h3>[method:AudioNode getFilter]()</h3>
+		<p>
+      Restituisce il valore della proprietà [page:AudioListener.filter filter].
+		</p>
+
+		<h3>[method:this setFilter]( [param:AudioNode value] )</h3>
+		<p>
+      Imposta la proprietà [page:AudioListener.filter filter] a `value`.
+		</p>
+
+		<h3>[method:Float getMasterVolume]()</h3>
+		<p>
+      Restituisce il volume.
+		</p>
+
+		<h3>[method:this setMasterVolume]( [param:Number value] )</h3>
+		<p>
+      Imposta il volume.
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 138 - 0
docs/api/it/audio/PositionalAudio.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr; [page:Audio] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Crea un oggetto audio posizionale.<br /><br />
+
+      Utilizza le [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API API Web Audio].
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// crea un AudioListener e lo aggiunge alla camera
+		const listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// crea l'oggetto PositionalAudio (passandogli il listener)
+		const sound = new THREE.PositionalAudio( listener );
+
+		// carica un suono e lo imposta come buffer dell'oggetto PositionalAudio
+		const audioLoader = new THREE.AudioLoader();
+		audioLoader.load( 'sounds/song.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setRefDistance( 20 );
+			sound.play();
+		});
+
+		// crea un oggetto da cui riprodurre il suono
+		const sphere = new THREE.SphereGeometry( 20, 32, 16 );
+		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
+		const mesh = new THREE.Mesh( sphere, material );
+		scene.add( mesh );
+
+		// infine aggiunge il suono alla mesh
+		mesh.add( sound );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webaudio_orientation webaudio / orientation ]<br />
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_timing webaudio / timing ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:AudioListener listener] )</h3>
+		<p>
+		  listener — (obbligatorio) istanza di [page:AudioListener AudioListener].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<p>
+      Vedi la classe [page:Audio Audio] per le proprietà ereditate.
+		</p>
+
+		<h3>[property:PannerNode panner]</h3>
+		<p>
+      Il [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode PannerNode] di PositionalAudio.
+    </p>
+
+
+		<h2>Metodi</h2>
+
+		<p>
+      Vedi la classe [page:Audio Audio] per i metodi ereditati.
+		</p>
+
+		<h3>[method:PannerNode getOutput]()</h3>
+		<p>
+      Restituisce il [page:PositionalAudio.panner panner].
+		</p>
+
+		<h3>[method:Float getRefDistance]()</h3>
+		<p>
+      Restisuice il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
+		</p>
+
+		<h3>[method:this setRefDistance]( [param:Float value] )</h3>
+		<p>
+      Imposta il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
+		</p>
+
+		<h3>[method:Float getRolloffFactor]()</h3>
+		<p>
+		  Restisuice il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
+		</p>
+
+		<h3>[method:this setRolloffFactor]( [param:Float value] )</h3>
+		<p>
+		  Imposta il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
+		</p>
+
+		<h3>[method:String getDistanceModel]()</h3>
+		<p>
+		  Restisuice il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel].
+		</p>
+
+		<h3>[method:this setDistanceModel]( [param:String value] )</h3>
+		<p>
+		  Imposta il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel].
+		</p>
+
+		<h3>[method:Float getMaxDistance]()</h3>
+		<p>
+		  Restisuice il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance].
+		</p>
+
+		<h3>[method:this setMaxDistance]( [param:Float value] )</h3>
+		<p>
+		  Imposta il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.maxDistance].
+		</p>
+
+		<h3>[method:this setDirectionalCone]( [param:Float coneInnerAngle], [param:Float coneOuterAngle], [param:Float coneOuterGain] )</h3>
+		<p>
+      Questo metodo può essere usato per trasformare un suono omnidirezionale in un [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode suono direzionale].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 55 - 0
docs/api/it/cameras/ArrayCamera.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr; [page:Camera] &rarr; [page:PerspectiveCamera] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      [name] può essere usato per renderizzare in modo efficiente una scena con un set predefinito di telecamere. 
+      Questo è un aspetto importante delle prestazioni per il rendering delle scene VR.<br />
+      Un'istanza di [name] ha sempre un array di telecamere secondarie. È obbligatorio definire per ogni telecamera secondaria la
+      proprietà `viewport` la quale determina la parte della finestra (viewport) che viene renderizzata con questa telecamera.
+		</p>
+
+		<h2>Esempi</h2>
+
+		<p>[example:webgl_camera_array camera / array ]</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Array array] )</h3>
+		<p>
+      Un array di telecamere.
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base [page:PerspectiveCamera] per le proprietà comuni.</p>
+
+		<h3>[property:Array cameras]</h3>
+		<p>
+			Un array di telecamere.
+		</p>
+
+		<h3>[property:Boolean isArrayCamera]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:PerspectiveCamera] per i metodi comuni</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 86 - 0
docs/api/it/cameras/Camera.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Classe base astratta per telecamere. Questa classe dovrebbe essere sempre ereditata quando costruisci una nuova telecamera.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+      Crea una nuova [name]. Si noti che questa classe non intende essere chiamata direttamente;
+      invece, probabilmente vuoi utilizzare una [page:PerspectiveCamera] o una [page:OrthographicCamera].
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base  [page:Object3D] per le proprietà comuni.</p>
+
+		<h3>[property:Boolean isCamera]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+      I [page:Layers layers] di cui la telecamera è parte. Questa è una proprietà ereditata da 
+      [page:Object3D].<br /><br />
+
+      Gli oggetti devono condividere almeno un layer con la telecamera per essere visualizzati
+      quando il viewport della telecamera viene renderizzato.
+		</p>
+
+		<h3>[property:Matrix4 matrixWorldInverse]</h3>
+		<p>
+      Questo è l'inverso di matrixWorld. MatrixWorld contiene la Matrix che contiene
+      la trasformazione del mondo della telecamera.
+		</p>
+
+		<h3>[property:Matrix4 projectionMatrix]</h3>
+		<p>Questa è la matrice che contiene la proiezione (projection).</p>
+
+		<h3>[property:Matrix4 projectionMatrixInverse]</h3>
+		<p>L'inverso di projectionMatrix.</p>
+
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Object3D] per i metodi comuni.</p>
+
+		<h3>[method:Camera clone]( )</h3>
+		<p>
+      Restituisce una nuova telecamera con le stesse proprietà di questa.
+		</p>
+
+		<h3>[method:this copy]( [param:Camera source], [param:Boolean recursive] )</h3>
+		<p>
+      Copia le proprietà della telecamera source in questa.
+		</p>
+
+		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — il risultato sarà copiato in questo Vector3. <br /><br />
+
+    Restituisce un [page:Vector3] che rappresenta la direzione dello spazio del world in
+    cui la telecamera sta guardando. (Nota: Una telecamera guarda verso il basso sul suo asse z locale, negativo).<br /><br />
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 88 - 0
docs/api/it/cameras/CubeCamera.html

@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">Crea 6 telecamere che eseguono il rendering su un [page:WebGLCubeRenderTarget].</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// Crea una destinazione di rendering del cubo
+		const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
+
+		// Crea una cube camera
+		const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
+		scene.add( cubeCamera );
+
+		// Crea una macchina
+		const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
+		const car = new THREE.Mesh( carGeometry, chromeMaterial );
+		scene.add( car );
+
+		// Aggiorna il cube di destinazione del rendering
+		car.visible = false;
+		cubeCamera.position.copy( car.position );
+		cubeCamera.update( renderer, scene );
+
+		// Renderizza la scena
+		car.visible = true;
+		renderer.render( scene, camera );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Number near], [param:Number far], [param:WebGLCubeRenderTarget renderTarget] )</h3>
+		<p>
+		near - La distanza vicina (near) di ritaglio. <br />
+		far - La distanza lontana (far) di ritaglio. <br />
+		renderTarget - La destinazione di rendering del target cube.
+		</p>
+
+		<p>
+      Costruisce una CubeCamera che contiene 6 [page:PerspectiveCamera PerspectiveCamera] che eseguono 
+      il rendering su un [page:WebGLCubeRenderTarget].
+		</p>
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base [page:Object3D] per le proprietà comuni.</p>
+
+		<h3>[property:WebGLCubeRenderTarget renderTarget]</h3>
+		<p>
+      La destinazione di rendering del target cube.
+		</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Object3D] per i metodi comuni.</p>
+
+		<h3>[method:undefined update]( [param:WebGLRenderer renderer], [param:Scene scene] )</h3>
+		<p>
+		  renderer - L'attuale renderer WebGL<br />
+		  scene - La scena attuale
+		</p>
+		<p>
+      Chiama questo metodo per aggiornare il [page:CubeCamera.renderTarget renderTarget].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 146 - 0
docs/api/it/cameras/OrthographicCamera.html

@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr; [page:Camera] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Telecamera che utilizza la [link:https://en.wikipedia.org/wiki/Orthographic_projection proiezione ortografica].<br /><br />
+
+      In questa modalità di proiezione, la dimensione di un oggetto nell'immagine visualizzata rimane costante indipendentemente
+      dalla sua distanza dalla telecamera.<br /><br />
+
+      Questa telecamera, tra le altre cose, può essere utile per il rendering di scene 2D ed elementi della UI.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
+		scene.add( camera );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_camera camera ]<br />
+			[example:webgl_interactive_cubes_ortho interactive / cubes / ortho ]<br />
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]<br />
+			[example:webgl_postprocessing_advanced postprocessing / advanced ]<br />
+			[example:webgl_postprocessing_dof2 postprocessing / dof2 ]<br />
+			[example:webgl_postprocessing_godrays postprocessing / godrays ]<br />
+			[example:webgl_rtt rtt ]<br />
+			[example:webgl_shaders_tonemapping shaders / tonemapping ]<br />
+			[example:webgl_shadowmap shadowmap ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Number left], [param:Number right], [param:Number top], [param:Number bottom], [param:Number near], [param:Number far] )</h3>
+		<p>
+      left — Piano sinistro del frustum della telecamera.<br />
+      right — Piano destro del frustum della telecamera.<br />
+      top — Piano superiore del frustum della telecamera.<br />
+      bottom — Piano inferiore del frustum della telecamera.<br />
+      near — Piano near del frustum della telecamera.<br />
+      far — Piano far del frustum della telecamera.<br /><br />
+
+      Queste proprietà insieme definiscono il [link:https://en.wikipedia.org/wiki/Viewing_frustum frustum visivo] della telecamera.
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>
+      Vedi la classe base [page:Camera] per le proprietà comuni.<br>
+      Si noti che dopo aver apportato modifiche alla maggior parte di queste proprietà 
+      sarà necessario chiamare il metodo [page:OrthographicCamera.updateProjectionMatrix .updateProjectionMatrix]
+      affinché le modifiche abbiano effetto.
+		</p>
+
+		<h3>[property:Float bottom]</h3>
+		<p>Piano inferiore del frustum della telecamera.</p>
+
+		<h3>[property:Float far]</h3>
+		<p>
+      Piano far del frustum della telecamera. Il valore predefinito è `2000`.<br /><br />
+
+      Deve essere maggiore del valore corrente del piano [page:.near near].
+		</p>
+
+		<h3>[property:Boolean isOrthographicCamera]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Float left]</h3>
+		<p>Piano sinistro del frustum della telecamera.</p>
+
+		<h3>[property:Float near]</h3>
+		<p>
+      Piano near del frustum della telecamera. Il valore predefinito è `0.1`.<br /><br />
+
+      L'intervallo valido è tra `0` e il valore corrente del piano [page:.far far].
+      Si noti che, diversamente dalla [page:PerspectiveCamera], `0` è un valore valido 
+      per il piano near della OrthographicCamera.
+		</p>
+
+		<h3>[property:Float right]</h3>
+		<p>Piano destro del frustum della telecamera.</p>
+
+		<h3>[property:Float top]</h3>
+		<p>Piano superiore del frustum della telecamera.</p>
+
+		<h3>[property:Object view]</h3>
+		<p>Impostato da [page:OrthographicCamera.setViewOffset setViewOffset]. Il valore predefinito è `null`.</p>
+
+		<h3>[property:number zoom]</h3>
+		<p>Ottiene o imposta il fattore zoom della telecamera. Il valore predefinito è `1`.</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Camera] per i metodi comuni.</p>
+
+		<h3>[method:undefined setViewOffset]( [param:Float fullWidth], [param:Float fullHeight], [param:Float x], [param:Float y], [param:Float width], [param:Float height] )</h3>
+		<p>
+      fullWidth — Larghezza totale dell'impostazione multiview<br />
+      fullHeight — Altezza totale dell'impostazione multiview<br />
+      x — Offset orizzontale della telecamera secondaria<br />
+      y — Offset verticale della telecamera secondaria<br />
+      width — Larghezza della telecamera secondaria<br />
+      height — Altezza della telecamera secondaria<br /><br />
+
+      Imposta un offset in un [link:https://en.wikipedia.org/wiki/Viewing_frustum frustum visivo] più ampio.
+      È utile per le configurazioni multi-window o multi-monitor/multi-machine.
+      Per un esempio di utilizzo, consultare [page:PerspectiveCamera.setViewOffset PerspectiveCamera].
+		</p>
+
+		<h3>[method:undefined clearViewOffset]()</h3>
+		<p>
+      Rimuove qualsiasi offset impostato dal metodo .setViewOffset.
+		</p>
+
+		<h3>[method:undefined updateProjectionMatrix]()</h3>
+		<p>
+      Aggiorna la matrice di proiezione della telecamera. Deve essere chiamato dopo ogni modifica dei parametri.
+		</p>
+
+		<h3>[method:Object toJSON]([param:Object meta])</h3>
+		<p>
+		  meta -- oggetto contenente metadati come texture o immagini nei discendenti degli oggetti.<br />
+      Converte la fotocamera nel [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 formato JSON Object/Scene] di three.js.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 214 - 0
docs/api/it/cameras/PerspectiveCamera.html

@@ -0,0 +1,214 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr; [page:Camera] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Telecamera che utilizza la [link:https://en.wikipedia.org/wiki/Perspective_(graphical) proiezione prospettica].<br /><br />
+
+      Questa modalità di proiezione è progettata per imitare il modo in cui l'occhio umano vede. È la proiezione 
+      più comunemente utilizzata per il rendering di una scena 3D.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
+		scene.add( camera );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_animation_skinning_blending animation / skinning / blending ]<br />
+			[example:webgl_animation_skinning_morph animation / skinning / morph ]<br />
+			[example:webgl_effects_stereo effects / stereo ]<br />
+			[example:webgl_interactive_cubes interactive / cubes ]<br />
+			[example:webgl_loader_collada_skinning loader / collada / skinning ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Number fov], [param:Number aspect], [param:Number near], [param:Number far] )</h3>
+		<p>
+      fov — Campo visivo verticale del frustum della telecamera.<br />
+      aspect — Aspect ratio del frustum della telecamera.<br />
+      near — Piano near del frustum della telecamera.<br />
+      far — Piano far del frustum della telecamera.<br /><br />
+
+      Queste proprietà insieme definiscono il [link:https://en.wikipedia.org/wiki/Viewing_frustum frustum visivo] della telecamera.
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>
+      Vedi la classe base [page:Camera] per le proprietà comuni.<br>
+      Si noti che dopo aver apportato modifiche alla maggior parte di queste proprietà 
+      sarà necessario chiamare il metodo [page:PerspectiveCamera.updateProjectionMatrix .updateProjectionMatrix]
+      affinché le modifiche abbiano effetto.
+		</p>
+
+		<h3>[property:Float aspect]</h3>
+		<p>
+      Aspect ratio del frustum della telecamera, di solito calcolato con la larghezza del canvas / l'altezza del canvas. 
+      Il valore predefinito è `1` (canvas quadrato).
+    </p>
+
+		<h3>[property:Float far]</h3>
+		<p>
+      Piano far del frustum della telecamera. Il valore predefinito è `2000`.<br /><br />
+
+      Deve essere maggiore del valore corrente del piano [page:.near near].
+		</p>
+
+		<h3>[property:Float filmGauge]</h3>
+		<p>
+      Dimensioni della pellicola utilizzata per l'asse maggiore. Il valore predefinito è 35 (millimetri).
+      Questo parametro non influenza la matrice di proiezione a meno che .filmOffset non sia impostato su un valore diverso da zero.
+    </p>
+
+		<h3>[property:Float filmOffset]</h3>
+		<p>Offset orizzontale decentrato nella stessa unità di `.filmGauge`. Il valore predefinito è `0`.</p>
+
+		<h3>[property:Float focus]</h3>
+		<p>
+      Distanza dell'oggetto utilizzata per la stereoscopia e gli effetti di profondità di campo.
+      Questo parametro non influenza la matrice di proiezione a meno che non venga utilizzata una [page:StereoCamera].
+      Il valore predefinito è `10`.
+		</p>
+
+		<h3>[property:Float fov]</h3>
+		<p>Campo visivo verticale del frustum della telecamera, dal basso all'alto della vista, in gradi. Il valore predefinito è `50`.</p>
+
+		<h3>[property:Boolean isPerspectiveCamera]</h3>
+		<p>
+      Flag di sola lettura che verifica se la telecamera è di tipo [name].
+		</p>
+
+
+		<h3>[property:Float near]</h3>
+		<p>
+      Piano near del frustum della telecamera. Il valore predefinito è `0.1`.<br /><br />
+
+      L'intervallo valido è tra `0` e il valore corrente del piano [page:.far far].
+      Si noti che, diversamente dalla [page:OrthographicCamera], `0` <em>non</em> è un valore valido 
+      per il piano near della PerspectiveCamera.
+		</p>
+
+		<h3>[property:Object view]</h3>
+		<p>
+      Specifica la window del frustum o null.
+      Questo valore viene impostato utilizzando il metodo [page:PerspectiveCamera.setViewOffset .setViewOffset]
+      e cancellato utilizzando il metodo [page:PerspectiveCamera.clearViewOffset .clearViewOffset].
+		</p>
+
+		<h3>[property:number zoom]</h3>
+		<p>Ottiene o imposta il fattore zoom della telecamera. Il valore predefinito è `1`.</p>
+
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Camera] per i metodi comuni.</p>
+
+		<h3>[method:undefined clearViewOffset]()</h3>
+		<p>Rimuove qualsiasi offset impostato dal metodo [page:PerspectiveCamera.setViewOffset .setViewOffset].</p>
+
+		<h3>[method:Float getEffectiveFOV]()</h3>
+		<p>Restituisce l'angolo verticale del campo visivo corrente in gradi considerando .zoom.</p>
+
+		<h3>[method:Float getFilmHeight]()</h3>
+		<p>
+      Restituisce l'altezza dell'immagine sulla pellicola. Se .aspect è minore o uguale a uno
+      (formato verticale), il risultato è uguale a .filmGauge.
+		</p>
+
+		<h3>[method:Float getFilmWidth]()</h3>
+		<p>
+      Restituisce la larghezza dell'immagine sulla pellicola. Se .aspect è maggiore o uguale ad uno (formato orizzontale),
+      il risultato è uguale a .filmGauge.
+		</p>
+
+		<h3>[method:Float getFocalLength]()</h3>
+		<p>Restituisce la lunghezza focale del .fov corrente rispetto a .filmGauge.</p>
+
+		<h3>[method:undefined setFocalLength]( [param:Float focalLength] )</h3>
+		<p>
+      Imposta il valore FOV in base alla lunghezza focale rispetto al [page:PerspectiveCamera.filmGauge .filmGauge] corrente.<br /><br />
+
+      Per impostazione predefinita, la lunghezza focale è specificata per una telecamera da 35mm (full frame).
+		</p>
+
+		<h3>[method:undefined setViewOffset]( [param:Float fullWidth], [param:Float fullHeight], [param:Float x], [param:Float y], [param:Float width], [param:Float height] )</h3>
+		<p>
+      fullWidth — larghezza totale dell'impostazione multiview<br />
+      fullHeight — altezza totale dell'impostazione multiview<br />
+      x — offset orizzontale della telecamera secondaria<br />
+      y — offset verticale della telecamera secondaria<br />
+      width — larghezza della telecamera secondaria<br />
+      height — altezza della telecamera secondaria<br /><br />
+		</p>
+
+		<p>
+      Imposta un offset in un frustum più ampio. È utile per le configurazioni multi-window o multi-monitor/multi-machine.
+		</p>
+
+		<p>
+      Per esempio, se si dispone di 3x2 monitor e ogni monitor è un 1920x1080 e i monitor sono disposti in una griglia come questa:<br />
+
+		<pre>
++---+---+---+
+| A | B | C |
++---+---+---+
+| D | E | F |
++---+---+---+
+		</pre>
+
+    allora per ogni monitor il metodo verrebbe chiamato in questo modo:<br />
+
+		<code>const w = 1920;
+const h = 1080;
+const fullWidth = w * 3;
+const fullHeight = h * 2;
+
+// A
+camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
+// B
+camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
+// C
+camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
+// D
+camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
+// E
+camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
+// F
+camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
+</code>
+
+      Si noti che non c'è motivo per cui i monitor debbano essere della stessa dimensione o in una griglia.
+		</p>
+
+		<h3>[method:undefined updateProjectionMatrix]()</h3>
+		<p>
+      Aggiorna la matrice di proiezione della telecamera. Deve essere chiamato dopo ogni modifica dei parametri.
+		</p>
+
+		<h3>[method:Object toJSON]([param:Object meta])</h3>
+		<p>
+      meta -- oggetto contenente metadati come texture o immagini nei discendenti degli oggetti.<br />
+      Converte la fotocamera nel [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 formato JSON Object/Scene] di three.js.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 64 - 0
docs/api/it/cameras/StereoCamera.html

@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Doppia telecamera [page:PerspectiveCamera PerspectiveCamera] utilizzata per effetti come
+      [link:https://en.wikipedia.org/wiki/Anaglyph_3D 3D Anaglyph] o [link:https://en.wikipedia.org/wiki/parallax_barrier Parallax Barrier].
+		</p>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_effects_anaglyph effects / anaglyph ]<br />
+			[example:webgl_effects_parallaxbarrier effects / parallaxbarrier ]<br />
+			[example:webgl_effects_stereo effects / stereo ]
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( )</h3>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Float aspect]</h3>
+		<p>Il valore predefinito è `1`.</p>
+
+		<h3>[property:Float eyeSep]</h3>
+		<p>Il valore predefinito è `0.064`.</p>
+
+		<h3>[property:PerspectiveCamera cameraL]</h3>
+		<p>
+      Telecamera sinistra. È aggiunta al [page:Layers layer 1] -
+      anche gli oggetti che devono essere renderizzati dalla telecamera di sinistra devono
+      essere aggiunti a questo layer.
+    </p>
+
+		<h3>[property:PerspectiveCamera cameraR]</h3>
+		<p>
+      Telecamera destra. È aggiunta al [page:Layers layer 2] -
+      anche gli oggetti che devono essere renderizzati dalla telecamera di destra devono
+      essere aggiunti a questo layer.
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined update]( [param:PerspectiveCamera camera] )</h3>
+		<p>
+      Aggiorna le telecamere Stereo in base alla telecamera passata come parametro.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 46 - 0
docs/api/it/constants/Animation.html

@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti di Animazione</h1>
+
+		<h2>Modalità Loop</h2>
+
+		<code>
+THREE.LoopOnce
+THREE.LoopRepeat
+THREE.LoopPingPong
+		</code>
+
+    <h2>Modalità di Interpolazione</h2>
+    <code>
+THREE.InterpolateDiscrete
+THREE.InterpolateLinear
+THREE.InterpolateSmooth
+    </code>
+
+    <h2>Modalità Ending</h2>
+    <code>
+THREE.ZeroCurvatureEnding
+THREE.ZeroSlopeEnding
+THREE.WrapAroundEnding
+    </code>
+
+	<h2>Modalità di Animation Blend</h2>
+    <code>
+THREE.NormalAnimationBlendMode
+THREE.AdditiveAnimationBlendMode
+    </code>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 53 - 0
docs/api/it/constants/BufferAttributeUsage.html

@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti di utilizzo degli attributi del buffer</h1>
+
+		<p>
+      Le costanti di utilizzo possono essere utilizzate per fornire un suggerimento all'API su come verrà utilizzato l'attributo
+      del buffer della geometria per ottimizzare le prestazioni.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const geometry = new THREE.BufferGeometry();
+		const positionAttribute = new THREE.BufferAttribute( array, 3 , false );
+		positionAttribute.setUsage( THREE.DynamicDrawUsage );
+		geometry.setAttribute( 'position', positionAttribute );
+		</code>
+
+		<h2>Esempi</h2>
+		<p>[example:webgl_buffergeometry_drawrange materials / buffergeometry / drawrange ]</p>
+
+		<h2>Utilizzo della Geometria</h2>
+		<code>
+		THREE.StaticDrawUsage
+		THREE.DynamicDrawUsage
+		THREE.StreamDrawUsage
+
+		THREE.StaticReadUsage
+		THREE.DynamicReadUsage
+		THREE.StreamReadUsage
+
+		THREE.StaticCopyUsage
+		THREE.DynamicCopyUsage
+		THREE.StreamCopyUsage
+		</code>
+
+    Per informazioni più dettagliate su ciascuna di queste costanti consultare 
+    [link:https://www.khronos.org/opengl/wiki/Buffer_Object#Buffer_Object_Usage questa documentazione di OpenGL].
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 80 - 0
docs/api/it/constants/Core.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti del Core</h1>
+
+		<h2>Numero di Revisione</h2>
+
+		<code>
+THREE.REVISION
+		</code>
+
+		<div id="rev">
+      L'attuale [link:https://github.com/mrdoob/three.js/releases numero di revisione] di three.js.
+		</div>
+
+		<h2>Spazi Colore</h2>
+		<code>
+THREE.NoColorSpace			
+THREE.SRGBColorSpace
+THREE.LinearSRGBColorSpace
+		</code>
+		<p>
+			[page:NoColorSpace] non definisce uno spazio colore specifico. 
+		</p>
+		<p>
+			[page:SRGBColorSpace] (“sRGB”) si riferisce allo spazio colore definito dal Rec. 709
+      primari, punto di bianco D65 e funzioni di trasferimento sRGB non lineare. sRGB è lo spazio
+      colore predefinito nei CSS, e si trova spesso nelle palette dei colori e nei selettori di colore.
+      I colori espressi in esadecimale o in notazione CSS sono tipicamente nello spazio colore sRGB.
+		</p>
+
+		<p>
+			[page:LinearSRGBColorSpace] (“Linear-sRGB”) si riferisce allo spazio colore sRGB (sopra) con
+      funzioni di trasferimento lineare. Linear-sRGB è lo spazio colore di lavoro in three.js, utilizzato
+      durante la maggior parte del processo di rendering. I componenti RGB presenti nei materiali, negli 
+      shader in three.js si trovano nello spazio colore Linear-sRGB.
+    </p>
+
+		<p>
+			Per ulteriori informazioni sul background e sull'utilizzo, consultare <i>Gestione del colore</i>.
+		</p>
+
+		<h2>Pulsanti del Mouse</h2>
+		<code>
+THREE.MOUSE.LEFT
+THREE.MOUSE.MIDDLE
+THREE.MOUSE.RIGHT
+THREE.MOUSE.ROTATE
+THREE.MOUSE.DOLLY
+THREE.MOUSE.PAN
+		</code>
+		<p>
+      Le costanti LEFT e ROTATE hanno lo stesso valore di base.
+      Le costanti MIDDLE e DOLLY hanno lo stesso valore di base.
+      Le costanti RIGHT e PAN hanno lo stesso valore di base.
+		</p>
+
+		<h2>Azioni Touch</h2>
+		<code>
+THREE.TOUCH.ROTATE
+THREE.TOUCH.PAN
+THREE.TOUCH.DOLLY_PAN
+THREE.TOUCH.DOLLY_ROTATE
+		</code>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+
+
+</html>

+ 66 - 0
docs/api/it/constants/CustomBlendingEquations.html

@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti di equazioni di blending personalizzate</h1>
+
+		<p>
+      Funzionano con tutti i tipi di materiale. Impostare prima la modalità blending del materiale
+      su THREE.CustomBlending, poi impostare l'equazione di blending desiderata, il fattore sorgente 
+      (Source Factor) e quello di destinazione (Destination Factor).
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		material.blending = THREE.CustomBlending;
+		material.blendEquation = THREE.AddEquation; //default
+		material.blendSrc = THREE.SrcAlphaFactor; //default
+		material.blendDst = THREE.OneMinusSrcAlphaFactor; //default
+		</code>
+
+		<h2>Esempi</h2>
+		<p>[example:webgl_materials_blending_custom materials / blending / custom ]</p>
+
+		<h2>Equazioni di Blending</h2>
+		<code>
+		THREE.AddEquation
+		THREE.SubtractEquation
+		THREE.ReverseSubtractEquation
+		THREE.MinEquation
+		THREE.MaxEquation
+		</code>
+
+		<h2>Fattori di Origine (Source Factors)</h2>
+		<code>
+		THREE.ZeroFactor
+		THREE.OneFactor
+		THREE.SrcColorFactor
+		THREE.OneMinusSrcColorFactor
+		THREE.SrcAlphaFactor
+		THREE.OneMinusSrcAlphaFactor
+		THREE.DstAlphaFactor
+		THREE.OneMinusDstAlphaFactor
+		THREE.DstColorFactor
+		THREE.OneMinusDstColorFactor
+		THREE.SrcAlphaSaturateFactor
+		</code>
+
+		<h2>Fattori di Destinazione (Destination Factors)</h2>
+		<p>
+      Tutti questi fattori di origine sono validi come fattori di destinazione ad eccezione di <code>THREE.SrcAlphaSaturateFactor</code>
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 159 - 0
docs/api/it/constants/Materials.html

@@ -0,0 +1,159 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti dei Materiali</h1>
+
+		<p class="desc">
+      Queste costanti definiscono proprietà comuni per tutti i tipi di materiali,
+      ad eccezione di Texture Combine Operations che si applicano 
+      solo ai materiali [page:MeshBasicMaterial.combine MeshBasicMaterial], 
+      [page:MeshLambertMaterial.combine MeshLambertMaterial] e [page:MeshPhongMaterial.combine MeshPhongMaterial].<br />
+		</p>
+
+
+		<h2>Lato (Side)</h2>
+		<code>
+		THREE.FrontSide
+		THREE.BackSide
+		THREE.DoubleSide
+		</code>
+		<p>
+      Definisce quale lato delle facce sarà visualizzato - frontale, retro o entrambi.
+      Il valore predefinito è [page:Constant FrontSide].
+		</p>
+
+		<h2>Modalità Blending</h2>
+		<code>
+		THREE.NoBlending
+		THREE.NormalBlending
+		THREE.AdditiveBlending
+		THREE.SubtractiveBlending
+		THREE.MultiplyBlending
+		THREE.CustomBlending
+		</code>
+
+
+		<p>
+      Controllano le equazioni di blending di origine e di destinazione per RGB e Alpha del materiale, inviate a WebGLRenderer 
+      per l'uso da parte di WebGL.<br />
+      [page:Constant NormalBlending] è l'impostazione predefinita.<br />
+      Si noti che [page:Constant CustomBlending] deve essere impostato per utilizzare le equazioni di blending personalizzate.<br />
+      Vedi l'esempio [example:webgl_materials_blending materials / blending].<br />
+		</p>
+
+		<h2>Modalità Depth</h2>
+		<code>
+		THREE.NeverDepth
+		THREE.AlwaysDepth
+		THREE.EqualDepth
+		THREE.LessDepth
+		THREE.LessEqualDepth
+		THREE.GreaterEqualDepth
+		THREE.GreaterDepth
+		THREE.NotEqualDepth
+		</code>
+		<p>
+      La funzione di profondità (depth) utilizza il materiale per confrontare la Z-depth dei pixel in arrivo
+      con il valore del buffer della Z-depth. Se il risultato del confronto è vero, il pixel viene disegnato.
+      [page:Materials NeverDepth] non tornerà mai vero.<br />
+      [page:Materials AlwaysDepth] tornerà sempre vero.<br />
+      [page:Materials EqualDepth] tornerà vero se lo Z-depth dei pixel in ingresso è uguale all'attuale buffer Z-depth.<br />
+      [page:Materials LessDepth] tornerà vero se lo Z-depth dei pixel in ingresso è minore dell'attuale buffer Z-depth.<br />
+      [page:Materials LessEqualDepth] è il valore predefinito e ritornerà vero se lo Z-depth dei pixel in ingresso è minore o uguale dell'attuale buffer Z-depth.<br />
+      [page:Materials GreaterEqualDepth] tornerà vero se lo Z-depth dei pixel in ingresso è maggiore o uguale dell'attuale buffer Z-depth.<br />
+      [page:Materials GreaterDepth] tornerà vero se lo Z-depth dei pixel in ingresso è maggiore dell'attuale buffer Z-depth.<br />
+      [page:Materials NotEqualDepth]tornerà vero se lo Z-depth dei pixel in ingresso è maggiore non è uguale all'attuale buffer Z-depth.<br />
+		</p>
+
+		<h2>Texture Combine Operations</h2>
+		<code>
+		THREE.MultiplyOperation
+		THREE.MixOperation
+		THREE.AddOperation
+		</code>
+		<p>
+      Definiscono come il risultato del colore della supercificie viene combinato con la mappa ambientale (se presente), 
+      per i materiali [page:MeshBasicMaterial.combine MeshBasicMaterial], [page:MeshLambertMaterial.combine MeshLambertMaterial] 
+      e [page:MeshPhongMaterial.combine MeshPhongMaterial]. <br />
+      [page:Constant MultiplyOperation] è l'impostazione predefinita e moltiplica la mappa di colore dell'ambiente con il colore della superficie.<br />
+      [page:Constant MixOperation] utilizza la riflettività per miscelare i due colori.<br />
+      [page:Constant AddOperation] aggiunge i due colori.
+		</p>
+
+		<h2>Funzioni di Stencil</h2>
+		<code>
+		THREE.NeverStencilFunc
+		THREE.LessStencilFunc
+		THREE.EqualStencilFunc
+		THREE.LessEqualStencilFunc
+		THREE.GreaterStencilFunc
+		THREE.NotEqualStencilFunc
+		THREE.GreaterEqualStencilFunc
+		THREE.AlwaysStencilFunc
+		</code>
+		<p>
+      Quale funzione di stencil utilizza il meteriale per determinare se eseguire o meno un'operazione di stencil.<br />
+      [page:Materials NeverStencilFunc] non tornerà mai vero.<br />
+      [page:Materials LessStencilFunc] tornerà vero se il valore di riferimento dello stencil è inferiore al valore dello stencil corrente.<br />
+      [page:Materials EqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è ugale al valore dello stencil corrente.<br />
+      [page:Materials LessEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è minore o uguale al valore dello stencil corrente.<br />
+      [page:Materials GreaterStencilFunc] tornerà vero se il valore di riferimento dello stencil è maggiore al valore dello stencil corrente.<br />
+      [page:Materials NotEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil non è uguale al valore dello stencil corrente.<br />
+      [page:Materials GreaterEqualStencilFunc] tornerà vero se il valore di riferimento dello stencil è maggiore o uguale al valore dello stencil corrente.<br />
+      [page:Materials AlwaysStencilFunc] tornerà sempre vero.<br />
+		</p>
+
+		<h2>Operazioni di Stencil</h2>
+		<code>
+		THREE.ZeroStencilOp
+		THREE.KeepStencilOp
+		THREE.ReplaceStencilOp
+		THREE.IncrementStencilOp
+		THREE.DecrementStencilOp
+		THREE.IncrementWrapStencilOp
+		THREE.DecrementWrapStencilOp
+		THREE.InvertStencilOp
+		</code>
+		<p>
+      Quale operazione di stencil eseguirà il materiale sul pixel del buffer di stencil se la funzione stencil fornita passa.<br />
+      [page:Materials ZeroStencilOp] imposterà il valore dello stencil a 0.<br />
+      [page:Materials KeepStencilOp] non cambierà il valore corrente dello stencil.<br />
+      [page:Materials ReplaceStencilOp] sostituirà il valore dello stencil con il valore di riferimento dello stencil specificato.<br />
+      [page:Materials IncrementStencilOp] incrementerà il valore corrente dello stencil di `1`.<br />
+      [page:Materials DecrementStencilOp] decrementerà il valore corrente dello stencil di `1`.<br />
+      [page:Materials IncrementWrapStencilOp] incrementerà il valore corrente dello stencil di `1`. Se il valore aumenta oltre 255, verrà impostato su `0`.<br />
+      [page:Materials DecrementWrapStencilOp] incrementerà il valore corrente dello stencil di `1`. Se il valore diminusice al di sotto di `0` verrà impostato a `255`.<br />
+      [page:Materials InvertStencilOp] eseguirà un'inversione di bit del valore dello stencil corrente.<br />
+		</p>
+
+		<h2>Tipo Normal map</h2>
+		<code>
+		THREE.TangentSpaceNormalMap
+		THREE.ObjectSpaceNormalMap
+		</code>
+		<p>
+      Definisce il tipo di mappa normale.
+      Per TangentSpaceNormalMap, le informazioni sono relative alla superficie sottostante.
+      Per ObjectSpaceNormalMap, le informazioni sono relative all'oggetto sottostante.
+      Il valore di default è [page:Constant TangentSpaceNormalMap].
+		</p>
+
+		<h2>GLSL Version</h2>
+		<code>
+		THREE.GLSL1
+		THREE.GLSL3
+		</code>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 72 - 0
docs/api/it/constants/Renderer.html

@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Costanti WebGLRenderer</h1>
+
+		<h2>Modalità Cull Face</h2>
+		<code>
+		THREE.CullFaceNone
+		THREE.CullFaceBack
+		THREE.CullFaceFront
+		THREE.CullFaceFrontBack
+		</code>
+		<p>
+      [page:constant CullFaceNone] disabilita il face culling.<br />
+      [page:constant CullFaceBack] elimina le facce posteriori (predefinito).<br />
+      [page:constant CullFaceFront] elimina le facce anteriori.<br />
+      [page:constant CullFaceFrontBack] elimina entrambe le facce posteriori e anteriori.
+		</p>
+
+		<h2>Tipi Shadow</h2>
+		<code>
+		THREE.BasicShadowMap
+		THREE.PCFShadowMap
+		THREE.PCFSoftShadowMap
+		THREE.VSMShadowMap
+		</code>
+		<p>
+      Definiscono la proprietà [page:WebGLRenderer.shadowMap.type shadowMap.type] di WebGLRenderer.<br /><br />
+
+      [page:constant BasicShadowMap] fornisce mappe shadow non filtrate - la più veloce, ma con qualità minore.<br />
+      [page:constant PCFShadowMap] filtra le mappe shadow utilizzando l'algoritmo Percentage-Closer Filtering (PFC) (predefinito).<br />
+      [page:constant PCFSoftShadowMap] filtra le mappe shadow utilizzando l'algoritmo Percentage-Closer Filtering (PFC) 
+      con migliori soft shadow soprattutto quando si utilizzano mappe shadow a bassa risoluzione.<br />
+      [page:constant VSMShadowMap] filtra le mappe shadow utilizzando l'algoritmo Variance Shadow Map (VSM). Quando si utilizza VSMShadowMap,
+      anche tutti i ricevitori shadow proiettano shadow.<br />
+		</p>
+
+		<h2>Mappatura dei Toni</h2>
+		<code>
+		THREE.NoToneMapping
+		THREE.LinearToneMapping
+		THREE.ReinhardToneMapping
+		THREE.CineonToneMapping
+		THREE.ACESFilmicToneMapping
+		THREE.CustomToneMapping
+		</code>
+		<p>
+      Definiscono la proprietà [page:WebGLRenderer.toneMapping toneMapping] di WebGLRenderer.
+      Viene utilizzato per approssimare l'aspetto della gamma dinamica (HDR) sul medio della
+      gamma dinamica bassa del monitor di un computer o dello schermo di un dispositivo mobile.
+		</p>
+		<p>
+      THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping e THREE.ACESFilmicToneMapping sono implementazioni 
+      integrate della mappatura dei toni.
+      THREE.CustomToneMapping prevede un'implementazione personalizzata modificando il codice GLSL dello shader di frammenti del materiale.
+      Vedi l'esempio [example:webgl_tonemapping WebGL / tonemapping].
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 561 - 0
docs/api/it/constants/Textures.html

@@ -0,0 +1,561 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>Constanti delle Texture</h1>
+
+		<h2>Modalità Mapping</h2>
+		<code>
+		THREE.UVMapping
+		THREE.CubeReflectionMapping
+		THREE.CubeRefractionMapping
+		THREE.EquirectangularReflectionMapping
+		THREE.EquirectangularRefractionMapping
+		THREE.CubeUVReflectionMapping
+		</code>
+
+		<p>
+      Definiscono la modalità di mapping della texture.<br />
+      [page:Constant UVMapping] è la costante predefinita, e mappa la texture usando le coordinate UV della mesh.<br /><br />
+
+      Il resto definisce i tipi di mappatura dell'ambiente.<br /><br />
+
+      [page:Constant CubeReflectionMapping] e [page:Constant CubeRefractionMapping] sono da utilizzare con una [page:CubeTexture CubeTexture], 
+      la quale è composta da sei texture, una per ciascuna faccia del cubo.
+      [page:Constant CubeReflectionMapping] è la predefinita per una [page:CubeTexture CubeTexture]. <br /><br />
+
+      [page:Constant EquirectangularReflectionMapping] e [page:Constant EquirectangularRefractionMapping]
+      sono da utilizzare con una equirectangular environment map. Anche chiamata lat-long map, una texture equirectangular
+      rappresenta una vista a 360 gradi lungo la linea centrale orizzontale e una vista a 180 lungo l'asse verticale, con i bordi 
+      superiore e inferiore dell'immagine corrispondenti ai poli nord e sud di una sfera mappata.<br /><br />
+
+      Vedi l'esempio [example:webgl_materials_envmaps materials / envmaps].
+		</p>
+
+
+		<h2>Modalità Wrapping</h2>
+		<code>
+		THREE.RepeatWrapping
+		THREE.ClampToEdgeWrapping
+		THREE.MirroredRepeatWrapping
+		</code>
+		<p>
+      Definiscono le proprietà [page:Texture.wrapS wrapS] e [page:Texture.wrapT wrapT] della texture, le quali
+      definiscono il wrapping orizzontale e verticale della texture.<br /><br />
+
+      Con [page:constant RepeatWrapping] la texture sarà semplicemente ripetuta all'infinito.<br /><br />
+
+      [page:constant ClampToEdgeWrapping] è la costante predefinita.
+      L'ultimo pixel della texture si estende fino al bordo della mesh.<br /><br />
+
+      Con [page:constant MirroredRepeatWrapping] la texture sarà ripetuta all'infinito, rispecchiando ad ogni ripetizione.
+		</p>
+
+		<h2>Filtri di Ingradimento</h2>
+		<code>
+		THREE.NearestFilter
+		THREE.LinearFilter
+		</code>
+
+		<p>
+      Da usare con la proprietà [page:Texture.magFilter magFilter] della texture,
+      definiscono la funzione di ingrandimento della texture da usare quando il pixel
+      da texturizzare mappa un'area inferiore o uguale a un elemento della texture (texel).<br /><br />
+
+      [page:constant NearestFilter] restituisce il valore dell'elemento della texture che è più vicino 
+      (nella distanza di Manhattan) alle coordinate della texture specificate.<br /><br />
+
+      [page:constant LinearFilter] è l'impostazione predefinita e restituisce la media pesata dei quattro elementi della texture
+      più vicini alle coordinate della texture specificate e può includere elementi wrappati o ripetuti da altre parti della texture,
+      a seconda dei valori di [page:Texture.wrapS wrapS] e [page:Texture.wrapT wrapT], e dall'esatta mappatura.
+		</p>
+
+		<h2>Filtri di Minificazione</h2>
+		<code>
+		THREE.NearestFilter
+		THREE.NearestMipmapNearestFilter
+		THREE.NearestMipmapLinearFilter
+		THREE.LinearFilter
+		THREE.LinearMipmapNearestFilter
+		THREE.LinearMipmapLinearFilter
+		</code>
+
+		<p>
+      Da usare con la proprietà [page:Texture.minFilter minFilter] della texture,
+      definiscono la funzione di minificazione della texture che viene usata ogni volta che il
+      pixel da texturizzare mappa un'area superiore di un elemento della texture (texel).<br /><br />
+
+      Oltre a [page:constant NearestFilter] e [page:constant LinearFilter],
+      le seguenti quattro funzioni possono essere usate per la minificazione:<br /><br />
+
+      [page:constant NearestMipmapNearestFilter] sceglie il mipmap che più si avvicina alle dimensioni del pixel da texturizzare
+      e utilizza il criterio [page:constant NearestFilter] (il texel più vicino al centro del pixel) per produrre
+      un valore di texture.<br /><br />
+
+      [page:constant NearestMipmapLinearFilter] sceglie i due mipmap che più si avvicinano alle dimensioni del pixel da texturizzare
+      e utilizza il criterio [page:constant NearestFilter] per produrre un valore di texture per ogni mipmap. Il valore della texture finale 
+      è una media pesata di questi due valori.<br /><br />
+
+      [page:constant LinearMipmapNearestFilter] sceglie il mipmap che più si avvicina alle dimensioni del pixel da texturizzare
+      e utilizza il criterio [page:constant LinearFilter] ( una media pesata dei quattro texels che più si avvicinano al centro del pixel) per produrre
+      un valore di texture.<br /><br />
+
+      [page:constant LinearMipmapLinearFilter] è l'impostazione predefinita e sceglie i due mipmap che più si avvicinano alle dimensioni del pixel da texturizzare
+      e utilizza il criterio [page:constant LinearFilter] per produrre un valore di texture per ogni mipmap. Il valore della texture finale è una 
+      media pesata di questi due valori.<br /><br />
+
+      Vedi l'esempio [example:webgl_materials_texture_filters materials / texture / filters]
+		</p>
+
+		<h2>Tipi</h2>
+		<code>
+		THREE.UnsignedByteType
+		THREE.ByteType
+		THREE.ShortType
+		THREE.UnsignedShortType
+		THREE.IntType
+		THREE.UnsignedIntType
+		THREE.FloatType
+		THREE.HalfFloatType
+		THREE.UnsignedShort4444Type
+		THREE.UnsignedShort5551Type
+		THREE.UnsignedInt248Type
+		</code>
+		<p>
+      Da usare con la proprietà [page:Texture.type type] della texture, la quale deve corrispondere al formato corretto. Vedi sotto per i dettagli.<br /><br />
+
+      [page:constant UnsignedByteType] è l'impostazione predefinita.
+		</p>
+
+		<h2>Formati</h2>
+		<code>
+		THREE.AlphaFormat
+		THREE.RedFormat
+		THREE.RedIntegerFormat
+		THREE.RGFormat
+		THREE.RGIntegerFormat
+		THREE.RGBAFormat
+		THREE.RGBAIntegerFormat
+		THREE.LuminanceFormat
+		THREE.LuminanceAlphaFormat
+		THREE.DepthFormat
+		THREE.DepthStencilFormat
+		</code>
+		<p>
+      Da usare con la proprietà [page:Texture.format format] della texture, 
+      definiscono come gli elementi di una texture 2d, o `texel`, vengono letti dagli shader.<br /><br />
+
+      [page:constant AlphaFormat] elimina i componenti rosso, verde e blu e legge solo il componente alfa.<br /><br />
+
+      [page:constant RedFormat] elimina i componenti verde e blu e legge solo il componente rosso.<br /><br />
+
+      [page:constant RedIntegerFormat] elimina i componenti verde e blu e legge solo il componente rosso.
+      I texel sono letti come interi invece che come floating point.
+      (può essere utilizzato solo in un contesto di rendering WebGL 2).<br /><br />
+
+      [page:constant RGFormat] elimina i componenti alfa e blu e legge i componenti rosso e verde.
+      (può essere utilizzato solo in un contesto di rendering WebGL 2).<br /><br />
+
+      [page:constant RGIntegerFormat] elimina i componenti alfa e blu e legge i componenti rosso e verde.
+      I texel sono letti come numeri interi invece che come floating point.
+      (può essere utilizzato solo in un contesto di rendering WebGL 2).<br /><br />
+
+      [page:constant RGBAFormat] è l'impostazione predefinita e legge i componenti rosso, verde, blu e alfa.<br /><br />
+
+      [page:constant RGBAIntegerFormat] è l'impostazione di default e legge i componenti rosso, verde, blu e alfa.
+      I texel sono letti come numeri interi invece che come floating point.
+      (può essere utilizzato solo in un contesto di rendering WebGL 2).<br /><br />
+
+      [page:constant LuminanceFormat] legge ogni elemento come un singolo componente di luminanza.
+      Questo viene quindi convertito in floating point, fissato all'intervallo [0,1], e quindi assemblato
+      in un elemento RGBA posizionando il valore di luminanza nei canali rosso, verde e blu, e allegando
+      1.0 al canale alfa.<br /><br />
+
+      [page:constant LuminanceAlphaFormat] legge ogni elemento come un doppio luminanza/alfa. Lo stesso processo si verifica
+      come per [page:constant LuminanceFormat], tranne per il fatto che il canale alfa può avere valori diversi da `1.0`.<br /><br />
+
+      [page:constant DepthFormat] legge ogni elemento come un singolo valore depth, lo converte in floating point e si blocca 
+      nell'intervallo [0,1]. Questa è l'impostazione predefinita per [page:DepthTexture DepthTexture].<br /><br />
+
+      [page:constant DepthStencilFormat] legge ogni elemento come una coppia di valori depth e stencil.
+      Il componente depth della coppia viene interpretato come in [page:constant DepthFormat].
+      Il componente stencil viene interpretato in base al formato interno depth + stencil.<br /><br />
+
+      Si noti che la texture deve avere impostato il [page:Texture.type tipo] corretto, come descritto sopra.
+      Vedi [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D] 
+      per maggiori dettagli.
+		</p>
+
+		<h2>Formati Texture Compressi DDS / ST3C</h2>
+		<code>
+		THREE.RGB_S3TC_DXT1_Format
+		THREE.RGBA_S3TC_DXT1_Format
+		THREE.RGBA_S3TC_DXT3_Format
+		THREE.RGBA_S3TC_DXT5_Format
+		</code>
+		<p>
+      Da usare con la prorietà [page:Texture.format formato] della [page:CompressedTexture CompressedTexture],
+      questi richiedono il supporto per l'estensione 
+      [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/ WEBGL_compressed_texture_s3tc].<br /><br />
+
+      Questi sono quattro formati [link:https://en.wikipedia.org/wiki/S3_Texture_Compression S3TC] disponibili tramite questa estensione. Questi sono:<br />
+
+      [page:constant RGB_S3TC_DXT1_Format]: Un'immagine compressa DXT1 in un formato immagine RGB.<br />
+      [page:constant RGBA_S3TC_DXT1_Format]: Un'immagine compressa DXT1 in un formato immagine RGBA con un semplice valore alfa on/off.<br />
+      [page:constant RGBA_S3TC_DXT3_Format]: Un'immagine compressa DXT3 in un formato immagine RGBA. Comparato con una texture 32-bit, offre una compressione 4:1.<br />
+      [page:constant RGBA_S3TC_DXT5_Format]: Un'immagine compressa DXT5 in un formato immagine RGBA. Anche questa costante permette una compressione 4:1,
+      ma differisce dalla compressione DXT3 nel modo in cui viene eseguita la compressione alfa.<br />
+		</p>
+
+		<h2>Formati Texture Compressi PVRTC</h2>
+		<code>
+		THREE.RGB_PVRTC_4BPPV1_Format
+		THREE.RGB_PVRTC_2BPPV1_Format
+		THREE.RGBA_PVRTC_4BPPV1_Format
+		THREE.RGBA_PVRTC_2BPPV1_Format
+		</code>
+		<p>
+      Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture],
+      questi richiedono il supporto per l'estensione 
+      [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/ WEBGL_compressed_texture_pvrtc].<br />
+
+      PVRTC è in genere disponibile solo su dispositivi mobili con chipset PowerVR, che sono principalmente dispositivi Apple.<br /><br />
+
+      Questi sono quattro formati [link:https://en.wikipedia.org/wiki/PVRTC PVRTC] disponibili tramite questa estensione. Questi sono:<br />
+
+      [page:constant RGB_PVRTC_4BPPV1_Format]: compressione RGB in modalità 4-bit. un blocco per ogni pixel 4×4.<br />
+      [page:constant RGB_PVRTC_2BPPV1_Format]: compressione RGB in modalità 2-bit. un blocco per ogni pixel 8×4.<br />
+      [page:constant RGBA_PVRTC_4BPPV1_Format]: compressione RGBA in modalità 4-bit. un blocco per ogni pixel 4×4.<br />
+      [page:constant RGBA_PVRTC_2BPPV1_Format]: compressione RGBA in modalità 2-bit. un blocco per ogni pixel 8×4.<br />
+		</p>
+
+		<h2>Formati Texture Compressi ETC</h2>
+		<code>
+		THREE.RGB_ETC1_Format
+		THREE.RGB_ETC2_Format
+		THREE.RGBA_ETC2_EAC_Format
+		</code>
+		<p>
+      Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture],
+      questi richiedono il supporto per le estensioni 
+      [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc1/ WEBGL_compressed_texture_etc1] (ETC1) o
+      [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/ WEBGL_compressed_texture_etc]
+		  (ETC2).<br /><br />
+		</p>
+
+		<h2>Formati Texture Compressi ASTC</h2>
+		<code>
+		THREE.RGBA_ASTC_4x4_Format
+		THREE.RGBA_ASTC_5x4_Format
+		THREE.RGBA_ASTC_5x5_Format
+		THREE.RGBA_ASTC_6x5_Format
+		THREE.RGBA_ASTC_6x6_Format
+		THREE.RGBA_ASTC_8x5_Format
+		THREE.RGBA_ASTC_8x6_Format
+		THREE.RGBA_ASTC_8x8_Format
+		THREE.RGBA_ASTC_10x5_Format
+		THREE.RGBA_ASTC_10x6_Format
+		THREE.RGBA_ASTC_10x8_Format
+		THREE.RGBA_ASTC_10x10_Format
+		THREE.RGBA_ASTC_12x10_Format
+		THREE.RGBA_ASTC_12x12_Format
+		</code>
+		<p>
+      Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture],
+      questi richiedono il supporto per l'estensione 
+      [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc].<br />
+		</p>
+
+		<h2>Formato Texture Compresso BPTCt</h2>
+		<code>
+		THREE.RGBA_BPTC_Format
+		</code>
+		<p>
+      Da usare con la prorietà del [page:Texture.format formato] della [page:CompressedTexture CompressedTexture],
+      questi richiedono il supporto per l'estensione 
+      [link:https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_bptc/ EXT_texture_compression_bptc].<br />
+		</p>
+
+		<h2>Formati Interni</h2>
+		<code>
+		'ALPHA'
+		'RGB'
+		'RGBA'
+		'LUMINANCE'
+		'LUMINANCE_ALPHA'
+		'RED_INTEGER'
+		'R8'
+		'R8_SNORM'
+		'R8I'
+		'R8UI'
+		'R16I'
+		'R16UI'
+		'R16F'
+		'R32I'
+		'R32UI'
+		'R32F'
+		'RG8'
+		'RG8_SNORM'
+		'RG8I'
+		'RG8UI'
+		'RG16I'
+		'RG16UI'
+		'RG16F'
+		'RG32I'
+		'RG32UI'
+		'RG32F'
+		'RGB565'
+		'RGB8'
+		'RGB8_SNORM'
+		'RGB8I'
+		'RGB8UI'
+		'RGB16I'
+		'RGB16UI'
+		'RGB16F'
+		'RGB32I'
+		'RGB32UI'
+		'RGB32F'
+		'RGB9_E5'
+		'SRGB8'
+		'R11F_G11F_B10F'
+		'RGBA4'
+		'RGBA8'
+		'RGBA8_SNORM'
+		'RGBA8I'
+		'RGBA8UI'
+		'RGBA16I'
+		'RGBA16UI'
+		'RGBA16F'
+		'RGBA32I'
+		'RGBA32UI'
+		'RGBA32F'
+		'RGB5_A1'
+		'RGB10_A2'
+		'RGB10_A2UI'
+		'SRGB8_ALPHA8'
+		'DEPTH_COMPONENT16'
+		'DEPTH_COMPONENT24'
+		'DEPTH_COMPONENT32F'
+		'DEPTH24_STENCIL8'
+		'DEPTH32F_STENCIL8'
+		</code>
+
+		<p>
+      Attenzione: la modifica di un formato interno di una texture avrà effetto solo 
+      quando si utilizza un contesto di rendering WebGL 2.<br /><br />
+
+      Da usare con la proprietà [page:Texture.internalFormat internalFormat] della texture,
+      definiscono come gli elementi della texture, o `toxel`, sono memorizzati nella GPU.<br /><br />
+
+      [page:constant R8] memorizza il componente rosso su 8 bit.<br /><br />
+
+  		[page:constant R8_SNORM] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come normalizzato. <br /><br />
+
+		[page:constant R8I] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come un intero. <br /><br />
+
+		[page:constant R8UI] memorizza il componente rosso su 8 bit. Il componenete viene archiviato come un intero senza segno. <br /><br />
+
+		[page:constant R16I] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un intero. <br /><br />
+
+		[page:constant R16UI] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un intero senza segno. <br /><br />
+
+		[page:constant R16F] memorizza il componente rosso su 16 bit. Il componenete viene archiviato come un floating point. <br /><br />
+
+		[page:constant R32I] memorizza il componente rosso su 32 bit. Il componenete viene archiviato come un intero. <br /><br />
+
+		[page:constant R32UI] memorizza il componente rosso su 32 bit.Il componenete viene archiviato come un intero senza segno. <br /><br />
+
+		[page:constant R32F] memorizza il componente rosso su 32 bit. Il componenete viene archiviato come un floating point. <br /><br />
+
+		[page:constant RG8] memorizza i componenti rosso e verde su 8 bit ciascuno.<br /><br />
+
+		[page:constant RG8_SNORM] memorizza i componenti rosso e verde su 8 bit ciascuno.
+		Ogni componente viene archiviato come normalizzato.
+		<br /><br />
+
+		[page:constant RG8I] memorizza i componenti rosso e verde su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RG8UI] memorizza i componenti rosso e verde su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RG16I] memorizza i componenti rosso e verde su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RG16UI] memorizza i componenti rosso e verde su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RG16F] memorizza i componenti rosso e verde su 16 bit ciascuno.
+	  Ogni componente viene archiviato come un floating point.
+		<br /><br />
+
+		[page:constant RG32I] memorizza i componenti rosso e verde su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RG32UI] memorizza i componenti rosso e verde su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RG32F] memorizza i componenti rosso e verde su 32 bit ciascuno.
+		Ogni componente viene archiviato come un floating point.
+		<br /><br />
+
+		[page:constant RGB8] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
+    <br /><br />
+
+		[page:constant RGB8_SNORM] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
+		Ogni componente viene archiviato come normalizzato.
+		<br /><br />
+
+		[page:constant RGB8I] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGB8UI] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGB16I] memorizza i componenti rosso, verde e blu su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGB16UI] memorizza i componenti rosso, verde e blu su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGB16F] memorizza i componenti rosso, verde e blu su 16 bit ciascuno.
+		Ogni componente viene archiviato come un floating point
+		<br /><br />
+
+		[page:constant RGB32I] memorizza i componenti rosso, verde e blu su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGB32UI] memorizza i componenti rosso, verde e blu su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGB32F] memorizza i componenti rosso, verde e blu su 32 bit ciascuno.
+		Ogni componente viene archiviato come un floating point
+		<br /><br />
+
+		[page:constant R11F_G11F_B10F] memorizza i componenti rosso, verde e blu rispettivamente 11 bit, 11 bit, e 10bit.
+		Ogni componente viene archiviato come un floating point.
+		<br /><br />
+
+		[page:constant RGB565] memorizza i componenti rosso, verde e blu rispettivamente su 5 bit, 6 bit, e 5 bit.<br /><br />
+
+		[page:constant RGB9_E5] memorizza i componenti rosso, verde e blu su 9 bit ciascuno.<br /><br />
+
+		[page:constant RGBA8] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.<br /><br />
+
+		[page:constant RGBA8_SNORM] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.
+		Ogni componente viene archiviato come normalizzato.
+		<br /><br />
+
+		[page:constant RGBA8I] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGBA8UI] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGBA16I] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGBA16UI] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGBA16F] memorizza i componenti rosso, verde, blu e alfa su 16 bit ciascuno.
+		Ogni componente viene archiviato come un floating point.
+		<br /><br />
+
+		[page:constant RGBA32I] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero.
+		<br /><br />
+
+		[page:constant RGBA32UI] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant RGBA32F] memorizza i componenti rosso, verde, blu e alfa su 32 bit ciascuno.
+		Ogni componente viene archiviato come un floating point.
+		<br /><br />
+
+		[page:constant RGB5_A1] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 5 bit, 5 bit, 5 bit e 1 bit.<br /><br />
+
+		[page:constant RGB10_A2] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 10 bit, 10 bit, 10 bit e 2 bit.<br /><br />
+
+		[page:constant RGB10_A2UI] memorizza i componenti rosso, verde, blu e alfa rispettivamente su 10 bit, 10 bit, 10 bit e 2 bit.
+		Ogni componente viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant SRGB8] memorizza i componenti rosso, verde e blu su 8 bit ciascuno.<br /><br />
+
+		[page:constant SRGB8_ALPHA8] memorizza i componenti rosso, verde, blu e alfa su 8 bit ciascuno.<br /><br />
+
+		[page:constant DEPTH_COMPONENT16] memorizza il componente depth su 16 bit.<br /><br />
+
+		[page:constant DEPTH_COMPONENT24] memorizza il componente depth su 24 bit.<br /><br />
+
+		[page:constant DEPTH_COMPONENT32F] memorizza il componente depth su 32 bit. Il componente viene archiviato come un floating point.<br /><br />
+
+		[page:constant DEPTH24_STENCIL8] memorizza i componenti depth e stencil rispettivamente su 24 bit e 8 bit.
+    Il componente stencil viene archiviato come un intero senza segno.
+		<br /><br />
+
+		[page:constant DEPTH32F_STENCIL8] memorizza i componenti depth e stencil rispettivamente su 32 bit e 8 bit.
+		Il componente depth viene archiviato come un floating point, il componente stencil viene archiviato come un intero senza segno.
+		<br /><br />
+
+    Si noti che la texture deve avere impostato il corretto [page:Texture.type tipo],
+    come anche il [page:Texture.format formato] corretto.
+
+		Vedi [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D], e
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texImage3D WebGL2RenderingContext.texImage3D],
+		per maggiori informazioni relativamente alle possibili combinazioni del [page:Texture.format formato], dell'[page:Texture.internalFormat internalFormat],
+		e del [page:Texture.type tipo].<br /><br />
+
+    Per informazioni più approfondite sui formati interni, puoi anche fare riferimento direttamente alla 
+    [link:https://www.khronos.org/registry/webgl/specs/latest/2.0/ Specifica WebGL2] e alla 
+    [link:https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf Specifica OpenGL ES 3.0].
+		</p>
+
+		<h2>Encoding</h2>
+		<code>
+		THREE.LinearEncoding
+		THREE.sRGBEncoding
+		THREE.BasicDepthPacking
+		THREE.RGBADepthPacking
+		</code>
+		<p>
+      Da usare con la proprietà [page:Texture.encoding encoding] della Texture.<br /><br />
+
+      Se il tipo di encoding viene modificato dopo che la texture è già stata utilizzata dal materiale,
+      sarà necessario impostare il valore [page:Material.needsUpdate Material.needsUpdate] a `true` per fare in modo
+      che il materiale venga ricompilato.<br /><br />
+      
+      [page:constant LinearEncoding] è l'impostazione predefinita.
+      Valori diversi da questo sono validi solo per la mappa di un materiale, envMap ed emissiveMap.
+		</p> 
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 224 - 0
docs/api/it/core/BufferAttribute.html

@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe memorizza i dati per un attributo (come le posizioni dei vertici, gli indici delle facce, le normali,
+      i colori, le coordinate UV e alcuni attributi personalizzati) associato ad una [page:BufferGeometry],
+      che consente un passaggio più efficiente dei dati alla GPU. Consulta questa pagina per i dettagli ed un esempo di
+      utilizzo. Quando si lavora con dati di tipo vettoriale, i metodi helper <i>.fromBufferAttribute( attribute, index )</i>
+      sulle classi [page:Vector2.fromBufferAttribute Vector2],
+      [page:Vector3.fromBufferAttribute Vector3],
+      [page:Vector4.fromBufferAttribute Vector4] e [page:Color.fromBufferAttribute Color] possono essere utili.
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
+		<p>
+		  [page:TypedArray array] -- Deve essere un [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/TypedArray TypedArray].
+		  Utilizzato per istanziare il buffer. <br />
+      Questo array dovrebbe avere gli elementi <code>itemSize * numVertices</code>
+      dove numVertices è il numero di vertici della [page:BufferGeometry BufferGeometry] associata.<br /><br />
+
+      [page:Integer itemSize] -- il numero di valori dell'array che deve essere associato ad un particolare vertice.
+      Per esempio, se questo atttibuto memorizza un vettore a 3 componenti (come posizione, normale o colore), 
+      itemSize dovrebbe essere 3.<br /><br />
+
+      [page:Boolean normalized] -- (opzionale) Si applica solo ai dati interi. Indica il modo in cui i dati sottostanti 
+      del buffer si adattano ai valori del codice GLSL. Ad esempio, se l'[page:TypedArray array] è un'istanza di UInt16Array,
+      e [page:Boolean normalized] è a true, i valori `0 - +65535` nei dati dell'array saranno mappati su 0.0f - +1.0f nell'attributo GLSL.
+      Un Int16Array (con segno) sarà mappato da -32768 - +32767 a -1.0f - +1.0f. Se [page:Boolean normalized] è a false, i valori 
+      verranno convertiti in float non modificati, p.e. 32767 diventa 32767.0f.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:TypedArray array]</h3>
+		<p>
+      L'[page:TypedArray array] contente i dati memorizzati nel buffer.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+      Memorizza la lunghezza dell'[page:BufferAttribute.array array] divisa per [page:BufferAttribute.itemSize itemSize].<br /><br />
+
+      Se il buffer memorizza un vettore a 3 componenti (come una posizione, una normale o un colore),
+      questo conterà il numero dei vettori memorizzati.
+		</p>
+
+		<h3>[property:Boolean isBufferAttribute]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+      La lunghezza dei vettori che vengono memorizzati nell'[page:BufferAttribute.array array].
+    </p>
+
+		<h3>[property:String name]</h3>
+		<p>
+      Un nome opzionale per questa istanza dell'attributo. Il valore predefinito è una stringa vuota.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+      Flag che indica che questo attributo è stato modificato e deve essere rinviato alla GPU.
+      Impostalo a true quando modifichi il valore dell'array.<br /><br />
+
+      Impostando questa proprietà a true incrementa, inoltre, la [page:BufferAttribute.version versione].
+		</p>
+
+		<h3>[property:Boolean normalized]</h3>
+		<p>
+      Indica il modo in cui i dati sottostanti del buffer si adattano ai valori del codice shader GLSL.
+      Vedi il costruttore sopra per i dettagli.
+		</p>
+
+		<h3>[property:Function onUploadCallback]</h3>
+		<p>
+      Una funzione di callback che viene eseguita dopo che il Renderer ha trasferito i dati dell'array dell'attributo
+      alla GPU. 
+		</p>
+
+		<h3>[property:Object updateRange]</h3>
+		<p>Oggetto contenente:<br />
+			[page:Integer offset]: Il valore predefinito è `0`. Posizione da cui inizia l'aggiornamento.<br />
+			[page:Integer count]: Il valore predefinito è `-1`, il che significa non utilizzare intervalli di aggiornamento. <br /><br />
+
+      Può essere utilizzato solo per aggiornare alcuni componenti dei vettori memorizzati (per esempio, solo
+      il componente relativo al colore).
+		</p>
+
+		<h3>[property:Usage usage]</h3>
+		<p>
+      Definisce il modello di utilizzo previsto per l'archivio dati a fini di ottimizzazione. Corrisponde al paramentro `usage`
+      di [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().
+      Il valore predefinito è [page:BufferAttributeUsage StaticDrawUsage]. Vedi le [page:BufferAttributeUsage costanti] di utilizzo 
+      per tutti i valori possibili. <br /><br />
+
+      Nota: Dopo l'utilizzo iniziale di un buffer, il suo utilizzo non può essere modificato. Invece, istanziane uno nuovo e imposta
+      l'utilizzo desiderato prima del rendering successivo.
+		</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+      Un numero di versione, incrementato ogni volta che la proprietà [page:BufferAttribute.needsUpdate needsUpdate] viene impostata a true.
+    </p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>
+      Applica la matrice [page:Matrix3 m] ad ogni elemento Vector3 di questo BufferAttribute.
+    </p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>
+      Applica la matrice [page:Matrix4 m] ad ogni elemento Vector3 di questo BufferAttribute.  
+    </p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>
+      Applica la matrice normale [page:Matrix3 m] ad ogni elemento Vector3 di questo BufferAttribute.
+    </p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>
+      Applica la matrice [page:Matrix4 m] ad ogni elemento Vector3 di questo BufferAttribute, interpretando gli elementi come vettori direzionali.
+    </p>
+
+		<h3>[method:BufferAttribute clone]() </h3>
+		<p>Restituisce una copia di questo bufferAttribute.</p>
+
+		<h3>[method:this copy]( [param:BufferAttribute bufferAttribute] )</h3>
+		<p>Copia un altro BufferAttribute in questo BufferAttribute.</p>
+
+		<h3>[method:this copyArray]( array ) </h3>
+		<p>
+      Copia l'array fornito qui (il quale può essere un normale array o un array tipizzato)
+      nell'[page:BufferAttribute.array array].<br /><br />
+
+      Vedi [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]
+      per le note sui requisiti se si copia un TypedArray.
+		</p>
+
+		<h3>[method:this copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
+		<p>Copia un vettore da bufferAttribute[index2] a [page:BufferAttribute.array array][index1].</p>
+
+		<h3>[method:Number getX]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente x del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getY]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente y del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente z del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getW]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente w del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this onUpload]( [param:Function callback] ) </h3>
+		<p>
+      Imposta il valore della proprietà onUploadCallback.<br /><br />
+      Nel [example:webgl_buffergeometry WebGL / Buffergeometry] questo metodo viene utilizzato per 
+      liberare memoria dopo che il buffer è stato trasferito alla GPU.
+		</p>
+
+		<h3>[method:this set] ( [param:Array value], [param:Integer offset] ) </h3>
+		<p>
+		  value -- un [page:Array] o [page:TypedArray] dal quale copiare i valori. <br />
+		  offset -- (opzionale) indice dell'[page:BufferAttribute.array array] da cui iniziare la copia.<br /><br />
+
+      Chiama [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]( [page:Array value], [page:Integer offset] )
+      sull'[page:BufferAttribute.array array].<br /><br />
+
+      In particolare, si veda questa pagina per i requisiti sul [page:Array value]
+      che deve essere un [page:TypedArray].
+		</p>
+
+		<h3>[method:this setUsage] ( [param:Usage value] ) </h3>
+		<p>
+      Imposta [page:BufferAttribute.usage usage] a value. Vedi le [page:BufferAttributeUsage costanti] di utilizzo per tutti i possibili valori di input.<br /><br />
+
+      Nota: Dopo l'utilizzo iniziale di un buffer, il suo utilizzo non può cambiare. Invece, istanziane uno nuovo e 
+      imposta l'utilizzo desiderato prima del rendering successivo.
+		</p>
+
+		<h3>[method:this setX]( [param:Integer index], [param:Float x] ) </h3>
+		<p>Imposta il componente x del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setY]( [param:Integer index], [param:Float y] ) </h3>
+		<p>Imposta il componente y del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setZ]( [param:Integer index], [param:Float z] ) </h3>
+		<p>Imposta il componente z del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setW]( [param:Integer index], [param:Float w] ) </h3>
+		<p>Imposta il componente w del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
+		<p>Imposta i componenti x e y del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
+		<p>Imposta i componenti x, y e z del vettore in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
+		<p>Imposta i componenti x, y, z e w del vettore in corrispondenza dell'indice specificato.</p>
+
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 319 - 0
docs/api/it/core/BufferGeometry.html

@@ -0,0 +1,319 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p>
+      Una rappresentazione della geometria di mesh, di linee o di punti. Include posizioni di vertici, indici della faccia,
+      normali, colori, coordinate UV, e attributi personalizzati all'interno dei buffer, riducendo il costo del passaggio
+      di tutti questi dati alla GPU.
+		</p>
+		<p>
+      Per leggere e modificare dati negli attributi della BufferGeometry, vedi la documentazione di [page:BufferAttribute].
+		</p>
+
+		<h2>Codice di Esempio</h2>
+		<code>
+		const geometry = new THREE.BufferGeometry();
+		// crea una semplice figura quadrata. Duplichiamo i vertici top left e bottom right
+		// perché ogni vertice ha bisogno di apparire una volta per triangolo.
+		const vertices = new Float32Array( [
+			-1.0, -1.0,  1.0,
+			 1.0, -1.0,  1.0,
+			 1.0,  1.0,  1.0,
+
+			 1.0,  1.0,  1.0,
+			-1.0,  1.0,  1.0,
+			-1.0, -1.0,  1.0
+		] );
+
+		// itemSize = 3 perché ci osno 3 valori (componenti) per vertice
+		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+		const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		</code>
+
+		<h2>Esempi</h2>
+		<p>
+			[example:webgl_buffergeometry Mesh with non-indexed faces]<br />
+			[example:webgl_buffergeometry_indexed Mesh with indexed faces]<br />
+			[example:webgl_buffergeometry_lines Lines]<br />
+			[example:webgl_buffergeometry_lines_indexed Indexed Lines]<br />
+			[example:webgl_buffergeometry_custom_attributes_particles Particles]<br />
+			[example:webgl_buffergeometry_rawshader Raw Shaders]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<div>
+      Crea un nuovo [name]. Inoltre imposta alcune proprietà al valore predefinito.
+		</div>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Object attributes]</h3>
+		<p>
+      Questo hashmap ha come id il nome dell'attributo da impostare e come valore il [page:BufferAttribute buffer] su cui impostarlo.
+      Piuttosto che accedere a questa proprietà direttamente, usa [page:.setAttribute] e [page:.getAttribute] per accedere agli attributi
+      della geometria.
+		</p>
+
+		<h3>[property:Box3 boundingBox]</h3>
+		<p>
+      Bounding box per la bufferGeometry, che può essere calcolato con 
+      [page:.computeBoundingBox](). Il valore predefinito è `null`.
+		</p>
+
+		<h3>[property:Sphere boundingSphere]</h3>
+		<p>
+      Bounding sphere per la bufferGeometry, che può essere calcolato con 
+      [page:.computeBoundingSphere](). Il valore predefinito è `null`.
+		</p>
+
+		<h3>[property:Object drawRange]</h3>
+		<p>
+      Determina la parte della geometria da visualizzare. Non dovrebbe essere impostato
+      direttamente, usa invece [page:.setDrawRange]. Il valore predefinito è
+			<code>
+				{ start: 0, count: Infinity }
+			</code>
+      Per la BufferGeometry non indicizzata, count è il numero di vertici da visualizzare.
+      Per la BufferGeometry indicizzata, count è il numero di indici da visualizzare.
+		</p>
+
+		<h3>[property:Array groups]</h3>
+		<p>
+      Divide la geometria in gruppi, ognuno dei quali verrà renderizzato in una chimata draw WebGL separata.
+      Ci permette che un array di materiali venga usato con una geometria.<br /><br />
+
+      Ogni gruppo è un oggetto della forma:
+      <code>{ start: Integer, count: Integer, materialIndex: Integer }</code>
+      dove start specifica il primo elemento nella chiamata draw - il primo vertice per la geometria non
+      indicizzata, altrimenti il primo indice del triangolo. Count specifica quanti vertici (o indici) sono
+      inclusi, e materialIndex specifica l'indice dell'array del materiale da utilizzare.<br /><br />
+
+      Usa [page:.addGroup] per aggiungere gruppi, piuttosto che modificare questo array direttamente.<br /><br />
+
+      Ogni vertice e indice deve appartenere esattamente ad un gruppo - i gruppi non devono condividere vertici o
+      indici, e non devono lasciare vertici o indici inutilizzati.
+		</p>
+
+
+		<!-- Note: groups used to be called drawCalls
+
+		<h3>[property:Array drawcalls]</h3>
+		<p>
+		For geometries that use indexed triangles, this Array can be used to split the object
+		into multiple WebGL draw calls. Each draw call will draw some subset of the vertices
+		in this geometry using the configured [page:Material shader]. This may be necessary if,
+		for instance, you have more than 65535 vertices in your object.
+		</p> -->
+
+
+		<h3>[property:Integer id]</h3>
+		<p>Numero univoco per questa istanza della bufferGeometry.</p>
+
+		<h3>[property:BufferAttribute index]</h3>
+		<p>
+      Consente di riutilizzare i vertici su più triangoli; viene chiamato "indexed triangles".
+      Ogni triangolo è associato con gli indici di tre vertici. Questo attributo quindi memorizza 
+      l'indice di ogni vertice per ogni faccia del triangolo.
+
+      Se questo attributo non è impostato, il [page:WebGLRenderer renderer] assume che ogni 3 posizioni contigue
+      rappresentano un singolo triangolo.
+
+      Il valore predefinito è `null`.
+		</p>
+
+		<h3>[property:Boolean isBufferGeometry]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Object morphAttributes]</h3>
+		<p>
+      Hashmap di BufferAttribute contenente i dettagli dei target morph delle geometrie.<br />
+      Nota: Una volta che la geometria è stata renderizzata, i dati dell'attributo morph non possono essere modificati.
+      Dovrai chiamare [page:.dispose](), e creare una nuova istanza della [name].
+		</p>
+
+		<h3>[property:Boolean morphTargetsRelative]</h3>
+		<p>
+      Usato per controllare il comportamento del target morph: quando è impostato a true, i dati del target morph vengono
+      trattati come offset relativi, anziché come posizioni/normali assoluti. 
+      
+      L'impostazione predefinita è `false`.
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+      Nome opzionale per questa istanza di bufferGeometry. Il valore predefinito è una stringa vuota.
+		</p>
+
+		<h3>[property:Object userData]</h3>
+		<p>
+      Un oggetto che può essere utilizzato per memorizzare i dati relativi alla BufferGeometry.
+      Non dovrebbe contenere i riferimenti alle funzioni poiché queste non verranno clonate. 
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questa istanza.
+    Viene assegnato automaticamente e non deve essere modificato.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<p>[page:EventDispatcher EventDispatcher] i metodi sono disponibili in questa classe.</p>
+
+		<h3>[method:undefined addGroup]( [param:Integer start], [param:Integer count], [param:Integer materialIndex] )</h3>
+		<p>
+      Aggiunge un gruppo a questa geometria; vedi la proprietà [page:BufferGeometry.groups groups]
+      per maggiori dettagli.
+		</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>Applica la matrice di trasformazione alla geometria.</p>
+
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>Applica la rotazione rappresentata dal quaternione alla geometria.</p>
+
+		<h3>[method:this center] ()</h3>
+		<p>Centra la geometria basandosi sul bounding box.</p>
+
+		<h3>[method:undefined clearGroups]( )</h3>
+		<p>Cancella tutti i gruppi.</p>
+
+		<h3>[method:BufferGeometry clone]()</h3>
+		<p>Crea un clone di questa BufferGeometry.</p>
+
+		<h3>[method:undefined computeBoundingBox]()</h3>
+		<p>
+      Calcola il bounding box della geometria, aggiornando l'attributo [page:.boundingBox]. <br />
+      I Bounding box non sono calcolati per impostazione predefinita. Devono essere calcolati esplicitamente,
+      altrimenti sono `null`.
+		</p>
+
+		<h3>[method:undefined computeBoundingSphere]()</h3>
+		<p>
+      Calcola il bounding sphere della geometria, aggiornando l'attributo [page:.boundingSphere]. <br />
+      I Bounding sphere non sono calcolati per impostazione predefinita. Devono essere calcolati esplicitamente,
+      altrimenti sono `null`.
+		</p>
+
+		<h3>[method:undefined computeTangents]()</h3>
+		<p>
+      Calcola e aggiunge un attributo tangent a questa geometria.<br />
+      Il calcolo è supportato solo per geometrie indicizzate e se la posizione, la normale e gli attributi uv sono definiti.
+      Quando si usa una mappa normale dello spazio tangente, meglio usare l'algoritmo MikkTSpace fornito da [page:BufferGeometryUtils.computeMikkTSpaceTangents].
+		</p>
+
+		<h3>[method:undefined computeVertexNormals]()</h3>
+		<p>Calcola la normale dei vertici calcolando la media delle normali delle facce.</p>
+
+		<h3>[method:this copy]( [param:BufferGeometry bufferGeometry] )</h3>
+		<p>Copia un'altra BufferGeometry in questa BufferGeometry.</p>
+
+		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
+		<p>Cancella l'[page:BufferAttribute attributo] con il nome specificato.</p>
+
+		<h3>[method:undefined dispose]()</h3>
+		<p>
+      Elimina l'oggetto dalla memoria.<br />
+      È necessario chiamarlo quando si desidera rimuovere BufferGeometry mentre l'applicazione è in esecuzione.
+		</p>
+
+		<h3>[method:BufferAttribute getAttribute]( [param:String name] )</h3>
+		<p>Restituisce l'[page:BufferAttribute attributo] con il nome specificato.</p>
+
+		<h3>[method:BufferAttribute getIndex] ()</h3>
+		<p>Restituisce il buffer di [page:.index].</p>
+
+		<h3>[method:Boolean hasAttribute]( [param:String name] )</h3>
+		<p>Restituisce `true` se l'attributo con il nome specificato esiste.</p>
+
+		<h3>[method:this lookAt] ( [param:Vector3 vector] )</h3>
+		<p>
+      vector - Un vettore world da guardare.<br /><br />
+
+      Ruota la geometria in modo che sia rivolta verso un punto dello spazio. In genere, questa operazione viene 
+      eseguita una sola volta e non durante un ciclo. 
+      Usare [page:Object3D.lookAt] per l'uso tipico della mesh in tempo reale.
+		</p>
+
+		<h3>[method:undefined normalizeNormals]()</h3>
+		<p>
+      Ogni vettore normale, in una geometria, deve avere magnitudine 1.
+      Ciò correggerà l'illuminazione sulle superfici geometriche.
+		</p>
+
+		<h3>[method:this rotateX] ( [param:Float radians] )</h3>
+		<p>
+      Ruota la geometria attorno all'asse X. In genere, questa operazione viene eseguita una sola volta e non durante un ciclo. 
+      Usare [page:Object3D.rotation] per la tipica rotazione della mesh in tempo reale.
+		</p>
+
+		<h3>[method:this rotateY] ( [param:Float radians] )</h3>
+		<p>
+      Ruota la geometria attorno all'asse Y. In genere, questa operazione viene eseguita una sola volta e non durante un ciclo.
+      Usare [page:Object3D.rotation] per la tipica rotazione della mesh in tempo reale.
+		</p>
+
+		<h3>[method:this rotateZ] ( [param:Float radians] )</h3>
+		<p>
+      Ruota la geometria attorno all'asse Z. In genere, questa operazione viene eseguita una sola volta e non durante un ciclo.
+      Usare [page:Object3D.rotation] per la tipica rotazione della mesh in tempo reale.
+		</p>
+
+		<h3>[method:this scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+      Scala i dati della geometria. In genere, questa operazione viene eseguita una sola volta e non durante un ciclo.
+      Usare [page:Object3D.scale] per il tipico ridimensionamento della mesh in tempo reale.
+		</p>
+
+		<h3>[method:this setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
+		<p>
+      Imposta un attributo per questa geometria. Utilizzare questo metodo piuttosto che la proprietà attributes,
+      perché viene mantenuta una hashmap interna di .attributes per accelerare l'iterazione sugli attributi. 
+		</p>
+
+		<h3>[method:undefined setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
+		<p>
+      Imposta la proprietà [page:.drawRange]. Per BufferGeometry non indicizzate, count è il numero di vertici da visualizzare.
+      Per BufferGeometry indicizzate, count è il numero di indici da visualizzare.
+    </p>
+
+		<h3>[method:this setFromPoints] ( [param:Array points] )</h3>
+		<p>Imposta gli attributi per questa BufferGeometry da un array di punti.</p>
+
+		<h3>[method:this setIndex] ( [param:BufferAttribute index] )</h3>
+		<p>Imposta il buffer [page:.index].</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>Converte la buffer geometry al formato three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene].</p>
+
+		<h3>[method:BufferGeometry toNonIndexed]()</h3>
+		<p>Restituisce una versione non indicizzata di una BufferGeometry indicizzata.</p>
+
+		<h3>[method:this translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+      Trasla la geometria. In genere, questa operazione viene eseguita una sola volta e non durante un ciclo.
+      Usare [page:Object3D.position] per la tipica traslazione della mesh in tempo reale.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/core/Clock.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Oggetto per tenere traccia del tempo. Questa classe utilizza [link:https://developer.mozilla.org/en-US/docs/Web/API/Performance/now performance.now]
+      se disponibile, altrimenti utilizza il meno accurato [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now Date.now].
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Boolean autoStart] )</h3>
+		<p>
+		  autoStart — (opzionale) indica se avviare automaticamente l'orologio quando .getDelta() viene chiamato per la prima volta. L'impostazione predefinita è `true`.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean autoStart]</h3>
+		<p>
+      Se impostato, avvia l'orologio automaticamente quando [page:.getDelta]() viene chiamato per la prima volta. Il valore predefinito è `true`.
+		</p>
+
+		<h3>[property:Float startTime]</h3>
+		<p>
+      Contiene il tempo al quale è stato chiamato l'ultima volta il metodo [page:Clock.start start] dell'orologio. Il valore predefinito è `0`.
+ 		</p>
+
+		<h3>[property:Float oldTime]</h3>
+		<p>
+      Contiene il tempo in cui i metodi [page:Clock.start start], [page:.getElapsedTime]() o [page:.getDelta]() dell'orologio sono stati chiamati per l'ultima volta.
+      Il valore predefinito è `0`.
+ 		</p>
+
+		<h3>[property:Float elapsedTime]</h3>
+		<p>
+      Tiene traccia del tempo totale di esecuzione dell'orologio. Il valore predefinito è `0`.
+ 		</p>
+
+		<h3>[property:Boolean running]</h3>
+		<p>
+      Indica se l'orologio è in esecuzione o meno. Il valore predefinito è `false`.
+ 		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined start]()</h3>
+		<p>
+      Avvia l'orologio. Inoltre imposta [page:.startTime] e [page:.oldTime] sull'ora corrente, imposta [page:.elapsedTime] a `0` e [page:.running] a `true`.
+		</p>
+
+		<h3>[method:undefined stop]()</h3>
+		<p>
+      Ferma l'orologio e imposta [page:Clock.oldTime oldTime] sull'ora corrente.
+		</p>
+
+		<h3>[method:Float getElapsedTime]()</h3>
+		<p>
+      Ottiene i secondi trascorsi da quando l'orologio è stato avviato e imposta [page:.oldTime] sull'ora corrente.<br />
+      Se [page:.autoStart] è `true` e l'orologio non è in esecuzione, avvia anche l'orologio.
+		</p>
+
+		<h3>[method:Float getDelta]()</h3>
+		<p>
+      Ottiene i secondi trascorsi dall'ora in cui è stato impostato [page:.oldTime] e imposta [page:.oldTime] sull'ora corrente.<br />
+      Se [page:.autoStart] è `true` e l'orologio non è in esecuzione, avvia anche l'orologio.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 97 - 0
docs/api/it/core/EventDispatcher.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Eventi JavaScript per oggetti personalizzati.<br />
+			[link:https://github.com/mrdoob/eventdispatcher.js EventDispatcher on GitHub]
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// Aggiungere eventi ad un oggetto custom
+
+		class Car extends EventDispatcher {
+
+			start() {
+
+				this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
+
+			}
+
+		};
+
+		// Usare gli eventi con l'oggetto custom
+
+		const car = new Car();
+
+		car.addEventListener( 'start', function ( event ) {
+
+			alert( event.message );
+
+		} );
+
+		car.start();
+		</code>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]()</h3>
+		<p>
+      Crea un oggetto EventDispatcher.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined addEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		  type - Il tipo di evento da ascoltare.<br />
+		  listener - La funzione che viene chiamata quando viene generato l'evento.
+		</p>
+		<p>
+      Aggiunge un listener ad un tipo di evento.
+		</p>
+
+		<h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		  type - Il tipo di evento da ascoltare.<br />
+		  listener - La funzione che viene chiamata quando viene generato l'evento.
+		</p>
+		<p>
+      Verifica se il listener è aggiunto ad un tipo di evento.
+		</p>
+
+		<h3>[method:undefined removeEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		  type - Il tipo di listener che viene rimosso.<br />
+		  listener - La funzione listener che viene rimossa.
+		</p>
+		<p>
+      Rimuove un listener da un tipo di evento.
+		</p>
+
+		<h3>[method:undefined dispatchEvent]( [param:Object event] )</h3>
+		<p>
+		  event - L'evento che viene lanciato.
+		</p>
+		<p>
+      Lancia un tipo di evento.
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 115 - 0
docs/api/it/core/GLBufferAttribute.html

@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe di attributi del buffer non costruisce un VBO. Invece, 
+      utilizza qualsiasi VBO che gli viene passato nel costruttore e può essere
+      successivamente alterato tramite la proprietà `buffer`.<br /><br />
+      È necessario passare parametri aggiuntivi insieme a VBO. I quali sono:
+      il contesto GL, il tipo di dati GL, il numero di componenti per vertice,
+      il numero di byte per componente, e il numero di vertici. <br /><br />
+      Il caso d'uso più comune per questa classe è quando un qualche tipo di 
+      calcolo GPGPU interferisce o addirittura produce i VBO in questione.
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
+		<p>
+		`buffer` — Deve essere un <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+		<br />
+		`type` — Uno dei <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">Tipi di dati WebGL</a>.
+		<br />
+		`itemSize` — Il numero dei valori dell'array che devono essere associati con un particolare vertice. Ad esempio, 
+    se questo attributo memorizza un vettore a 3 componenti (come una posizione, una normale, un colore), allora itemSize dovrebbe essere 3.
+		<br />
+		`elementSize` — 1, 2 o 4. La dimensione corrispondente (in byte) per il parametro "type" passato.
+		<ul>
+			<li>gl.FLOAT: 4</li>
+			<li>gl.UNSIGNED_SHORT: 2</li>
+			<li>gl.SHORT: 2</li>
+			<li>gl.UNSIGNED_INT: 4</li>
+			<li>gl.INT: 4</li>
+			<li>gl.BYTE: 1</li>
+			<li>gl.UNSIGNED_BYTE: 1</li>
+		</ul>
+		`count` — Il numero previsto di vertici in VBO.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:WebGLBuffer buffer]</h3>
+		<p>
+			L'istanza corrente di <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+      Il numero previsto di vertici in VBO.
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+      Quanti valori compongono ogni elemento (vertice).
+		</p>
+
+		<h3>[property:Integer elementSize]</h3>
+		<p>
+      Memorizza la dimensione corrispondente in byte per il valore della proprietà del `type` corrente.
+		</p>
+		<p>
+      Vedi sopra (costruttore) per un elenco di dimensioni di type conosciute.
+		</p>
+
+		<h3>[property:GLenum type]</h3>
+		<p>
+      Un <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a> 
+      che descrive i contenuti VBO.
+		</p>
+		<p>
+      Imposta questa proprietà insieme a `elementSize`. Il modo consigliato è 
+      di usare il metodo `setType`.
+		</p>
+
+		<h3>[property:Boolean isGLBufferAttribute]</h3>
+		<p>
+      Solo lettura. Sempre `true`.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this setBuffer]( buffer ) </h3>
+		<p>Imposta la proprietà `buffer`.</p>
+
+		<h3>[method:this setType]( type, elementSize ) </h3>
+		<p>Imposta entrambe le proprietà `type` e `elementSize`.</p>
+
+		<h3>[method:this setItemSize]( itemSize ) </h3>
+		<p>Imposta la proprietà `itemSize`.</p>
+
+		<h3>[method:this setCount]( count ) </h3>
+		<p>Imposta la proprietà `count`.</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+      Un numero di versione, incrementato ogni volta che la proprietà needsUpdate è impostata a true.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+      Il valore predefinito è `false`. Impostando questo metodo a true incrementa la [page:GLBufferAttribute.version versione].
+		</p>
+
+		<h2>Source</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 43 - 0
docs/api/it/core/InstancedBufferAttribute.html

@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:BufferAttribute] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		  Una versione istanziata di [page:BufferAttribute].
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized], [param:Number meshPerAttribute] )</h3>
+		<p>
+		</p>
+
+		<h2>Proprietà</h2>
+		<p>Vedi [page:BufferAttribute] per le prorietà ereditate.</p>
+
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>
+      Definisce la frequenza con cui un valore di questo attributo del buffer deve essere ripetuto.
+      Un valore di uno significa che ogni valore dell'attributo istanziato è usato per una singola istanza.
+      Un valore di due significa che ogni valore è utilizzato per due istanze consecutive (e così via).
+      Il valore predefinito è `1`.
+		</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi [page:BufferAttribute] per i metodi ereditati.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 48 - 0
docs/api/it/core/InstancedBufferGeometry.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una versione istanziata di [page:BufferGeometry].
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( )</h3>
+		<p>
+		</p>
+
+		<h2>Properties</h2>
+		<p>Vedi [page:BufferGeometry] per le prorietà ereditate.</p>
+
+		<h3>[property:Number instanceCount]</h3>
+		<p>
+      Il valore predefinito è `Infinity`.
+		</p>
+
+		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi [page:BufferGeometry] per i metodi ereditati.</p>
+
+		<h3>[method:this copy]( [param:InstancedBufferGeometry source] )</h3>
+		<p>Copia l'oggetto [name] specificato in questa istanza.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 44 - 0
docs/api/it/core/InstancedInterleavedBuffer.html

@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:InterleavedBuffer] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una versione istanziata di [page:InterleavedBuffer].
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Number meshPerAttribute] )</h3>
+		<p>
+		</p>
+
+		<h2>Proprietà</h2>
+		<p>
+      Vedi [page:InterleavedBuffer] per le prorietà ereditate.
+		</p>
+
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>
+      Il valore predefinito è `1`.
+		</p>
+
+		<h2>Metodi</h2>
+		<p>
+      Vedi [page:InterleavedBuffer] per i metodi ereditati.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 116 - 0
docs/api/it/core/InterleavedBuffer.html

@@ -0,0 +1,116 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			"Interleaved" significa che più attributi, possibilmente di tipo differente, (ad esempio, posizione, normale, uv, colore) 
+      sono impacchettati in un unico array buffer.
+			<br/><br/>
+      Qui trovi un'introduzione agli array interleaved: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]
+		</p>
+
+		<h2>Esempi</h2>
+
+		<p>[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer stride] )</h3>
+		<p>
+			[page:TypedArray array] -- Un array tipizzato con un buffer condiviso. Memorizza i dati della geometria.<br/>
+			[page:Integer stride] -- Il numero di elementi typed-array per vertice.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array array]</h3>
+		<p>
+      Un array tipizzato con un buffer condiviso. Memorizza i dati della geometria.
+		</p>
+
+		<h3>[property:Integer stride]</h3>
+		<p>
+      Il numero di elementi typed-array per vertice.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+      Fornisce il numero totale di elementi in un array.
+		</p>
+
+		<h3>[property:Object updateRange]</h3>
+		<p>
+      Oggetto contente offset e count.<br />
+		  - [page:Number offset]: Il valore predefinito è `0`.<br />
+		  - [page:Number count]: Il valore predefinito è `-1`.<br />
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questa istanza. Viene automaticamente assegnato, non deve essere modificato.
+		</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+      Un numero di versione, incrementato ogni volta che la proprietà needsUpdate è impostata a true.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+      Il valore predefinito è `false`.Impostando questo valore a true incrementa la [page:InterleavedBuffer.version versione].
+		</p>
+
+		<h3>[property:Usage usage]</h3>
+		<p>
+      Definisce il modello di utilizzo previsto dell'archivio dati a fini di ottimizzazione. Corrisponde al parametro di utilizzo di
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]().
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this copy]( [param:InterleavedBuffer source] ) </h3>
+		<p>
+      Copia un altro [name] in questo [name].
+		</p>
+
+		<h3>[method:this copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] ) </h3>
+		<p> Copia i dati da `attribute[index2]` a [page:InterleavedBuffer.array array][index1].</p>
+
+		<h3>[method:this set]( [param:TypedArray value], [param:Integer offset] ) </h3>
+		<p>
+			value - L'array (tipizzato) di origine.<br/>
+			offset - L'offset nell'array di destinazione in corrrispondenza del quale iniziare a scrivere i valori dall'array di origine. L'impostazione predefinita è `0`.<br/><br />
+
+      Memorizza più valori nel buffer, leggendo valori di input dall'array specificato.
+		</p>
+
+		<h3>[method:InterleavedBuffer clone]( [param:Object data] ) </h3>
+		<p>
+			data - Questo oggetto contiene buffer di array condivisi necessari per clonare correttamente le geometrie con attributi interleaved.<br/><br />
+
+      Crea un clone di questo [name].
+		</p>
+
+		<h3>[method:this setUsage] ( [param:Usage value] ) </h3>
+		<p>Imposta [page:InterleavedBuffer.usage usage] a value.</p>
+
+		<h3>[method:Object toJSON]( [param:Object data] ) </h3>
+		<p>
+			data - Questo oggetto contiene buffer di array condivisi necessari per serializzare correttamente le geometrie con attributi interleaved.<br/><br />
+
+      Serializza questo [name].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 125 - 0
docs/api/it/core/InterleavedBufferAttribute.html

@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:InterleavedBuffer interleavedBuffer], [param:Integer itemSize], [param:Integer offset], [param:Boolean normalized] )</h3>
+		<p>
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:InterleavedBuffer data]</h3>
+		<p>
+			L'istanza [page:InterleavedBuffer InterleavedBuffer] passata nel costruttore.
+		</p>
+
+		<h3>[property:TypedArray array]</h3>
+		<p>
+      Il valore di [page:InterleavedBufferAttribute.data data].array.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+      Il valore di [page:InterleavedBufferAttribute.data data].count.
+
+      Se il buffer memorizza un elemento a 3 componenti (come una posizione, una normale, o un colore),
+      allora questo conterà il numero di ogni elemento memorizzato.
+		</p>
+
+		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
+		<p>
+      Flag di sola lettura per verificare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+			Quanti valori compongono ogni elemento (vertice).
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+      Nome opzionale per questa istanza dell'attributo. Il valore di default è una stringa vuota.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+      Il valore predefinito è `false`. Impostando questa proprietà a `true` invierà di nuovo l'intero 
+      buffer interleaved (non solo i dati dello specifico attributo) alla GPU.
+		</p>
+
+		<h3>[property:Boolean normalized]</h3>
+		<p>
+			Il valore predefinito è `false`.
+		</p>
+
+		<h3>[property:Integer offset]</h3>
+		<p>
+      L'offset nel buffer dell'array sottostante in cui inizia un elemento.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+    <p>Applica la matrice [page:Matrix4 m] ad ogni elemento Vector3 di questo InterleavedBufferAttribute.</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>Applica la matrice [page:Matrix3 m] ad ogni elemento Vector3 di questo InterleavedBufferAttribute.</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>Applica la matrice [page:Matrix4 m] ad ogni elemento Vector3 di questo InterleavedBufferAttribute, interpretando gli elementi come vettori direzionali.</p>
+
+		<h3>[method:Number getX]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente x dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getY]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente y dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente z dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:Number getW]( [param:Integer index] ) </h3>
+		<p>Restituisce il componente w dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setX]( [param:Integer index], [param:Float x] ) </h3>
+		<p>Imposta il componente x dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setY]( [param:Integer index], [param:Float y] ) </h3>
+		<p>Imposta il componente y dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setZ]( [param:Integer index], [param:Float z] ) </h3>
+		<p>Imposta il componente z dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setW]( [param:Integer index], [param:Float w] ) </h3>
+		<p>Imposta il componente w dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
+		<p>Imposta i componenti x e y dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
+		<p>Imposta i componenti x, y e z dell'elemento in corrispondenza dell'indice specificato.</p>
+
+		<h3>[method:this setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
+		<p>Imposta i componenti x, y, z e w dell'elemento in corrispondenza dell'indice specificato.</p>
+
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 105 - 0
docs/api/it/core/Layers.html

@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Un oggetto [page:Layers] assegna un [page:Object3D] a 1 o più di 32 layer numerati da `0` a `31`
+      - internamente i layer sono memorizzati come una [link:https://en.wikipedia.org/wiki/Mask_(computing) maschera di bit],
+      e, per impostazione predefinita, tutti gli Object3D sono membri del leyer 0.<br /><br />
+
+      Può essere utilizzato per controllare la visibilità - un oggetto deve condividere un layer con una [page:Camera telecamera] per
+      essere visibile quando la vista della telecamera viene renderizzata.<br /><br />
+
+      Tutte le classi che ereditano da [page:Object3D] hanno una proprietà [page:Object3D.layers] che è un'istanza della classe.
+		</p>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_layers WebGL / layers]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+      Crea un nuovo oggetto Layers, con l'appartenenza inizialmente impostata al layer 0.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Integer mask]</h3>
+		<p>
+      Una maschera di bit che memorizza a quale dei 32 layer questo oggetto layer è attualmente membro.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined disable]( [param:Integer layer] )</h3>
+		<p>
+			layer - un intero da 0 a 31.<br /><br />
+
+      Elimina l'appartenenza a questo `layer`.
+		</p>
+
+		<h3>[method:undefined enable]( [param:Integer layer] )</h3>
+		<p>
+			layer - un intero da 0 a 31.<br /><br />
+
+      Aggiunge l'appartenenza a questo `layer`.
+		</p>
+
+		<h3>[method:undefined set]( [param:Integer layer] )</h3>
+		<p>
+			layer - un intero da 0 a 31.<br /><br />
+
+      Imposta l'appartenza a `layer`, e rimuove l'appartenza a tutti gli altri layer.
+		</p>
+
+		<h3>[method:Boolean test]( [param:Layers layers] )</h3>
+		<p>
+			layers - un oggetto Layers<br /><br />
+
+      Restituisce true se questo e l'oggetto `layers` passato hanno al più un layer in comune.
+		</p>
+
+		<h3>[method:Boolean isEnabled]( [param:Integer layer] )</h3>
+		<p>
+			layer - un intero da 0 a 31.<br /><br />
+
+      Restituisce true se il dato layer è abilitato.
+		</p>
+
+		<h3>[method:undefined toggle]( [param:Integer layer] )</h3>
+		<p>
+			layer - un intero da 0 a 31.<br /><br />
+
+      Attiva/disattiva l'appartenenza al `layer`.
+		</p>
+
+		<h3>[method:undefined enableAll]()</h3>
+		<p>
+      Aggiunge l'appartenza a tutti i layer.
+		</p>
+
+		<h3>[method:undefined disableAll]()</h3>
+		<p>
+      Rimuove l'appartenenza da tutti i layer.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 500 - 0
docs/api/it/core/Object3D.html

@@ -0,0 +1,500 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa è la classe base di molti oggetti in three.js e fornisce un insieme di proprietà e metodi 
+      per manipolare gli oggetti 3D nello spazio.<br /><br />
+
+      Si noti che questa classe può essere utilizzata per raggruppare gli oggetti tramite il metodo
+      [page:.add]( object ) il quale aggiunge l'oggetto come figlio, tuttavia è meglio usare [page:Group] per questo.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+      Il cotruttore non prende argomenti.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:AnimationClip animations]</h3>
+		<p>Array con clip di animazione dell'oggetto.</p>
+
+		<h3>[property:Boolean castShadow]</h3>
+		<p>Se l'oggetto viene renderizzato nella mappa delle ombre. Il valore predefinito è `false`.</p>
+
+		<h3>[property:Array children]</h3>
+		<p>Array con i children dell'oggetto. Vedi [page:Group] per informazioni su come raggrupare manualmente gli oggetti.</p>
+
+		<h3>[property:Material customDepthMaterial]</h3>
+		<p>
+      Materiale depth personalizzato da utilizzare durante il rendering della mappa di depth. Può essere utilizzato solo nel contesto delle mesh.
+      Quando si proietta un'ombra con [page:DirectionalLight] o [page:SpotLight], se si modificano le posizioni dei vertici nello shader dei vertici
+      è necessario specificare un customDepthMaterial per le shadow corrette. Il valore predefinito è `undefined`.
+		</p>
+
+		<h3>[property:Material customDistanceMaterial]</h3>
+		<p>
+      Lo stesso di [page:.customDepthMaterial customDepthMaterial], ma viene utilizzato con [page:PointLight].
+      Il valore predefinito è `undefined`.
+		</p>
+
+		<h3>[property:Boolean frustumCulled]</h3>
+		<p>
+      Quando questo è impostato, controlla ogni fotogramma, se l'oggetto è nel frustrum della telecamera prima renderizzare l'oggetto.
+      Se è impostato a `false` l'oggetto viene renderizzato ad ogni fotogramma anche se non si trova nel frustrum della telecamera. 
+      Il valore predefinito è `true`.
+		</p>
+
+		<h3>[property:Integer id]</h3>
+		<p>sola lettura – Numero univoco per questa istanza.</p>
+
+		<h3>[property:Boolean isObject3D]</h3>
+		<p>
+      Flag di sola lettura per controllare se un dato oggetto è di tipo [name].
+		</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+      Il layer di appartenenza dell'oggetto. L'oggetto è visibile solo se ha al più un layer in comune
+      con la [page:Camera telecamera] utilizzata. Questa proprietà può anche essere utilizata per filtrare
+      gli oggetti non voluti nell'intersezione di test del reycasting quando si usa il [page:Raycaster].
+		</p>
+
+		<h3>[property:Matrix4 matrix]</h3>
+		<p>La matrice di trasformazione locale.</p>
+
+		<h3>[property:Boolean matrixAutoUpdate]</h3>
+		<p>
+      Quando viene settato calcola la matrice di posizione, (rotazione o quaternione) e 
+      ridimensiona ogni fotogramma ed inoltre ricalcola la  proprietà matrixWorld. L'impostazione predefinita è [page:Object3D.DefaultMatrixAutoUpdate] (true).
+		</p>
+
+		<h3>[property:Matrix4 matrixWorld]</h3>
+		<p>
+      La trasformazione globale dell'oggetto. Se l'Object3D non ha un genitore, è identico al [page:.matrix] della trasformazione locale.
+		</p>
+
+		<h3>[property:Boolean matrixWorldAutoUpdate]</h3>
+		<p>
+      Il valore predefinito è true. Se impostato, il renderer controlla ogni frame se l'oggetto e i suo figli 
+      necessitano di aggiornare la matrice.
+      Quando non lo è, devi mantenere tu stesso tutte le matrici nell'oggetto e i suoi figli.
+		</p>
+
+		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
+		<p>
+      Quando viene settato calcola la matrixWorld in quel frame e reimposta questa proprietà a false. Il valore
+      predefinito è `false`.
+		</p>
+
+		<h3>[property:Matrix4 modelViewMatrix]</h3>
+		<p>Questo viene passato allo shader e utilizzato per calcolare la posizione dell'oggetto.</p>
+
+		<h3>[property:String name]</h3>
+		<p>Nome opzionale dell'oggetto (non è necessario che sia univoco). Il valore predefinito è una stringa vuota.</p>
+
+		<h3>[property:Matrix3 normalMatrix]</h3>
+		<p>
+      Questo viene passato allo shader e utilizzato per calcolare l'illuminazione per l'oggetto.
+      È la trasposizione dell'inverso della sottomatrice 3x3 in alto a sinistra di modelViewMatrix di questo oggetto.<br /><br />
+
+      Il motivo di questa matrice speciale è che il semplice utilizzo della matrice modelViewMatrix potrebbe causare una lunghezza non unitaria delle normali 
+      (in caso di scalatura) o una direzione non perpendicolare (in caso di scalatura non uniforme).<br /><br />
+
+      Dall'altra parte, la parte di traslazione della matrice modelViewMatrix non è rilevante per il calcolo delle normali. Quindi una Matrix3 è sufficiente. 
+		</p>
+
+		<h3>[property:Function onAfterRender]</h3>
+		<p>
+      Una callback opzionale che viene eseguita immediatamente dopo che un oggetto 3D è stato renderizzato.
+      Questa funzione è chiamata con i seguenti parametri: renderer, scene, camera, geometry, material, group.
+		</p>
+		<p>
+      Si noti che questa funzione di callback viene eseguita per oggi 3D `renderizzabili` (renderable). Ovvero oggetti 3D che definiscono
+      il loro aspetto visivo con geometrie e materiali come istanze di [page:Mesh], [page:Line], [page:Points] o [page:Sprite].
+      Invece, le istanze di [page:Object3D], [page:Group] o [page:Bone] non sono renderizzabili e quindi questa callback non viene eseguita su questi oggetti.
+		</p>
+
+		<h3>[property:Function onBeforeRender]</h3>
+		<p>
+      Una callback opzionale che viene eseguita immediatamente prima che un oggetto 3D è stato renderizzato.
+      Questa funzione è chiamata con i seguenti parametri: renderer, scene, camera, geometry, material, group.
+		</p>
+		<p>
+      Si noti che questa funzione di callback viene eseguita per oggi 3D `renderizzabili` (renderable). Ovvero oggetti 3D che definiscono
+      il loro aspetto visivo con geometrie e materiali come istanze di [page:Mesh], [page:Line], [page:Points] o [page:Sprite].
+      Invece, le istanze di [page:Object3D], [page:Group] o [page:Bone] non sono renderizzabili e quindi questa callback non viene eseguita su questi oggetti.
+		</p>
+
+		<h3>[property:Object3D parent]</h3>
+		<p>Genitore dell'oggetto nel [link:https://en.wikipedia.org/wiki/Scene_graph grafo della scena]. Un oggetto può avere più
+      di un genitore.</p>
+
+		<h3>[property:Vector3 position]</h3>
+		<p>Un [page:Vector3] che rappresenta la posizione locale dell'oggetto. Il valore predefinito è `(0, 0, 0)`.</p>
+
+		<h3>[property:Quaternion quaternion]</h3>
+		<p>Rotazione locale dell'oggetto come un [page:Quaternion Quaternion].</p>
+
+		<h3>[property:Boolean receiveShadow]</h3>
+		<p>Se il materiale riceve ombre. Il valore predefinito è `false`.</p>
+
+		<h3>[property:Number renderOrder]</h3>
+		<p>
+      Questo valore consente di sovrascrivere l'ordine di rendering predefinito degli oggetti del [link:https://en.wikipedia.org/wiki/Scene_graph grafico di scena]
+      sebbene gli oggetti opachi e trasparenti rimangano ordinati in modo indipendente. Quando questa proprietà viene impostata per un'istanza di [page:Group Group],
+      tutti gli oggetti discendenti saranno ordinati e renderizzati insieme.
+      L'ordinamento è dal più piccolo al più grande renderOrder. Il valore predefinito è `0`.
+		</p>
+
+		<h3>[property:Euler rotation]</h3>
+		<p>
+      La rotazione locale dell'oggetto (vedi [link:https://en.wikipedia.org/wiki/Euler_angles gli angoli di Eulero]), in radianti.
+		</p>
+
+		<h3>[property:Vector3 scale]</h3>
+		<p>
+      La scala locale dell'oggetto. Il valore predefinito è [page:Vector3]( 1, 1, 1 ).
+		</p>
+
+		<h3>[property:Vector3 up]</h3>
+		<p>
+      Questa proprietà viene utilizzata dal metodo [page:.lookAt lookAt], per esempio, per determinare l'orientamento del risultato.<br />
+      L'impostazione predefinita è [page:Object3D.DefaultUp] - che è, `( 0, 1, 0 )`.
+		</p>
+
+		<h3>[property:Object userData]</h3>
+		<p>
+      Un oggetto che può essere utilizzato per memorizzare i dati personalizzati di un Object3D.
+      Non dovrebbe contenere riferimenti a funzioni poiché queste non verranno clonate.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] dell'istanza dell'oggetto.
+    Viene assegnato automaticamente, non dovrebbe essere modificato.
+		</p>
+
+		<h3>[property:Boolean visible]</h3>
+		<p>L'oggetto viene visualizzato se `true`. Il valore predefinito è `true`.</p>
+
+
+
+
+		<h2>Proprietà Statiche</h2>
+		<p>
+      Le proprietà statiche e i metodi sono definiti per classe piuttosto che per istanza della classe.
+      Questo significa che modificando [page:Object3D.DefaultUp] o [page:Object3D.DefaultMatrixAutoUpdate]
+      verranno modificati i valori di [page:.up up] e [page:.matrixAutoUpdate matrixAutoUpdate] per `ogni`
+      istanza di Object3D (o classi derivate) creata dopo che la modifica è stata fatta 
+      (gli Object3D già creati non saranno interessati).
+		</p>
+
+		<h3>[property:Vector3 DefaultUp]</h3>
+		<p>
+      La direzione predefinita di [page:.up up] per gli oggetti, utilizzata anche come posizione predefinita per [page:DirectionalLight],
+			[page:HemisphereLight] e [page:Spotlight] (che crea luci che brillano dall'alto verso il basso).<br />
+      Impostare su ( 0, 1, 0 ) per impostazione predefinita.
+		</p>
+
+		<h3>[property:Boolean DefaultMatrixAutoUpdate]</h3>
+		<p>
+      L'impostazione predefinita per [page:.matrixAutoUpdate matrixAutoUpdate] per Object3D appena creati.<br />
+		</p>
+
+
+		<h2>Metodi</h2>
+
+		<p>I metodi [page:EventDispatcher EventDispatcher] sono disponibili in questa classe.</p>
+
+		<h3>[method:this add]( [param:Object3D object], ... )</h3>
+		<p>
+      Aggiunge l'`object` come figlio di questo oggetto. È possibile aggiungere un numero arbitrario di oggetti. 
+      Qualsiasi genitore corrente su un oggetto passato qui verrà rimosso, poiché un oggetto può avere al più un genitore.<br /><br />
+
+      Vedi [page:Group] per avere informazioni per raggruppare manualmente gli oggetti.
+		</p>
+
+		<h3>[method:undefined applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>Applica la matrice di trasformazione all'oggetto e aggiorna la posizione, la rotazione e la scala dell'oggetto.</p>
+
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>Applica la rotazione rappresentata dal quaternione dell'oggetto.</p>
+
+		<h3>[method:this attach]( [param:Object3D object] )</h3>
+		<p>
+      Aggiunge l'`object` come figlio di questo oggetto, mantenendo la trasformazione world dell'oggetto.<br/><br/>
+      Nota: Questo metodo non supporta i grafici della scena con nodi con scalatura non uniforme.
+		</p>
+
+		<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
+		<p>
+		  recursive -- se true, anche i discendenti dell'oggetto vengono clonati. Il valore predefinito è true.<br /><br />
+
+      Restituisce un clone di questo oggetto e opzionalmente tutti i discendenti.
+		</p>
+
+		<h3>[method:this copy]( [param:Object3D object], [param:Boolean recursive] )</h3>
+		<p>
+		  recursive -- se true, anche i discendenti dell'oggetto vengono copiati. Il valore predefinito è true.<br /><br />
+
+      Copia l'oggetto passato in questo oggetto.
+
+      Nota: Gli event listener e le callback definite dall'utente ([page:.onAfterRender] e [page:.onBeforeRender]) non vengono copiate.
+		</p>
+
+		<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
+		<p>
+		  id -- Numero univoco dell'istanza dell'oggetto<br /><br />
+
+      Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con l'id corrispondente.<br />
+      Si noti che gli id sono assegnati in ordine cronologico: 1, 2, 3, ..., incrementando di uno per ogni nuovo oggetto.
+		</p>
+
+		<h3>[method:Object3D getObjectByName]( [param:String name] )</h3>
+		<p>
+		  name -- Stringa da abbinare alla proprietà Object3D.name dei figli. <br /><br />
+
+      Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con il nome corrispondente.<br />
+      Si noti che per molti oggetti il nome è una stringa vuota da impostazione predefinita. Dovrai impostarlo manualmente per
+      utilizzare questo metodo.
+		</p>
+
+		<h3>[method:Object3D getObjectByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+		  name -- il nome della proprietà da cercare. <br />
+		  value -- il valore della proprietà data. <br /><br />
+
+      Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con la proprietà che corrisponde al valore passato.
+		</p>
+
+		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
+		<p>
+		  [page:Vector3 target] — il risultato verrà copiato in questo Vector3. <br /><br />
+
+      Restituisce un vettore che rappresenta la posizione dell'oggetto nello spazio world.
+		</p>
+
+		<h3>[method:Quaternion getWorldQuaternion]( [param:Quaternion target] )</h3>
+		<p>
+  		[page:Quaternion target] — il risultato sarà copiato in questo Quaternione. <br /><br />
+
+      Restituisce un quaternione che rappreseta la rotazione dell'oggetto nello spazio world.
+		</p>
+
+		<h3>[method:Vector3 getWorldScale]( [param:Vector3 target] )</h3>
+		<p>
+		  [page:Vector3 target] — il risultato sarà copiato in questo Vector3. <br /><br />
+
+      Restituisce un vettore dei fattori di scala applicati all'oggetto per ciascun asse nello spazio world.
+		</p>
+
+		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
+		<p>
+		  [page:Vector3 target] — il risultato sarà copiato in questo Vector3. <br /><br />
+
+      Restituisce un vettore che rappresenta la direzione dell'asse z positivo dell'oggetto nello spazio world.
+		</p>
+
+
+		<h3>[method:Vector3 localToWorld]( [param:Vector3 vector] )</h3>
+		<p>
+		  vector - Un vettore che rappresenta la posizione nello spazio locale di questo oggetto.<br /><br />
+
+      Converte il vettore dallo spazio locale dell'oggetto allo spazio world.
+		</p>
+
+		<h3>[method:undefined lookAt]( [param:Vector3 vector] )<br />
+		[method:undefined lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+		  vector - Un vettore che rappresenta la posizione nello spazio world.<br /><br />
+      Facoltativamente, le componenti [page:.x x], [page:.y y] e [page:.z z] della posizione nello spazio world.<br /><br />
+
+      Ruota l'oggetto in modo che sia rivolto verso un punto nello spazio world.<br /><br />
+
+      Questo metodo non supporta oggetti con genitore/i con scalabilità non uniforme.
+		</p>
+
+		<h3>[method:Array raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
+		<p>
+      Metodo astratto (vuoto) per ottenere le intersezioni tra un raggio casted e questo oggetto.
+      Sottoclassi come [page:Mesh], [page:Line], e [page:Points] implementano questo metodo per 
+      utilizzare il raycasting.
+		</p>
+
+		<h3>[method:this remove]( [param:Object3D object], ... )</h3>
+		<p>
+      Rimuove `object` come figlio di questo oggetto. Può essere rimosso un numero arbitrario di oggetti.
+		</p>
+
+		<h3>[method:this removeFromParent]()</h3>
+		<p>
+      Rimuove questo oggetto dal suo attuale genitore.
+		</p>
+
+		<h3>[method:this clear]()</h3>
+		<p>
+      Rimuove tutti i figli dall'oggetto.
+		</p>
+
+		<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+		  axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
+		  angle -- L'angolo in radianti.<br /><br />
+
+      Ruota un oggetto lungo l'asse nello spazio dell'oggetto. Si presume che l'asse sia normalizzato.
+		</p>
+
+		<h3>[method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+		  axis -- Un vettore normalizzato nello spazio world. <br />
+		  angle -- L'angolo in radianti.<br /><br />
+
+		  Ruota un oggetto lungo l'asse nello spazio world. Si presume che l'asse sia normalizzato.
+      Presuppone che nessun genitore sia ruotato.
+		</p>
+
+		<h3>[method:this rotateX]( [param:Float rad] )</h3>
+		<p>
+		  rad - l'angolo di rotazione in radianti.<br /><br />
+
+      Ruota l'oggetto attorno all'asse x nello spazio locale.
+		</p>
+
+		<h3>[method:this rotateY]( [param:Float rad] )</h3>
+		<p>
+		  rad - l'angolo di rotazione in radianti.<br /><br />
+
+      Ruota l'oggetto attorno all'asse y nello spazio locale.
+		</p>
+
+		<h3>[method:this rotateZ]( [param:Float rad] )</h3>
+		<p>
+		  rad - l'angolo di rotazione in radianti.<br /><br />
+
+      Ruota l'oggetto attorno all'asse z nello spazio locale.
+		</p>
+
+		<h3>[method:undefined setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+			axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
+			angle -- l'angolo in radianti<br /><br />
+
+			Chiama [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )
+			sul [page:.quaternion quaternione].
+		</p>
+
+		<h3>[method:undefined setRotationFromEuler]( [param:Euler euler] )</h3>
+		<p>
+			euler -- L'angolo di Eulero che specifica la quantità di rotazione.<br />
+
+			Chiama [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler] )
+			sul [page:.quaternion quaternione].
+		</p>
+
+		<h3>[method:undefined setRotationFromMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+			m -- ruota il quaternione della componente rotazione della matrice.<br />
+
+			Chiama [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m] )
+			sul [page:.quaternion quaternione].<br /><br />
+
+      Si noti che questo presuppone che il 3x3 superiore di m è una matrice di rotazione pura (cioè non ridimnsionata).
+		</p>
+
+		<h3>[method:undefined setRotationFromQuaternion]( [param:Quaternion q] )</h3>
+		<p>
+			q -- Quaternione normalizzato.<br /><br />
+
+      Copia il quaternione passato nel [page:.quaternion quaternione].
+		</p>
+
+		<h3>[method:Object toJSON]( [param:Object meta] )</h3>
+		<p>
+		  meta -- oggetto contentene metadati come i materiali, le texture o le immagini per l'oggetto.<br />
+      Converte l'oggetto al formato three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene].
+		</p>
+
+		<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
+		<p>
+		  axis -- Un vettore normalizzato nello spazio dell'oggetto.<br />
+		  distance -- La distanza da traslare.<br /><br />
+
+      Trasla un oggetto in base alla distanza lungo un asse nello spazio dell'oggetto. Questo asse si presuppone sia normalizzato.
+		</p>
+
+		<h3>[method:this translateX]( [param:Float distance] )</h3>
+		<p>Trasla l'oggetto lungo l'asse x nello spazio dell'ogetto per unità di `distance`.</p>
+
+		<h3>[method:this translateY]( [param:Float distance] )</h3>
+		<p>Trasla l'oggetto lungo l'asse y nello spazio dell'ogetto per unità di `distance`.</p>
+
+		<h3>[method:this translateZ]( [param:Float distance] )</h3>
+		<p>Trasla l'oggetto lungo l'asse z nello spazio dell'ogetto per unità di `distance`.</p>
+
+		<h3>[method:undefined traverse]( [param:Function callback] )</h3>
+		<p>
+		  callback - Una funzione con primo argomento un oggetto Object3D.<br /><br />
+
+      Esegue la callback su questo oggetto e tutti i discendenti.<br/>
+      Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
+		</p>
+
+		<h3>[method:undefined traverseVisible]( [param:Function callback] )</h3>
+		<p>
+		  callback -  Una funzione con primo argomento un oggetto Object3D.<br /><br />
+
+      Simile a traverse, ma la callback viene eseguita solo su oggetti visibili.
+      I discendenti di oggetti invisibili non vengono attraversati.<br/>
+      Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
+		</p>
+
+		<h3>[method:undefined traverseAncestors]( [param:Function callback] )</h3>
+		<p>
+		  callback -  Una funzione con primo argomento un oggetto Object3D..<br /><br />
+
+      Esegue la callback su tutti i predecessori.<br/>
+      Nota: È sconsigliato modificare il grafico della scena all'interno della callback.
+		</p>
+
+		<h3>[method:undefined updateMatrix]()</h3>
+		<p>Aggiorna la trasformazione locale.</p>
+
+		<h3>[method:undefined updateMatrixWorld]( [param:Boolean force] )</h3>
+		<p>Aggiorna la trasformazione globale di un oggetto e i suoi discendenti.</p>
+
+		<h3>[method:undefined updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )</h3>
+		<p>
+      updateParents - aggiorna ricorsivamente la trasformazione globale dei predecessori.<br />
+      updateChildren - aggiorna ricorsivamente la trasformazione globale dei discendenti.<br /><br />
+
+      Aggiorna la trasformazione globale dell'oggetto.
+		</p>
+
+		<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
+		<p>
+		  vector - Un vettore che rappresenta una posizione nello spazio world.<br /><br />
+
+      Converte il vettore dallo spazio world allo spazio locale di questo oggetto.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 217 - 0
docs/api/it/core/Raycaster.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe è progettata per aiutare il [link:https://en.wikipedia.org/wiki/Ray_casting raycasting].
+      Il raycasting viene utilizzato, tra le altre cose, per il mouse picking (per capire su quali oggetti dello spazio 3d si trova il mouse).
+		</p>
+
+		<h2>Codice di Esempio</h2>
+		<code>
+		const raycaster = new THREE.Raycaster();
+		const pointer = new THREE.Vector2();
+
+		function onPointerMove( event ) {
+
+			// calcolare la posizione del puntatore nelle coordinate del dispositivo normalizzate
+			// (-1 to +1) per entrambi i componenti
+
+			pointer.x = ( event.clientX / window.innerWidth ) * 2 - 1;
+			pointer.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
+
+		}
+
+		function render() {
+
+			// aggiornare il raggio di picking con la telecamera e la posizione del puntatore
+			raycaster.setFromCamera( pointer, camera );
+
+			// calcolare gli oggetti intersecati dal raggio di picking
+			const intersects = raycaster.intersectObjects( scene.children );
+
+			for ( let i = 0; i < intersects.length; i ++ ) {
+
+				intersects[ i ].object.material.color.set( 0xff0000 );
+
+			}
+
+			renderer.render( scene, camera );
+
+		}
+
+		window.addEventListener( 'pointermove', onPointerMove );
+
+		window.requestAnimationFrame(render);
+
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_interactive_cubes Raycasting to a Mesh]<br />
+			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera]<br />
+			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry]<br />
+			[example:webgl_instancing_raycast Raycasting to a InstancedMesh]<br />
+			[example:webgl_interactive_lines Raycasting to a Line]<br />
+			[example:webgl_interactive_raycasting_points Raycasting to Points]<br />
+			[example:webgl_geometry_terrain_raycast Terrain raycasting]<br />
+			[example:webgl_interactive_voxelpainter Raycasting to paint voxels]<br />
+			[example:webgl_raycaster_texture Raycast to a Texture]
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction], [param:Float near], [param:Float far] )</h3>
+		<p>
+      [page:Vector3 origin] — Il vettore di origine da cui viene proiettato il raggio.<br />
+      [page:Vector3 direction] — Il vettore direzione che fornisce la direzione del raggio. Deve essere normalizzato.<br />
+      [page:Float near] — Tutti i risultati restituiti sono più lontani che vicini. Near non può essere negativo. Il valore predefinito è 0.<br />
+      [page:Float far] — Tutti i risultati ottenuti sono più vicini che lontani. Far non può essere minore di near. Il valore predefinito è Infinity.
+		</p>
+		<p>
+      Crea un nuovo oggetto raycaster.<br />
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Float far]</h3>
+		<p>
+      Il fattore `far` del raycaster. Questo valore indica quali oggetti possono essere scartati in base alla distanza.
+      Questo valore non dovrebbe essere negativo e deve essere maggiore del valore della proprietà `near`.
+		</p>
+
+		<h3>[property:Float near]</h3>
+		<p>
+      Il fattore `near` del raycaster. Questo valore indica quali oggetti possono essere scartati in base alla distanza.
+      Questo valore non dovrebbe essere negativo e deve essere minore del valore della proprietà `far`.
+		</p>
+
+		<h3>[property:Camera camera]</h3>
+		<p>
+      La telecamera da utilizzare durante il raycast contro oggetti dipendenti dalla vista, come oggetti su cartelloni pubblicitari 
+      come [page:Sprites]. Questo campo può essere settato manualmente o viene impostato quando si chiama il metodo "setFromCamera".
+
+      L'impostazione predefinita è null.
+		</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+      Utilizzato da [name] per ignorare selettivamente oggetti 3D durante l'esecuzione di test di intersezione. Il seguente codice di esempio
+      assicura che solo gli oggetti 3D sul layer `1` vengano rispettati dall'istanza di [name].
+
+		<code>
+		raycaster.layers.set( 1 );
+		object.layers.enable( 1 );
+		</code>
+
+		</p>
+
+		<h3>[property:Object params]</h3>
+		<p>
+      Un oggetto con le seguenti proprietà:
+
+			<code>
+{
+	Mesh: {},
+	Line: { threshold: 1 },
+	LOD: {},
+	Points: { threshold: 1 },
+	Sprite: {}
+}
+			</code>
+
+      Dove threshold è la precisione del raycaster quando intercetta gli oggetti, in unità di world.
+		</p>
+
+		<h3>[property:Ray ray]</h3>
+		<p>Il [Page:Ray raggio] usato per il raycasting.</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:undefined set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
+		<p>
+      [page:Vector3 origin] — Il vettore di origine da cui viene proiettato il raggio.<br />
+      [page:Vector3 direction] — Il vettore di direzione normalizzato che fornisce la direzione al raggio.
+		</p>
+		<p>
+      Aggiorna il raggio con una nuova origine e direzione. Si noti che questo metodo copia solamente i valori dagli argomenti.
+		</p>
+
+		<h3>[method:undefined setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
+		<p>
+      [page:Vector2 coords] — coordinate 2D del mouse, in coordinate normalizzate del dispositivo (NDC)---i componenti X e Y dovrebbero essere tra -1 e 1.<br />
+      [page:Camera camera] — telecamera da cui dovrebbe provenire il raggio.
+		</p>
+		<p>
+		  Aggiorna il raggio con una nuova origine e direzione.
+		</p>
+
+		<h3>[method:Array intersectObject]( [param:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+		[page:Object3D object] — L'oggetto da verificare per l'intersezione con il raggio.<br />
+		[page:Boolean recursive] — Se true, controlla anche tutti i discendenti. Altrimenti controlla soltanto 
+    l'intersezione con l'oggetto. Il valore predefinito è true.<br />
+		[page:Array optionalTarget] — (opzionale) obiettivo per impostare il risultato. 
+    Altrimenti viene istanziato un nuovo [page:Array]. Se impostato, è necessario cancellare questo array prima di ogni chiamata (ad esempio, array.length = 0;).
+		</p>
+		<p>
+      Controlla tutte le intersezioni tra il raggio e l'oggetto con o senza i discendenti.
+      Le intersezioni sono restituite ordinate per distanza, le più vicine prima. Viene restituito un array di intersezioni...
+		</p>
+		<code>
+				[ { distance, point, face, faceIndex, object }, ... ]
+		</code>
+		<p>
+			[page:Float distance] – distanza tra l'origine del raggio e l'intersezione<br />
+			[page:Vector3 point] – punto di intersezione, nelle coordinate world<br />
+			[page:Object face] – faccia intersecata<br />
+			[page:Integer faceIndex] – indice della faccia intersecata<br />
+			[page:Object3D object] – l'oggetto intersecato<br />
+			[page:Vector2 uv] - le coordinate U,V nel punto di intersezione<br />
+			[page:Vector2 uv2] - Secondo insieme delle coordinate U,V nel punto di intersezione<br />
+			[page:Integer instanceId] – Il numero di indice dell'istanza in cui il raggio interseca la InstancedMesh.
+		</p>
+		<p>
+      `Raycaster` delega al metodo [page:Object3D.raycast raycast] dell'oggetto passato, 
+      quando valuta se il raggio interseca l'oggetto o no. Ciò permette alle mesh di rispondere 
+      in modo diverso al raycasting rispetto alle linee e alle nuvole di punti.
+		</p>
+		<p>
+      *Nota* per le mesh, le facce devono essere puntate verso l'origine del [page:.ray raggio] per essere rilevate;
+      le intersezioni del raggio passato attraverso il retro della faccia non saranno rilevate. Per eseguire il raycast
+      su entrambe le facce dell'oggetto, ti consigliamo di impostare la proprietà [page:Material.side side] del [page:Mesh.material materiale]
+      a `THREE.DoubleSide`.
+		</p>
+
+		<h3>[method:Array intersectObjects]( [param:Array objects], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+      [page:Array objects] — Gli oggetti da controllare per l'intersezione con il raggio.<br />
+      [page:Boolean recursive] — Se true, controlla anche i discendenti degli oggetti. Altrimenti controlla soltanto 
+      l'intersezione con gli oggetti. Il valore predefinito è true.<br />
+      [page:Array optionalTarget] — (opzionale) obiettivo per impostare il risultato.
+      Altrimenti viene istanziato un nuovo [page:Array]. Se impostato, è necessario cancellare questo array prima di ogni chiamata (ad esempio, array.length = 0;).
+		</p>
+		<p>
+      Controlla tutte le intersezioni tra il raggio e gli oggetti con o senza i discendenti.
+      Le intersezioni sono restituite ordinate per distanza, prima le più vicine. Le intersezioni 
+      hanno la stessa forma di quelle restituite da [page:.intersectObject].
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 274 - 0
docs/api/it/core/Uniform.html

@@ -0,0 +1,274 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Le uniform sono delle variabili GLSL globali. Vengono passate ai programmi shader.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+		<p>
+      Quando si dichiara una uniform di uno [page:ShaderMaterial], viene dichiarata per valore o per oggetto.
+		</p>
+		<code>
+		uniforms: {
+			time: { value: 1.0 },
+			resolution: new Uniform( new Vector2() )
+		};
+		</code>
+
+		<h2>Tipi Uniform</h2>
+
+		<p>
+      Ogni uniform deve avere una proprietà `value`. Il tipo di value deve corrispondere al tipo
+      della variabile uniform nel codice GLSL come specificato per i tipi primitivi GLSL nella tabella
+      sotto. Anche le strutture uniform e gli array sono supportati. Gli array GLSL di tipo primitivo 
+      devono essere specificati come un array del corrispondente oggetto THREE o come un array flat
+      contenente i dati di tutti gli oggetti. In altre parole; le primitive GLSL negli array 
+      non devono essere rappresentate dagli array. Questa regola non si applica in modo transitivo.
+      Un array di array `vec2`, ciascuno con una lunghezza di cinque vettori, deve essere un array di array,
+      di cinque oggetti [page:Vector2] o di dieci `numeri`.
+		</p>
+		<table>
+			<caption><a id="uniform-types">Tipi Uniform</a></caption>
+			<thead>
+				<tr>
+					<th>GLSL type</th>
+					<th>JavaScript type</th>
+				</tr>
+			</thead>
+			<tbody>
+
+				<tr>
+					<td>int</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>uint (WebGL 2)</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>float</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Boolean]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Number]</td>
+				</tr>
+
+				<tr>
+					<td>vec2</td>
+					<td>[page:Vector2 THREE.Vector2]</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Vector3 THREE.Vector3]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Color THREE.Color]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Vector4 THREE.Vector4]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Quaternion THREE.Quaternion]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>mat2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Matrix3 THREE.Matrix3]</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Matrix4 THREE.Matrix4]</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>sampler2D</td>
+					<td>[page:Texture THREE.Texture]</td>
+				</tr>
+				<tr>
+					<td>samplerCube</td>
+					<td>[page:CubeTexture THREE.CubeTexture]</td>
+				</tr>
+
+			</tbody>
+		</table>
+
+		<p>
+		  (*) Lo stesso per un array (dimensione) (più interno) dello stesso tipo GLSL, contenente i componenti di tutti i vettori o le matrici nell'array.
+		</p>
+
+		<h2>Uniform Strutturate</h2>
+
+		<p>
+      A volte vuoi organizzare le uniform come `structs` nel tuo codice shader. 
+      È necessario utilizzare lo stile seguente in modo che three.js sia in grado di elaborare dati strutturati uniform.
+		</p>
+		<code>
+		uniforms = {
+			data: {
+				value: {
+					position: new Vector3(),
+					direction: new Vector3( 0, 0, 1 )
+				 }
+			}
+		};
+		</code>
+    Questa definizione può essere mappata con il seguente codice GLSL:
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data;
+		</code>
+
+		<h2>Uniforms Strutturate con Array</h2>
+
+		<p>
+      È anche possibile gestire `structs` negli array. La sintassi per questo caso d'uso appare così:
+		</p>
+		<code>
+		const entry1 = {
+			position: new Vector3(),
+			direction: new Vector3( 0, 0, 1 )
+		};
+		const entry2 = {
+			position: new Vector3( 1, 1, 1 ),
+			direction: new Vector3( 0, 1, 0 )
+		};
+
+		uniforms = {
+			data: {
+				value: [ entry1, entry2 ]
+			}
+		};
+		</code>
+    Questa definizione può essere mappata con il seguente codice GLSL:
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data[ 2 ];
+		</code>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Object value] )</h3>
+		<p>
+		  value -- Un oggetto contenente il valore per impostare la uniform. Il suo tipo deve essere uno dei tipi uniform descritti sopra.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Object value]</h3>
+		<p>
+      Il valore corrente della uniform.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Uniform clone]()</h3>
+		<p>
+      Restituisce un clone della uniform.<br />
+      Se il valore della proprietà uniform è un [page:Object] con un metodo clone(), viene utilizzato, altrimenti il valore è copiato per assegnazione.
+      I valori dell'array sono condivisi tra le [page:Uniform] clonate.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 65 - 0
docs/api/it/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:BufferAttribute] &rarr;
+
+		<h1>Tipi di BufferAttribute</h1>
+
+		<p class="desc">
+      Ci sono nove tipi di [page:BufferAttribute] disponibili in three.js. Questi corrispondono ai 
+      [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax Typed Array] JavaScript.
+		</p>
+
+		<code>
+		THREE.Float64BufferAttribute
+		THREE.Float32BufferAttribute
+		THREE.Float16BufferAttribute
+		THREE.Uint32BufferAttribute
+		THREE.Int32BufferAttribute
+		THREE.Uint16BufferAttribute
+		THREE.Int16BufferAttribute
+		THREE.Uint8ClampedBufferAttribute
+		THREE.Uint8BufferAttribute
+		THREE.Int8BufferAttribute
+		</code>
+
+		<h2>Costruttore</h2>
+
+		<p>Tutti i precedenti sono chiamati allo stesso modo.</p>
+
+		<h3>TypedBufferAttribute( [param:Array_or_Integer array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
+		<p>
+			array -- può essere un array tipizzato o non tipizzato (normale) o una lunghezza intera.
+      Un valore dell'array sarà convertito nel Tipo specificato.
+      Se viene data una lunghezza sarà creato un nuovo TypedArray, inizializzato con tutti gli elementi impostati a zero.<br /><br />
+
+      itemSize -- il numero di valori dell'array che dovrebbe essere associato ad un particolare vertice.<br /><br />
+
+      normalized -- (opzionale) indica come i dati sottostanti nel buffer vengono mappati ai valori nel codice GLSL.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<p>
+			Vedi [page:BufferAttribute] per le prorietà ereditate.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<p>
+			Vedi [page:BufferAttribute] per i metodi ereditati.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+		</p>
+	</body>
+</html>

+ 38 - 0
docs/api/it/extras/DataUtils.html

@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una classe che contiene funzioni di utilità per i dati.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Number toHalfFloat]( [param:Number val] )</h3>
+		<p>
+		val -- Un valore in virgola mobile a precisione singola.<br /><br />
+
+    Restituisce un valore in virgola mobile a mezza precisione dal valore in virgola mobile a singola precisione passato.
+		</p>
+
+		<h3>[method:Number fromHalfFloat]( [param:Number val] )</h3>
+		<p>
+		val -- Un valore in virgola mobile a mezza precisione.<br /><br />
+
+    Restituisce un valore in virgola mobile a singola precisione dal valore in virgola mobile a mezza precisione passato.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 34 - 0
docs/api/it/extras/Earcut.html

@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Un'implementazione dell'algoritmo di triangolazione dei poligoni earcut. Il codice è un porting di [link:https://github.com/mapbox/earcut mapbox/earcut].
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array triangulate]( data, holeIndices, dim )</h3>
+		<p>
+		data -- Un array flat di coordinate dei vertici.<br />
+		holeIndices -- Un array di indici di hole, se presenti.<br />
+		dim -- Il numero di coordinate per vertice nell'array di input.<br /><br />
+
+    Triangola la definizione di forma data restituendo un array di triangoli. 
+    Un triangolo è definito da tre numeri interi consecutivi che rappresentano gli indici dei vertici.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 38 - 0
docs/api/it/extras/ImageUtils.html

@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una classe contente funzioni di utilità per le immagini.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:String getDataURL]( [param:HTMLCanvasElement image] | [param:HTMLImageElement image] | [param:ImageBitmap image] )</h3>
+		<p>
+		image -- L'oggetto immagine.<br /><br />
+
+    Restituisce un URI di dati contenente una rappresentazione dell'immagine data.
+		</p>
+
+		<h3>[method:Object sRGBToLinear]( [param:HTMLCanvasElement image] | [param:HTMLImageElement image] | [param:ImageBitmap image] )</h3>
+		<p>
+		image -- L'oggetto immagine.<br /><br />
+
+    Converte i dati dell'immagine sRGB passata in uno spazio colore lineare.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 111 - 0
docs/api/it/extras/PMREMGenerator.html

@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe genera un Prefiltered Mipmapped Radiance Environment Map (PMREM) da una texture di ambiente cubeMap.
+      Ciò consente di accedere rapidamente a diversi livelli di sfocatura (blur) in base alla rugosità (roughness) del materiale.
+      A differenza di una catena mipmap tradizionale, scende solo al livello LOD_MIN (sopra) e quindi crea 'mips' aggiuntivi
+      ancora più filtrati alla stessa risoluzione LOD_MIN, associati a livelli di rugosità più elevati.
+      In questo modo manteniamo la risoluzione per interpolare uniformemente l'illuminazione diffusa, limitando al contempo
+      il calcolo del campionamento.<br/><br/>
+
+      Nota: La rugosità minima di [page:MeshStandardMaterial] dipende dalla dimensione della texture fornita.
+      Se il tuo render è di piccole dimensioni o le parti lucide hanno molte curvature, potresti comunque 
+      riuscire ad ottenere una texture di dimensioni inferiori.
+
+			<table>
+				<tr>
+					<th>texture size</td><th>minimum roughness</td>
+				</tr>
+				<tr>
+					<td>16</td><td>0.21</td>
+				</tr>
+				<tr>
+					<td>32</td><td>0.15</td>
+				</tr>
+				<tr>
+					<td>64</td><td>0.11</td>
+				</tr>
+				<tr>
+					<td>128</td><td>0.076</td>
+				</tr>
+				<tr>
+					<td>256</td><td>0.054</td>
+				</tr>
+				<tr>
+					<td>512</td><td>0.038</td>
+				</tr>
+				<tr>
+					<td>1024</td><td>0.027</td>
+				</tr>
+			</table>
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:WebGLRenderer renderer] )</h3>
+		<p>
+      Questo costruttore crea una nuova [name].
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far] )</h3>
+		<p>
+			[page:Scene scene] - La scena data.<br>
+			[page:Number sigma] - (opzionale) Specifica un raggio di blur in radianti da applicare alla scena prima della generazione PMREM.
+      Il valore predefinito è `0`.<br>
+			[page:Number near] - (opzionale) Il valore del piano near. Il valore predefinito è `0.1`.<br>
+			[page:Number far] - (opzionale) Il valore del piano far. Il valore predefinito è `100`.<br /><br />
+
+      Genera un PMREM da una scena fornita, che può essere più veloce rispetto all'utilizzo di un'immagine se 
+      la larghezza di banda della rete è bassa. I piani near e far opzionali garantiscono che la scena sia renderizzata completamente
+      (la cubeCamera è posizionata nell'origine).
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromEquirectangular]( [param:Texture equirectangular] )</h3>
+		<p>
+			[page:Texture equirectangular] - La texture equirettangolare.<br /><br />
+
+      Genera una PMREM da una texture equirettangolare.
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromCubemap]( [param:CubeTexture cubemap] )</h3>
+		<p>
+			[page:CubeTexture cubemap] - La texture cubemap.<br /><br />
+
+      Genera una PMREM da una texture cubemap.
+		</p>
+
+		<h3>[method:undefined compileCubemapShader]()</h3>
+		<p>
+      Pre-compila lo shader cubemap. Puoi ottenere un avvio più rapido invocando questo metodo durante il recupero di rete della texture per una 
+      maggiore concorrenza.
+		</p>
+
+		<h3>[method:undefined compileEquirectangularShader]()</h3>
+		<p>
+      Pre-compila lo shader equirettangolare. Puoi ottenere un avvio più rapido invocando questo metodo durante il recupero di rete della texture per una 
+      maggiore concorrenza.
+		</p>
+
+		<h3>[method:undefined dispose]()</h3>
+		<p>
+      Elimina la memoria interna del PMREMGenerator.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 52 - 0
docs/api/it/extras/ShapeUtils.html

@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una classe contenente funzioni di utilità per le forme (shape).<br /><br />
+
+      Si noti che queste sono tutte funzioni lineari quindi è necessario calcolare separatamente i componenti
+      x, y (e z, w se presenti) di un vettore.
+		</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Number area]( contour )</h3>
+		<p>
+		  contour -- poligono 2D. Un array di THREE.Vector2().<br /><br />
+
+      Calcola l'area di un poligono di contorno (2D).
+		</p>
+
+		<h3>[method:Boolean isClockWise]( pts )</h3>
+		<p>
+		  pts -- punti che definiscono un poligono 2D.<br /><br />
+
+      Si noti che questa è una funzione lineare quindi è necessario calcolare separatamente i componenti 
+      x,y di un poligono.<br /><br />
+
+      Utilizzato internamente da [page:Path Path],
+      [page:ExtrudeGeometry ExtrudeGeometry] e [page:ShapeGeometry ShapeGeometry].
+		</p>
+
+		<h3>[method:Array triangulateShape]( contour, holes )</h3>
+		<p>
+		  contour -- poligono 2D. Un array di [page:Vector2].<br />
+		  holes -- Un array che contiene array di [page:Vector2]. Ogni array rappresenta una singola definizione di hole.<br /><br />
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 132 - 0
docs/api/it/extras/core/Curve.html

@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una classe base astratta per la creazione di un oggetto [name] che contiene i metodi di interpolazione.
+      Per un array di [name] vedere [page:CurvePath].
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+      Questo costruttore crea una nuova [name].
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Integer arcLengthDivisions]</h3>
+		<p>
+      Questo valore determina la quatità di divisioni quando vengono calcolate le lunghezze cumulative dei segmenti tramite [page:.getLengths].
+      Per garantire la precisione quando vengono utilizzati metodi come [page:.getSpacedPoints], si consiglia di aumentare la proprietà 
+      [page:.arcLengthDivisions] se la curva è molto grande. Il valore predefinito è 200.
+    </p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Vector getPoint]( [param:Float t], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float t] - Una posizione sulla curva. Deve essere compreso nell'intervallo [ 0, 1 ]. <br>
+			[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato verrà copiato in questo vettore,
+			altrimenti verrà creato un nuovo vettore. <br /><br />
+
+      Restituisce un vettore per una data posizione sulla curva.
+		</p>
+
+		<h3>[method:Vector getPointAt]( [param:Float u], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float u] - Una posizione sulla curva in base alla lunghezza dell'arco. Deve essere compreso nell'intervallo [ 0, 1 ]. <br>
+			[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato verrà copiato in questo vettore,
+			altrimenti verrà creato un nuovo vettore. <br /><br />
+
+      Restituisce un vettore per una data posizione sulla curva in base alla lunghezza dell'arco.
+		</p>
+
+		<h3>[method:Array getPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- numero di pezzi in cui dividere la curva. Il valore predefinito è `5`.<br /><br />
+
+      Restituisce un insieme di divisioni + 1 punto usando getPoint( t ).
+		</p>
+
+		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- numero di pezzi in cui dividere la curva. Il valore predefinito è `5`.<br /><br />
+
+      Restituisce un insieme di divisioni + 1 punto equispaziato usando getPointAt( u ).
+		</p>
+
+		<h3>[method:Float getLength]()</h3>
+		<p>Restituisce la lunghezza totale dell'arco della curva.</p>
+
+		<h3>[method:Array getLengths]( [param:Integer divisions] )</h3>
+		<p>Restituisce la lista delle lunghezze cumulative del segmento.</p>
+
+		<h3>[method:undefined updateArcLengths]()</h3>
+		<p>
+      Aggiorna la cache della distanza cumulativa del segmento. Il metodo deve essere chiamato ogni volta 
+      che i parametri della curva vengono modificati. Se una curva aggiornata fa parte di una curva composta come 
+      [page:CurvePath], [page:.updateArcLengths]() deve essere chiamato anche sulla curva composta.
+		</p>
+
+		<h3>[method:Float getUtoTmapping]( [param:Float u], [param:Float distance] )</h3>
+		<p>
+      Dato u nell'intervallo ( 0 .. 1 ), restituisce [page:Float t] anche nell'intervallo ( 0 .. 1 ).
+      u e t possono quindi essere utilizzati per fornire punti equidistanti dalle estremità della curva, utilizzando
+      [page:.getPoint].
+		 </p>
+
+		<h3>[method:Vector getTangent]( [param:Float t], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float t] - Una posizione sulla curva. Deve essere compreso nell'intervallo [ 0, 1 ]. <br>
+			[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato sarà copiato in questo vettore,
+      altrimenti sarà creato un nuovo vettore.<br /><br />
+
+      Restituisce un vettore unitario tangente a t. Se la curva derivata non implementa la sua derivazione tangente,
+      per trovare la sua pendenza verranno utilizzati due punti distanti un piccolo delta, che sembrano fornire 
+      un'approssimazione ragionevole.
+		</p>
+
+		<h3>[method:Vector getTangentAt]( [param:Float u], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float u] - Una posizione sulla curva in base alla lunghezza dell'arco. Deve essere compreso nell'intervallo [ 0, 1 ]. <br>
+			[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato sarà copiato in questo vettore,
+      altrimenti sarà creato un nuovo vettore.<br /><br />
+
+      Restituisce la tangente in un punto equidistante dalle estremità della curva dal punto indicato 
+      in [page:.getTangent].
+		</p>
+
+		<h3>[method:Object computeFrenetFrames]( [param:Integer segments], [param:Boolean closed] )</h3>
+		<p>
+      Genera i Frame Franet. Richiede una definizione della curva nello spazio 3D. Utilizzata nelle geometrie come [page:TubeGeometry] o [page:ExtrudeGeometry].
+		</p>
+
+		<h3>[method:Curve clone]()</h3>
+		<p>Crea un clone di questa istanza.</p>
+
+		<h3>[method:this copy]( [param:Curve source] )</h3>
+		<p>Copia un altro oggetto [name] in questa istanza.</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>Restituisce un oggetto JSON rappresentazione di questa istanza.</p>
+
+		<h3>[method:this fromJSON]( [param:Object json] )</h3>
+		<p>Copia i dati dell'oggetto JSON dato in questa istanza.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 70 - 0
docs/api/it/extras/core/CurvePath.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una classe base atratta che estende [page:Curve]. Una CurvePath è semplicemente un array di curve collegate,
+      ma mantiene le API di una curva.
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]()</h3>
+		<p>
+      Il costruttore non prende parametri.
+		</p>
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base [page:Curve] per le proprietà comuni.</p>
+
+		<h3>[property:Array curves]</h3>
+		<p>L'array di [page:Curve Curve].</p>
+
+		<h3>[property:Boolean autoClose]</h3>
+		<p>Se chiudere automaticamente o meno il percorso.</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Curve] per i metodi comuni.</p>
+
+		<h3>[method:undefined add]( [param:Curve curve] )</h3>
+		<p>Aggiunge una curva all'array [page:.curves].</p>
+
+		<h3>[method:undefined closePath]()</h3>
+		<p>Aggiunge una [page:LineCurve lineCurve] per chiudere il percorso.</p>
+
+		<h3>[method:Array getCurveLengths]()</h3>
+		<p>Ottieni l'elenco delle lunghezze delle curve cumulative nell'array [page:.curves].</p>
+
+		<h3>[method:Array getPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- il numero di pezzi in cui dividere la curva. Il valore predefinito è `12`.<br /><br />
+
+      Restituisce un array di punti che rappresentano una sequenza di curve. Il paramentro `division`
+      definisce il numero di pezzi in cui è suddivisa ciascuna curva. Tuttavia, ai fini dell'ottimizzazione
+      e della qualità, la risoluzione di campionamento per ogni curva dipende dal suo tipo. Ad esempio, per una
+      [page:LineCurve], il numero restituito di punti è sempre solo 2.
+		</p>
+
+		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- il numero di pezzi in cui dividere la curva. Il valore predefinito è `40`.<br /><br />
+
+      Restituisce un insieme di divisioni + 1 punto equispaziato usando getPointAt( u ).
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 48 - 0
docs/api/it/extras/core/Interpolations.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Le [name] contengono funzioni spline e Bézier utilizzate internamente dalle classi di curve concrete.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Float CatmullRom]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2], [param:Float p3] )</h3>
+		<p>
+		t -- peso di interpolazione.<br />
+		p0, p1, p2, p3 -- i punti che definiscono la curva spline.<br /><br />
+
+		Usato internamente da [page:SplineCurve SplineCurve].
+		</p>
+
+		<h3>[method:Float QuadraticBezier]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2] )</h3>
+		<p>
+		t -- peso di interpolazione.<br />
+		p0, p1, p2 -- i punti di inizio, controllo e fine che definiscono la curva.<br /><br />
+
+		Usato internamente da [page:QuadraticBezierCurve3 QuadraticBezierCurve3] e [page:QuadraticBezierCurve QuadraticBezierCurve].
+		</p>
+
+		<h3>[method:Float CubicBezier]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2], [param:Float p3] )</h3>
+		<p>
+		t -- peso di interpolazione.<br />
+		p0, p1, p2, p3 -- i punti di inizio, controllo (doppio) e fine che definiscono la curva.<br /><br />
+
+		Usato internamente da [page:CubicBezierCurve3 CubicBezierCurve3] e [page:CubicBezierCurve CubicBezierCurve].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 150 - 0
docs/api/it/extras/core/Path.html

@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Curve] &rarr; [page:CurvePath] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Una rappresentazione del percorso 2D. La classe mette a dispozione metodi per la 
+      creazione di tracciati e contorni di forme 2D simili all'API Canvas 2D.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const path = new THREE.Path();
+
+		path.lineTo( 0, 0.8 );
+		path.quadraticCurveTo( 0, 1, 0.2, 1 );
+		path.lineTo( 1, 1 );
+
+		const points = path.getPoints();
+
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const material = new THREE.LineBasicMaterial( { color: 0xffffff } );
+
+		const line = new THREE.Line( geometry, material );
+		scene.add( line );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Array points] )</h3>
+		<p>
+		  points -- (opzionale) array di [page:Vector2 Vector2].<br /><br />
+
+      Crea un Path dai punti. Il primo punto definisce l'offset, quindi i punti successivi sono
+      aggiunti all'array [page:CurvePath.curves curves] come [page:LineCurve LineCurves].<br /><br />
+
+      Se non ci sono punti specificati, viene creato un path vuoto e il [page:.currentPoint] viene impostato 
+      nell'origine.
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base [page:CurvePath] per le proprietà comuni.</p>
+
+		<h3>[property:Vector2 currentPoint]</h3>
+		<p>L'offset corrente del path. Qualsiasi nuova [page:Curve] aggiunta inizierà da qui.</p>
+
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:CurvePath] per i metodi comuni.</p>
+
+		<h3>[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
+		<p>
+			x, y -- Il centro assoluto dell'arco.<br />
+			radius -- Il raggio dell'arco.<br />
+			startAngle -- L'angolo iniziale in radianti.<br />
+			endAngle -- L'angolo finale in radianti.<br />
+			clockwise -- Scorre l'arco in senso orario. Il valore predefinito è `false`.<br /><br />
+
+      Aggiunge al path un'[page:EllipseCurve EllipseCurve] posizionata in modo assoluto.
+		</p>
+
+		<h3>[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
+		<p>
+			x, y -- Il centro assoluto dell'ellisse.<br />
+			xRadius -- Il raggio dell'ellisse nell'asse x.<br />
+			yRadius -- Il raggio dell'ellisse nell'asse y.<br />
+			startAngle -- L'angolo iniziale in radianti.<br />
+			endAngle -- L'angolo finale in radianti.<br />
+			clockwise -- Scorre l'ellisse in senso orario. Il valore predefinito è `false`.<br />
+			rotation -- L'angolo di rotazione dell'ellisse in radianti, in senso antiorario dall'asse X. Opzionale, il valore predefinito è 0.<br /><br />
+
+      Aggiunge al path un'[page:EllipseCurve EllipseCurve] posizionata in modo assoluto.
+		</p>
+
+		<h3>[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
+		<p>
+		x, y -- Il centro dell'arco offsettato dall'ultima chiamata.<br />
+		radius -- Il raggio dell'arco.<br />
+		startAngle -- L'angolo iniziale in radianti.<br />
+		endAngle -- L'angolo finale in radianti.<br />
+		clockwise -- Scorre l'arco in senso orario. Il valore predefinito è `false`.<br /><br />
+
+    Aggiunge al path un'[page:EllipseCurve EllipseCurve] posizionata in modo relativo al [page:.currentPoint].
+		</p>
+
+
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<p>
+      Crea una curva bezier da [page:.currentPoint] con (cp1X, cp1Y) e (cp2X, cp2Y) come punti di controllo e aggiorna [page:.currentPoint] a x e y.
+    </p>
+
+		<h3>[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
+		<p>
+			x, y -- Il centro dell'arco offsettato dall'ultima chiamata.<br />
+			xRadius -- Il raggio dell'ellisse nell'asse x.<br />
+			yRadius -- Il raggio dell'ellisse nell'asse y.<br />
+			startAngle -- L'angolo iniziale in radianti.<br />
+			endAngle -- L'angolo finale in radianti.<br />
+			clockwise --  Scorre l'arco in senso orario. Il valore predefinito è `false`.<br /><br />
+			rotation -- L'angolo di rotazione dell'ellisse in radianti, in senso antiorario dall'asse X. Opzionale, il valore predefinito è 0.<br /><br />
+
+      Aggiunge al path un'[page:EllipseCurve EllipseCurve] posizionata in modo relativo al [page:.currentPoint].
+		</p>
+
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
+		<p>Collega una [page:LineCurve] da il [page:.currentPoint] a x, y sul percorso.</p>
+
+
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
+		<p>Muove il [page:.currentPoint] a x, y.</p>
+
+
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<p>
+      Crea una curva quadratica da [page:.currentPoint] con cpX e cpY come punto di controllo e aggiorna [page:.currentPoint] a x e y.
+    </p>
+
+		<h3>[method:this setFromPoints]( [param:Array vector2s] )</h3>
+		<p>
+			points --  array di [page:Vector2 Vector2].<br /><br />
+
+      I punti vengono aggiunti all'array [page:CurvePath.curves curves] come [page:LineCurve LineCurves].
+		</p>
+
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
+		<p>
+			points - array di [page:Vector2 Vector2].<br /><br />
+
+      Collega un nuovo [page:SplineCurve] al percorso.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 104 - 0
docs/api/it/extras/core/Shape.html

@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Curve] &rarr; [page:CurvePath] &rarr; [page:Path] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Definisce un piano di forma 2D arbitrario usando percorsi con hole opzionali. Può essere usato con [page:ExtrudeGeometry],
+      [page:ShapeGeometry], per ottenere punti, o per ottenere facce triangolate.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const heartShape = new THREE.Shape();
+
+		heartShape.moveTo( 25, 25 );
+		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
+		heartShape.bezierCurveTo( - 30, 0, - 30, 35, - 30, 35 );
+		heartShape.bezierCurveTo( - 30, 55, - 10, 77, 25, 95 );
+		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
+		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
+		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
+
+		const extrudeSettings = { depth: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+
+		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
+
+		const mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+		[example:webgl_geometry_shapes geometry / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes geometry / extrude / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2 ]<br/>
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Array points] )</h3>
+		<p>
+		points -- (opzionale) un array di [page:Vector2 Vector2].<br /><br />
+
+    Crea una Shape dai punti. Il primo punto defisce l'offset, quindi i punti successivi vengono aggiunti
+    all'array  [page:CurvePath.curves curves] come [page:LineCurve LineCurves].<br /><br />
+
+    Se i punti non vengono specificati, viene creata una shape vuota e il [page:.currentPoint] viene impostato nell'origine.
+		</p>
+
+
+		<h2>Proprietà</h2>
+		<p>Vedi la classe base [page:Path] per le proprietà comuni.</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		L'[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] di questa istanza. Viene assegnato
+    automaticamente, quindi non dovrebbe essere modificato.
+		</p>
+
+		<h3>[property:Array holes]</h3>
+		<p>Un array di [page:Path path] che definisce gli hole nella forma.</p>
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe base [page:Path] per i metodi comuni.</p>
+
+		<h3>[method:Array extractPoints]( [param:Integer divisions] )</h3>
+		<p>
+		divisions -- La finezza del risultato.<br /><br />
+
+    Chiama [page:Curve.getPoints getPoints] sulla forma e l'array [page:.holes], e restituisce un oggetto della forma:
+		<code>
+{
+	shape
+	holes
+}
+		</code>
+    dove shape e holes sono array di tipo [page:Vector2 Vector2].
+		</p>
+
+		<h3>[method:Array getPointsHoles]( [param:Integer divisions] )</h3>
+		<p>
+		divisions -- La finezza del risultato.<br /><br />
+
+    Ottiene un array di [page:Vector2 Vector2] che rapprensenta gli hole nella forma.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 97 - 0
docs/api/it/extras/core/ShapePath.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+      Questa classe viene utilizzata per convertire una serie di forme in un array di [page:Path], ad esempio una 
+      forma SVG in un path (vedere l'esempio seguente).
+		</p>
+
+		<h2>Esempi</h2>
+		<p>
+			[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name](  )</h3>
+		<p>
+      Crea un nuovo ShapePath. Diversamente da un [page:Path], non vengono passati punti poiché lo ShapePath
+      è progettato per essere generato dopo la creazione.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array subPaths]</h3>
+		<p>
+		  Un array di [page:Path].
+		</p>
+
+		<h3>[property:Array currentPath]</h3>
+		<p>
+		  Il [page:Path] corrente che viene generato.
+		</p>
+
+		<h3>[property:Color color]</h3>
+		<p>Il [page:Color Colore] della shape, da impostazione predefinita impostato su bianco (0xffffff).</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
+		<p>
+      Inizia un nuovo [page:Path] e chiama [page:Path.moveTo]( x, y ) su questo [page:Path].
+      Punta anche [page:ShapePath.currentPath currentPath] a quel [page:Path].
+		</p>
+
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
+		<p>
+      Crea una linea dall'offset del [page:ShapePath.currentPath currentPath]
+      a X e Y e aggiorna l'offset di X e Y.
+    </p>
+
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<p>
+      Crea una curva quadratica dall'offset del [page:ShapePath.currentPath currentPath] a x e y con cpX e cpY
+      come punto di controllo e aggiorna l'offset del [page:ShapePath.currentPath currentPath] di x e y.
+    </p>
+
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<p>
+      Crea una curva bazier dall'offset del [page:ShapePath.currentPath currentPath] a x e y con
+      cp1X, cp1Y e cp2X, cp2Y come punti di controllo e aggiorna l'offset del [page:ShapePath.currentPath currentPath] a x e y.
+    </p>
+
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
+		<p>points - Un array di [page:Vector2]</p>
+		<p>Collega una nuova [page:SplineCurve] al [page:ShapePath.currentPath currentPath].</p>
+
+
+		<h3>[method:Array toShapes]( [param:Boolean isCCW], [param:Boolean noHoles] )</h3>
+		<p>
+		isCCW -- Modifica la modalità di generazione degli hole e dei solidi
+		</p>
+		<p>
+      Converte l'array [page:ShapePath.subPaths subPaths] in un array di Shape. Per impostazione predefinita
+      le forme solide sono definite in senso orario (CW) e i fori sono definiti in senso antiorario (CCW).
+      Se isCCW è impostato su `true`, le forme sono capovolte.
+		<br/>
+
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js src/extras/core/ShapePath.js]
+		</p>
+	</body>
+</html>

+ 26 - 0
docs/api/it/extras/curves/ArcCurve.html

@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Curve] &rarr; [page:EllipseCurve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">Alias per [page:EllipseCurve].</p>
+
+		<h2>Properties</h2>
+		<p>Vedi la classe [page:EllipseCurve] per le proprietà comuni.</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 80 - 0
docs/api/it/extras/curves/CatmullRomCurve3.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc"> Crea una curva spline 3D smooth (uniforme) da una serie di punti utilizzando l'algoritmo 
+			[link:https://en.wikipedia.org/wiki/Centripetal_Catmull-Rom_spline Catmull-Rom].</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		// Crea un circuito ondulato chiuso
+		const curve = new THREE.CatmullRomCurve3( [
+			new THREE.Vector3( -10, 0, 10 ),
+			new THREE.Vector3( -5, 5, 5 ),
+			new THREE.Vector3( 0, 0, 0 ),
+			new THREE.Vector3( 5, -5, 5 ),
+			new THREE.Vector3( 10, 0, 10 )
+		] );
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color: 0xff0000 } );
+
+		// Crea l'oggetto finale da aggiungere alla scena
+		const curveObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>Esempi</h2>
+
+		<p>
+			[example:webgl_geometry_extrude_splines WebGL / geometry / extrude / splines]
+		</p>
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Array points], [param:Boolean closed], [param:String curveType], [param:Float tension] )</h3>
+		<p>
+			points – Un array di punti [page:Vector3]<br/>
+			closed – Se la curva è chiusa. Il valore predefinito è `false`.<br/>
+			curveType – Tipo di curva. Il valore predefinito è `centripetal`.<br/>
+			tension – Tensione della curva. Il valore predefinito è `0.5`.
+		</p>
+
+
+		<h2>Proprietà</h2>
+    <p>Vedi la classe [page:Curve] per le proprità comuni.</p>
+
+		<h3>[property:Array points]</h3>
+		<p>L'array di punti [page:Vector3] che definisce la curva. Ha bisogno di almeno due entries.</p>
+
+		<h3>[property:Boolean closed]</h3>
+		<p>Quando questa proprietà viene impostata su `true` la curva ritornerà su se stessa.</p>
+
+		<h3>[property:String curveType]</h3>
+		<p>I valori possibili sono `centripetal`, `chordal` e `catmullrom`.</p>
+
+		<h3>[property:Float tension]</h3>
+		<p>Quando [page:.curveType] è `catmullrom`, definisce la tensione di catmullrom.</p>
+
+
+		<h2>Metodi</h2>
+		<p>Vedi la classe [page:Curve] per i metodi comuni.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

Some files were not shown because too many files changed in this diff