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>
 			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>
 
 		<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.ZeroSlopeEnding
 THREE.WrapAroundEnding
+    </code>
+
+	<h2>Animation Blend Modes</h2>
+    <code>
+THREE.NormalAnimationBlendMode
+THREE.AdditiveAnimationBlendMode
     </code>
 
 		<h2>Source</h2>

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

@@ -21,10 +21,13 @@ THREE.REVISION
 
 		<h2>Color Spaces</h2>
 		<code>
+THREE.NoColorSpace			
 THREE.SRGBColorSpace
 THREE.LinearSRGBColorSpace
 		</code>
-
+		<p>
+			[page:NoColorSpace] defines no specific color space. 
+		</p>
 		<p>
 			[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
@@ -37,7 +40,7 @@ THREE.LinearSRGBColorSpace
 			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
 			and shaders are in the Linear-sRGB color space.
-		D</p>
+		</p>
 
 		<p>
 			For further background and usage, see <i>Color management</i>.
@@ -48,6 +51,22 @@ THREE.LinearSRGBColorSpace
 THREE.MOUSE.LEFT
 THREE.MOUSE.MIDDLE
 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>
 
 		<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 />
 		</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>
 
 		<p>

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

@@ -46,14 +46,17 @@
 		THREE.ReinhardToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
+		THREE.CustomToneMapping
 		</code>
 		<p>
 		These define the WebGLRenderer's [page:WebGLRenderer.toneMapping toneMapping] property.
 		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.
-
 		</p>
 
 

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

@@ -271,10 +271,19 @@
 		THREE.RGBA_ASTC_12x12_Format
 		</code>
 		<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 />
 		</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>
 		<code>
 		'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>
 		<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>
 		<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>
 
-		<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>
 		<p>
 			Adds a group to this geometry; see the [page:BufferGeometry.groups groups]
 			property for details.
 		</p>
 
-
 		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Applies the matrix transform to the geometry.</p>
 
@@ -193,15 +185,12 @@
 		<h3>[method:this center] ()</h3>
 		<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>
 		<p>Clears all groups.</p>
 
+		<h3>[method:BufferGeometry clone]()</h3>
+		<p>Creates a clone of this BufferGeometry.</p>
+
 		<h3>[method:undefined computeBoundingBox]()</h3>
 		<p>
 		Computes bounding box of the geometry, updating [page:.boundingBox] attribute.<br />
@@ -224,6 +213,12 @@
 		<h3>[method:undefined computeVertexNormals]()</h3>
 		<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>
 		<p>
 		Disposes the object from memory. <br />
@@ -247,18 +242,12 @@
 		Use [page:Object3D.lookAt] for typical real-time mesh usage.
 		</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>
 		<p>
 		Every normal vector in a geometry will have a magnitude of 1.
 		This will correct lighting on the geometry surfaces.
 		</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>
 		<p>
 		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.
 		</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>
 		<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>
 		<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>
 		<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>
 		<p>
 			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.
 		</p>

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

@@ -84,6 +84,12 @@
 		the local transform [page:.matrix].
 		</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>
 		<p>
 		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>
 
 
-		<h3>[method:Array toShapes]( [param:Boolean isCCW], [param:Boolean noHoles] )</h3>
+		<h3>[method:Array toShapes]( [param:Boolean isCCW] )</h3>
 		<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>
 		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/>
 
 		</p>

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

@@ -17,11 +17,11 @@
 
 		<code>
 		const radius = 10;
-		const radials = 16;
-		const circles = 8;
+		const sectors = 16;
+		const rings = 8;
 		const divisions = 64;
 
-		const helper = new THREE.PolarGridHelper( radius, radials, circles, divisions );
+		const helper = new THREE.PolarGridHelper( radius, sectors, rings, divisions );
 		scene.add( helper );
 		</code>
 
@@ -33,17 +33,17 @@
 
 		<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>
 		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 />
 		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
 		</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>
 
 		<h2>Source</h2>

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

@@ -20,10 +20,11 @@
 
 		<h2>Code Example</h2>
 		<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 );
 		spotLight.position.set( 100, 1000, 100 );
+		spotLight.map = new THREE.TextureLoader().load( url );
 
 		spotLight.castShadow = true;
 
@@ -170,6 +171,13 @@ light.target = targetObject;
 			The spotlight will now track the target object.
 		</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>
 

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

@@ -292,7 +292,7 @@
 
 		<h3>[property:Integer version]</h3>
 		<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>
 
 		<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]
 			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
 			when using this material over the [page:MeshPhongMaterial],	[page:MeshStandardMaterial] or [page:MeshPhysicalMaterial],
@@ -79,6 +73,16 @@
 		<h3>[property:Float aoMapIntensity]</h3>
 		<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>
 		<p>[page:Color] of the material, by default set to white (0xffffff).</p>
 
@@ -91,6 +95,28 @@
 			blend between the two colors.
 		</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>
 		<p>
 		Emissive (light) color of the material, essentially a solid color unaffected by other lighting.
@@ -110,6 +136,11 @@
 		<h3>[property:Texture envMap]</h3>
 		<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>
 		<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.
 		</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>
 		<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]
 			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]
 			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 />
 
 			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
 			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
 			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.
 			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>
 
 		<h3>[method:undefined resetState]()</h3>

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

@@ -24,12 +24,6 @@
 
 		<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>
 		<p>
 		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>
 		<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>
 
 		<h2>Methods</h2>

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

@@ -253,7 +253,7 @@
 
 		<h3>[property:Integer version]</h3>
 		<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>
 
 		<h3>[property:Function onUpdate]</h3>
@@ -292,7 +292,7 @@
 		<h3>[method:Texture clone]()</h3>
 		<p>
 		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>
 
 		<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>
 		<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.
 		</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