diff --git a/.gitignore b/.gitignore index e51fad3339b6eb20241ad1fbdaf0a7c29a6cd258..633891f86f3c9fa380cf984e9e06e1c1da44dcc4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store *.swp .project +doc/_build diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..72032accc00b50e923d824f2c786cac4cb3db7dd --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/threejs.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/threejs.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/threejs" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/threejs" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/doc/api/THREE.rst b/doc/api/THREE.rst new file mode 100644 index 0000000000000000000000000000000000000000..1ac9d72ccd7e20a6e5eb816137ccdefa036d8021 --- /dev/null +++ b/doc/api/THREE.rst @@ -0,0 +1,11 @@ +THREE - Main three.js namespace +=============================== + +.. toctree:: + cameras/index.rst + core/index.rst + lights/index.rst + +.. js:data:: THREE + + Main namespace for three.js \ No newline at end of file diff --git a/doc/api/cameras/Camera.rst b/doc/api/cameras/Camera.rst new file mode 100644 index 0000000000000000000000000000000000000000..3e2318e5d52b7774fd84babaf34f1158eeb02867 --- /dev/null +++ b/doc/api/cameras/Camera.rst @@ -0,0 +1,7 @@ +Camera - Base class for camera types +------------------------------------ + +.. js:class:: Camera() + + Base class for camera types + \ No newline at end of file diff --git a/doc/api/cameras/OrthographicCamera.rst b/doc/api/cameras/OrthographicCamera.rst new file mode 100644 index 0000000000000000000000000000000000000000..55411a1548f0b8725aa497671c5287646b3258e9 --- /dev/null +++ b/doc/api/cameras/OrthographicCamera.rst @@ -0,0 +1,7 @@ +OrthographicCamera - Camera using an orthographic projection +------------------------------------------------------------ + +.. js:class:: OrthographicCamera() + + Camera using an orthographic projection + \ No newline at end of file diff --git a/doc/api/cameras/PerspectiveCamera.rst b/doc/api/cameras/PerspectiveCamera.rst new file mode 100644 index 0000000000000000000000000000000000000000..3720e7f62ba951caa1699a240957f0ae4256727a --- /dev/null +++ b/doc/api/cameras/PerspectiveCamera.rst @@ -0,0 +1,7 @@ +PerspectiveCamera - Camera using a perspective projection +--------------------------------------------------------- + +.. js:class:: PerspectiveCamera() + + Camera using a perspective projection + \ No newline at end of file diff --git a/doc/api/cameras/index.rst b/doc/api/cameras/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..bc21ecec6e83b96a7073acb8dcde1839784cfc8d --- /dev/null +++ b/doc/api/cameras/index.rst @@ -0,0 +1,7 @@ +Cameras +======= + +.. toctree:: + Camera + OrthographicCamera + PerspectiveCamera diff --git a/doc/api/core/Clock.rst b/doc/api/core/Clock.rst new file mode 100644 index 0000000000000000000000000000000000000000..7f03f510c0f3653eedc94c2f777364ad81cd7ca4 --- /dev/null +++ b/doc/api/core/Clock.rst @@ -0,0 +1,7 @@ +Clock - Keeps track of time +--------------------------- + +.. js:class:: Clock() + + Keeps track of time + \ No newline at end of file diff --git a/doc/api/core/Color.rst b/doc/api/core/Color.rst new file mode 100644 index 0000000000000000000000000000000000000000..2d586c1d47a7c1569ca041dfacb8eb7bfa355304 --- /dev/null +++ b/doc/api/core/Color.rst @@ -0,0 +1,105 @@ +Color - Represents a color +-------------------------- + +.. rubric:: Constructor + +.. class:: Color(hex) + + Represents a color + + :param integer hex: Hex value to intialize the color + +.. rubric:: Attributes + +.. attribute:: Color.r + + Red channel (float between 0 and 1) + +.. attribute:: Color.g + + Green channel (float between 0 and 1) + +.. attribute:: Color.b + + Blue channel (float between 0 and 1) + +.. rubric:: Methods + +.. function:: Color.copy(color) + + Copies the given color into this color + + :param Color color: Color to copy + +.. function:: Color.copyGammaToLinear(color) + + Creates a gamma color from a linear color + + :param Color color: Color to copy + :returns: Linear color + :rtype: Color + +.. function:: Color.copyLinearToGamma(color) + + Creates a linear color from a gamma color + + :param Color color: Color to copy + :returns: Gamma color + :rtype: Color + +.. function:: Color.setRGB(r, g, b) + + Sets the RGB value of this color + + :param float r: Red channel value (between 0 and 1) + :param float g: Green channel value (between 0 and 1) + :param float b: Blue channel value (between 0 and 1) + +.. function:: Color.setHSV(h, s, v) + + Sets the HSV value of this color. Based on MochiKit implementation by + Bob Ippolito. + + :param float h: Hue channel (between 0 and 1) + :param float s: Saturation channel (between 0 and 1) + :param float v: Value channel (between 0 and 1) + +.. function:: Color.setHex(hex) + + Sets the value of this color from a hex value + + :param integer hex: Value of the color in hex + +.. function:: Color.getHex() + + Gets the value of this color in hex + + :returns: The color value in hex + :rtype: integer + +.. function:: Color.getContextStyle() + + Returns the value of this color in CSS context style. + + Example: ``rgb(r,g,b)`` + + :returns: A CSS-formatted color value + :rtype: string + +.. function:: Color.clone() + + Clones this color + + :returns: New instance identical to this color + :rtype: Color + +.. rubric:: Example + +:: + + var colors = []; + for ( i = 0; i < 5000; i ++ ) { + x = 2000 * Math.random() - 1000; + colors[ i ] = new THREE.Color( 0xffffff ); + colors[ i ].setHSV( (x+1000)/2000, 1.0, 1.0 ); + } diff --git a/doc/api/core/Edge.rst b/doc/api/core/Edge.rst new file mode 100644 index 0000000000000000000000000000000000000000..6833b7ddc32f1a8befd7ccd3677ecfd353ae9151 --- /dev/null +++ b/doc/api/core/Edge.rst @@ -0,0 +1,7 @@ +Edge - Edge between two vertices +-------------------------------- + +.. js:class:: Edge() + + Edge between two vertices + \ No newline at end of file diff --git a/doc/api/core/Face3.rst b/doc/api/core/Face3.rst new file mode 100644 index 0000000000000000000000000000000000000000..7888713a249abc527cf083dbedba88e79bce13f3 --- /dev/null +++ b/doc/api/core/Face3.rst @@ -0,0 +1,7 @@ +Face3 - Three-sided face +------------------------ + +.. js:class:: Face3() + + Three-sided face + \ No newline at end of file diff --git a/doc/api/core/Face4.rst b/doc/api/core/Face4.rst new file mode 100644 index 0000000000000000000000000000000000000000..4ee61cf659a78b09f1e049f8a37f5937b6847d79 --- /dev/null +++ b/doc/api/core/Face4.rst @@ -0,0 +1,7 @@ +Face4 - Four-sided face +----------------------- + +.. js:class:: Face4() + + Four-sided face + \ No newline at end of file diff --git a/doc/api/core/Geometry.rst b/doc/api/core/Geometry.rst new file mode 100644 index 0000000000000000000000000000000000000000..a7d72f1f73423aa846f9809af8eaff1b0d8bd3a6 --- /dev/null +++ b/doc/api/core/Geometry.rst @@ -0,0 +1,7 @@ +Geometry - Base class for geometry types +---------------------------------------- + +.. js:class:: Geometry() + + Base class for geometry types + \ No newline at end of file diff --git a/doc/api/core/Math.rst b/doc/api/core/Math.rst new file mode 100644 index 0000000000000000000000000000000000000000..55d5c50e1a04105a53fa47b615b05b6213ac6c21 --- /dev/null +++ b/doc/api/core/Math.rst @@ -0,0 +1,7 @@ +Math - Math utility functions +----------------------------- + +.. js:class:: Math() + + Math utility functions + \ No newline at end of file diff --git a/doc/api/core/Matrix3.rst b/doc/api/core/Matrix3.rst new file mode 100644 index 0000000000000000000000000000000000000000..b95f803471038521ecd9bc03c2f3af0c361a5b27 --- /dev/null +++ b/doc/api/core/Matrix3.rst @@ -0,0 +1,7 @@ +Matrix3 - A 3x3 matrix +---------------------- + +.. js:class:: Matrix3() + + A 3x3 matrix + \ No newline at end of file diff --git a/doc/api/core/Matrix4.rst b/doc/api/core/Matrix4.rst new file mode 100644 index 0000000000000000000000000000000000000000..cabea85bb5691a0fd710b15f65e56f0f917dc402 --- /dev/null +++ b/doc/api/core/Matrix4.rst @@ -0,0 +1,7 @@ +Matrix4 - A 4x4 Matrix +---------------------- + +.. js:class:: Matrix4() + + A 4x4 Matrix + \ No newline at end of file diff --git a/doc/api/core/Object3D.rst b/doc/api/core/Object3D.rst new file mode 100644 index 0000000000000000000000000000000000000000..d5d7941b87f06879abdd7c1aa244fea4bdce0b2b --- /dev/null +++ b/doc/api/core/Object3D.rst @@ -0,0 +1,7 @@ +Object3D - Base class for scene graph objects +--------------------------------------------- + +.. js:class:: Object3D() + + Base class for scene graph objects + \ No newline at end of file diff --git a/doc/api/core/Projector.rst b/doc/api/core/Projector.rst new file mode 100644 index 0000000000000000000000000000000000000000..f5a33d7702d9c5001ddac0ad72a50a6d87b48365 --- /dev/null +++ b/doc/api/core/Projector.rst @@ -0,0 +1,7 @@ +Projector - Utilities for projecting primitives between spaces +-------------------------------------------------------------- + +.. js:class:: Projector() + + Utilities for projecting primitives between spaces + \ No newline at end of file diff --git a/doc/api/core/Quaternion.rst b/doc/api/core/Quaternion.rst new file mode 100644 index 0000000000000000000000000000000000000000..9a3eb23d2bee5d1f9502aa36e1a6659bee18ff11 --- /dev/null +++ b/doc/api/core/Quaternion.rst @@ -0,0 +1,7 @@ +Quaternion - Implementation of a quaternion +------------------------------------------- + +.. js:class:: Quaternion() + + Implementation of a quaternion + \ No newline at end of file diff --git a/doc/api/core/Ray.rst b/doc/api/core/Ray.rst new file mode 100644 index 0000000000000000000000000000000000000000..5eb64e7417ed6ec653ae297b50330182bcddb907 --- /dev/null +++ b/doc/api/core/Ray.rst @@ -0,0 +1,7 @@ +Ray - Representation of a ray in space +-------------------------------------- + +.. js:class:: Ray() + + Representation of a ray in space + \ No newline at end of file diff --git a/doc/api/core/Rectangle.rst b/doc/api/core/Rectangle.rst new file mode 100644 index 0000000000000000000000000000000000000000..18cc3cd90d5e7cd2e28efbbc29eff8f08f073911 --- /dev/null +++ b/doc/api/core/Rectangle.rst @@ -0,0 +1,7 @@ +Rectangle - Represents a 2D rectangle +------------------------------------- + +.. js:class:: Rectangle() + + Represents a 2D rectangle + \ No newline at end of file diff --git a/doc/api/core/Spline.rst b/doc/api/core/Spline.rst new file mode 100644 index 0000000000000000000000000000000000000000..6f206538f411ba70e6fc659aa183e5f9961d07c3 --- /dev/null +++ b/doc/api/core/Spline.rst @@ -0,0 +1,7 @@ +Spline - Represents a spline +---------------------------- + +.. js:class:: Spline() + + Represents a spline + \ No newline at end of file diff --git a/doc/api/core/UV.rst b/doc/api/core/UV.rst new file mode 100644 index 0000000000000000000000000000000000000000..a0c37a9360b3a78f82c02136279fabb9218180ca --- /dev/null +++ b/doc/api/core/UV.rst @@ -0,0 +1,7 @@ +UV - Represents a texture coordinate +------------------------------------ + +.. js:class:: UV() + + Represents a texture coordinate + \ No newline at end of file diff --git a/doc/api/core/Vector2.rst b/doc/api/core/Vector2.rst new file mode 100644 index 0000000000000000000000000000000000000000..c91699efab7aa206c508d0d608dce60cc12a1212 --- /dev/null +++ b/doc/api/core/Vector2.rst @@ -0,0 +1,7 @@ +Vector2 - 2D vector +------------------- + +.. js:class:: Vector2() + + 2D vector + \ No newline at end of file diff --git a/doc/api/core/Vector3.rst b/doc/api/core/Vector3.rst new file mode 100644 index 0000000000000000000000000000000000000000..36ea57724be7f60f2f8871c58d89cc4b4c827bac --- /dev/null +++ b/doc/api/core/Vector3.rst @@ -0,0 +1,7 @@ +Vector3 - 3D vector +------------------- + +.. js:class:: Vector3() + + 3D vector + \ No newline at end of file diff --git a/doc/api/core/Vector4.rst b/doc/api/core/Vector4.rst new file mode 100644 index 0000000000000000000000000000000000000000..c7260ff28438f53b4edd7c15c9141c4e547aeacf --- /dev/null +++ b/doc/api/core/Vector4.rst @@ -0,0 +1,7 @@ +Vector4 - 4D vector +------------------- + +.. js:class:: Vector4() + + 4D vector + \ No newline at end of file diff --git a/doc/api/core/Vertex.rst b/doc/api/core/Vertex.rst new file mode 100644 index 0000000000000000000000000000000000000000..3805f1374d08058d7e406a81caaaba3be187f4d6 --- /dev/null +++ b/doc/api/core/Vertex.rst @@ -0,0 +1,7 @@ +Vertex - Represents a vertex in space +------------------------------------- + +.. js:class:: Vertex() + + Represents a vertex in space + \ No newline at end of file diff --git a/doc/api/core/index.rst b/doc/api/core/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..d601a509ba576d8b1dc6d449e6e212f96c79d666 --- /dev/null +++ b/doc/api/core/index.rst @@ -0,0 +1,24 @@ +Core Classes +============ + +.. toctree:: + Clock + Color + Edge + Face3 + Face4 + Geometry + Math + Matrix3 + Matrix4 + Object3D + Projector + Quaternion + Ray + Rectangle + Spline + UV + Vector2 + Vector3 + Vector4 + Vertex diff --git a/doc/api/lights/AmbientLight.rst b/doc/api/lights/AmbientLight.rst new file mode 100644 index 0000000000000000000000000000000000000000..00882fb5d8811d1bae4deb76fce9b0b2754d0712 --- /dev/null +++ b/doc/api/lights/AmbientLight.rst @@ -0,0 +1,7 @@ +AmbientLight - An ambient light +------------------------------- + +.. class:: AmbientLight() + + An ambient light + \ No newline at end of file diff --git a/doc/api/lights/DirectionalLight.rst b/doc/api/lights/DirectionalLight.rst new file mode 100644 index 0000000000000000000000000000000000000000..0ab75c171ce87fe843857fa49e9955ed2aff8e0c --- /dev/null +++ b/doc/api/lights/DirectionalLight.rst @@ -0,0 +1,7 @@ +DirectionalLight - A directional light +-------------------------------------- + +.. class:: DirectionalLight() + + A directional light + \ No newline at end of file diff --git a/doc/api/lights/Light.rst b/doc/api/lights/Light.rst new file mode 100644 index 0000000000000000000000000000000000000000..c283ea6384f31f046ff5cbad5aeb3127cc7d7e9e --- /dev/null +++ b/doc/api/lights/Light.rst @@ -0,0 +1,7 @@ +Light - Base class for light types +---------------------------------- + +.. class:: Light() + + Base class for light types + \ No newline at end of file diff --git a/doc/api/lights/PointLight.rst b/doc/api/lights/PointLight.rst new file mode 100644 index 0000000000000000000000000000000000000000..90e3c8ecfed161dca63b1a616465ae7570b2c791 --- /dev/null +++ b/doc/api/lights/PointLight.rst @@ -0,0 +1,7 @@ +PointLight - A point light +-------------------------- + +.. class:: PointLight() + + A point light + \ No newline at end of file diff --git a/doc/api/lights/SpotLight.rst b/doc/api/lights/SpotLight.rst new file mode 100644 index 0000000000000000000000000000000000000000..46cc8a917f40d25ebc21b1706c2d2a16562d263d --- /dev/null +++ b/doc/api/lights/SpotLight.rst @@ -0,0 +1,7 @@ +SpotLight - A spotlight +----------------------- + +.. class:: SpotLight() + + A spotlight + \ No newline at end of file diff --git a/doc/api/lights/index.rst b/doc/api/lights/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..07f58c53c9b8ddec1a2499bd6a2d8ca270e414b5 --- /dev/null +++ b/doc/api/lights/index.rst @@ -0,0 +1,9 @@ +Lights +====== + +.. toctree:: + AmbientLight + DirectionalLight + Light + PointLight + SpotLight diff --git a/doc/changelog.rst b/doc/changelog.rst new file mode 100644 index 0000000000000000000000000000000000000000..7a2573f375695956b9ac09027c39e6a817b50272 --- /dev/null +++ b/doc/changelog.rst @@ -0,0 +1,620 @@ +Changelog +========= + +2011 11 17 - **r46** (343.383 KB, gzip: 87.468 KB) +-------------------------------------------------- + +- Added reflections to Normal Mapping. + (`alteredq `_) +- ``Ray`` now checks also object children. + (`mrdoob `_) +- ``*Loader.load( parameters )`` to + ``*Loader( url, callback, texturePath )``. + (`mrdoob `_ and + `alteredq `_) +- Reworked scene graph setup. (`mrdoob `_ and + `alteredq `_) +- Fixed ``CanvasRenderer``'s ``SphericalReflectionMapping`` rendering. + (`mrdoob `_) +- Improved ``SubdivisionModifier``. (`zz85 `_) +- Refactored ``*Controls`` to use externally supplied time delta. + (`alteredq `_) +- Improvements to ``CombinedCamera``. + (`zz85 `_) +- ``ColladaLoader`` doesn't create extra ``Object3D``. + (`mrdoob `_) +- Improvements to Lambert and Phong materials. + (`alteredq `_) +- Removed multi-materials for simplicity reasons. (Multi-materials will + come back with MeshLayerMaterial hopefully soon) + (`alteredq `_) +- Fixed ``Ray`` not considering edges. + (`mrdoob `_) +- Massive cleanup to ``WebGLRenderer``. + (`alteredq `_) +- ``Ray`` optimisations. (`mrdoob `_ and + `alteredq `_) +- JSON file format is now worker-less (this was crashing Chrome/Firefox + with dealing with many assets). + (`alteredq `_) +- Improved ``CubeGeometry``, ``PlaneGeometry``, ``IcosahedronGeometry`` + and ``SphereGeometry``. (`mrdoob `_) +- Improvements to ``Curve``. (`zz85 `_) +- Removed ``Collisions`` code and focusing on ``Ray``. + (`mrdoob `_) +- Added ``cloneObject()`` method to ``SceneUtils``. + (`alteredq `_) + +2011 10 06 - **r45** (340.863 KB, gzip: 86.568 KB) +-------------------------------------------------- + +- ``Object/Scene.add*()`` and ``Object/Scene.remove*()`` are now + ``Object/Scene.add()`` and ``Object/Scene.remove()``. + (`mrdoob `_) +- ``LOD.add()`` is now ``LOD.addLevel()``. + (`mrdoob `_) +- Reworked ``CylinderGeometry``. (`mrdoob `_) +- Added ``.depthWrite`` and ``.fog`` to ``Material``. + (`alteredq `_) +- Added ``.applyMatrix`` to ``Geometry``. + (`mrdoob `_) +- Improved postprocessing stack in ``/examples/js/postprocessing``. + (`alteredq `_) +- Added a realistic skin shading example. + (`alteredq `_) +- Started of a GUI for composing scenes and autogenerate code. + (`mrdoob `_) +- Added ``.center()`` to ``GeometryUtils``. + (`alteredq `_) +- Fixed buggy scenegraph manipulation (adding/removing objects). + (`jsermeno `_, + `alteredq `_ and + `skython `_) +- Renamed ``MeshShaderMaterial`` to ``ShaderMaterial``. + (`alteredq `_) +- Fixed ``CanvasRenderer`` ignoring color of ``SmoothShading``ed + ``MeshLambertMaterial``. (`mrdoob `_) +- Renamed ``renderer.data`` to ``renderer.info``. + (`mrdoob `_) +- Fixed ShadowMap aspect ratio. (`kig `_ and + `alteredq `_) +- Fixed ``Loader``'s ``extractUrlbase()`` incorrect output for short + urls. (`rectalogic `_ and + `alteredq `_) +- Added ``.color`` and ``.visible`` support to ``Sprite``. + (`alteredq `_) +- Added ``Face4``, Vertex Colors and Maya support to ``ColladaLoader``. + (`mrdoob `_) +- Rewrite of lighting shader code. + (`alteredq `_) +- Improved internal array concatenation approach. + (`pyrotechnick `_) +- ``WebGLRenderer`` performance improvements. + (`alteredq `_) +- Added lower level immediate rendering support to ``WebGLRenderer``. + (`NINE78 `_ and + `alteredq `_) +- Added ``CubeCamera`` for rendering cubemaps. + (`alteredq `_) +- Improved ``GeometryUtils``'s ``.mergeVertices()`` performance. + (`zz85 `_) +- Removed ``Camera``'s ``.target``. + (`mrdoob `_) +- ``WebGLRenderer``'s ``.clear()`` is now + ``.clear( color, depth, stencil )``. + (`mrdoob `_) +- Added ``.autoClearColor``, ``.autoClearDepth`` and + ``.autoClearStencil`` to ``WebGLRenderer``. + (`mrdoob `_ and + `alteredq `_) +- Added ``OctahedronGeometry``. + (`clockworkgeek `_) +- Splitted ``Camera`` into ``PerspectiveCamera`` and + ``OrthographicCamera``. (`mrdoob `_ and + `alteredq `_) +- Special cameras are now ``*Controls``. + (`alteredq `_ and + `mrdoob `_) +- Added ``SubdivisionModifier``. (`zz85 `_) +- ``Projector``'s ``unprojectVector()`` now also works with + ``OrthographicCamera``. (`jsermeno `_) +- Added ``.setLens()`` method to ``PerspectiveCamera``. + (`zz85 `_) +- Added Shadow Maps, ``Texture``'s ``.offset`` and ``.repeat`` and + reflections support to Normal Map shader. + (`alteredq `_) + +2011 09 04 - **r44** (330.356 KB, gzip: 84.039 KB) +-------------------------------------------------- + +- Added ``ColladaLoader``. (`timknip2 `_) +- Improved ``ExtrudeGeometry``. (`zz85 `_) +- Fixed ``CylinderGeometry`` normals. + (`alteredq `_) +- Fixed issue with ``WebGLRenderer.setTexture`` + (`rectalogic `_) +- Fixed ``TorusGeometry`` normals. + (`mrdoob `_) +- Fixed ``Ray`` behind-ray intersects. + (`mrdoob `_) +- Added ``OrthoCamera``. (`alteredq `_) +- Refactored postprocessing effects used in some examples. + (`alteredq `_) +- Added ``.deallocateObject()`` and ``.deallocateTexture()`` methods to + ``WebGLRenderer``. (`mrdoob `_) +- Fixed a glitch in normal and phong shader. + (`evanw `_ and + `alteredq `_) +- Added ``.frustumCulled`` property to ``Object3D``. + (`alteredq `_ and + `mrdoob `_) + +2011 08 14 - **r43** (298.199 KB, gzip: 74.805 KB) +-------------------------------------------------- + +- Improved Blender exporter - 2.58 (and 2.59) support, normals maps, + specular, ao maps... (`alteredq `_) +- Added `CORS `_ to ``ImageUtils``. + (`mrdoob `_) +- Refactored ``TextGeometry`` and added ``Shape``, ``Curve``, ``Path``, + ``ExtrudeGeometry``, ``TextPath``. (`zz85 `_ + and `alteredq `_) +- Added handling of custom attributes for ``ParticleSystems``. + (`alteredq `_) +- Fixed ``CanvasRenderer.setClearColor``. + (`mrdoob `_, + `StephenHopkins `_ and + `sebleedelisle `_) +- Improved uniform handling in ``WebGLRenderer``. + (`alteredq `_) +- Implemented Shadow Mapping in ``WebGLRenderer``. + (`alteredq `_) +- Added ``Spotlight`` light type. + (`alteredq `_) +- Fixed constructor-less prototypes. + (`pushmatrix `_) +- Added ``DataTexture``. (`alteredq `_) +- ``WebGLRenderer`` opaque pass now renders from front to back. + (`alteredq `_) +- Simplified ``Color``. (`mrdoob `_) +- Added ``preserveDrawingBuffer`` option to ``WebGLRenderer``. + (`jeromeetienne `_) +- Added ``UTF8Loader`` for loading the new, uber compressed, `UTF8 + format `_. + (`alteredq `_) +- ``CanvasRenderer`` now supports ``RepeatWrapping``, + ``texture.offset`` and ``texture.repeat``. + (`mrdoob `_) +- Removed Stencil Shadows and Lensflare code. + (`mrdoob `_) + +2011 07 06 - **r42** (277.852 KB, gzip: 69.469 KB) +-------------------------------------------------- + +- Added ``AnaglypWebGLRenderer`` and ``CrosseyedWebGLRenderer``. + (`mrdoob `_, + `alteredq `_ and + `marklundin `_) +- Added ``TextGeometry``. (`zz85 `_ and + `alteredq `_) +- Added ``setViewOffset`` method to ``Camera``. + (`greggman `_) +- Renamed geometries to ``*Geometry``. + (`mrdoob `_) +- Improved Blender exporter. (`alteredq `_, + `sweetfish `_ and + `Jhonnyg `_) +- Added Blender 2.58 exporter. (`georgik `_) +- Fixed ``Matrix4.multiply()``. (thanks + `lukem1 `_) +- Added support for additional Euler rotation orders in ``Matrix4``. + (`rectalogic `_) +- Renamed ``QuakeCamera`` to ``FirstPersonCamera``. + (`chriskillpack `_) +- Improved Normal Map Shader. + (`alteredq `_) +- ``Collision`` now supports ``Object3D.flipSided`` and + ``Object3D.doubleSided``. (`NINE78 `_) +- Removed most of ``SceneUtils`` methods. + (`mrdoob `_) +- Removed ``Sound`` object and ``SoundRenderer``. + (`mrdoob `_) + +2011 05 31 - **r41/ROME** (265.317 KB, gzip: 64.849 KB) +------------------------------------------------------- + +(Up to this point, some `RO.ME `_ specific features +managed to get in the lib. The aim is to clean this up in next +revisions.) + +- Improved Blender Object and Scene exporters. + (`alteredq `_) +- Fixes on WebGL attributes. (`alteredq `_ + and `empaempa `_) +- Reduced overall memory footprint. + (`mrdoob `_) +- Added ``Face4`` support to ``CollisionSystem``. + (`NINE78 `_) +- Added Blender 2.57 exporter. (`remoe `_) +- Added ``Particle`` support to ``Ray``. + (`mrdoob `_ and + `jaycrossler `_) +- Improved ``Ray.intersectObject`` performance by checking + boundingSphere first. (`mrdoob `_) +- Added ``TrackballCamera``. + (`egraether `_) +- Added ``repeat`` and ``offset`` properties to ``Texture``. + (`mrdoob `_ and + `alteredq `_) +- Cleaned up ``Vector2``, ``Vector3`` and ``Vector4``. + (`egraether `_) + +2011 04 24 - **r40** (263.774 KB, gzip: 64.320 KB) +-------------------------------------------------- + +- Fixed ``Object3D.lookAt``. (`mrdoob `_) +- More and more Blender exporter goodness. + (`alteredq `_ and + `mrdoob `_) +- Improved ``CollisionSystem``. + (`drojdjou `_ and + `alteredq `_) +- Fixes on WebGLRenderer. (`empaempa `_) +- Added ``Trident`` object. + (`sroucheray `_) +- Added ``data`` object to Renderers for getting number of + vertices/faces/callDraws from last render. + (`mrdoob `_) +- Fixed ``Projector`` handling Particles with hierarchies. + (`mrdoob `_) + +2011 04 09 - **r39** (249.048 KB, gzip: 61.020 KB) +-------------------------------------------------- + +- Improved WebGLRenderer program cache. + (`alteredq `_) +- Added support for pre-computed edges in loaders and exporters. + (`alteredq `_) +- Added ``Collisions`` classes. + (`drojdjou `_) +- Added ``Sprite`` object. (`empaempa `_) +- Fixed ``*Loader`` issue where Workers were kept alive and next loads + were delayed. (`alteredq `_) +- Added ``THREE`` namespace to all the classes that missed it. + (`mrdoob `_) + +2011 03 31 - **r38** (225.442 KB, gzip: 55.908 KB) +-------------------------------------------------- + +- Added ``LensFlare`` light. (`empaempa `_) +- Added ``ShadowVolume`` object (stencil shadows). + (`empaempa `_) +- Improved Blender Exporter plus added Scene support. + (`alteredq `_) +- Blender Importer for loading JSON files. + (`alteredq `_) +- Added load/complete callbacks to ``Loader`` + (`mrdoob `_) +- Minor WebGL blend mode clean up. + (`mrdoob `_) +- \*Materials now extend Material + (`mrdoob `_) +- ``material.transparent`` define whether material is transparent or + not (before we were guessing). (`mrdoob `_) +- Added internal program cache to WebGLRenderer (reuse already + available programs). (`mrdoob `_) + +2011 03 22 - **r37** (208.495 KB, gzip: 51.376 KB) +-------------------------------------------------- + +- Changed JSON file format. (**Re-exporting of models required**) + (`alteredq `_ and + `mrdoob `_) +- Updated Blender and 3DSMAX exporters for new format. + (`alteredq `_) +- Vertex colors are now per-face + (`alteredq `_) +- ``Geometry.uvs`` is now a multidimensional array (allowing infinite + uv sets) (`alteredq `_) +- ``CanvasRenderer`` renders ``Face4`` again (without spliting to 2 + ``Face3``) (`mrdoob `_) +- ``ParticleCircleMaterial`` > ``ParticleCanvasMaterial``. Allowing + injecting any ``canvas.context`` code! + (`mrdoob `_) + +2011 03 14 - **r36** (194.547 KB, gzip: 48.608 KB) +-------------------------------------------------- + +- Added 3DSMAX exporter. (`alteredq `_) +- Fixed ``WebGLRenderer`` aspect ratio bug when scene had only one + material. (`mrdoob `_) +- Added ``sizeAttenuation`` property to ``ParticleBasicMaterial``. + (`mrdoob `_) +- Added ``PathCamera``. (`alteredq `_) +- Fixed ``WebGLRenderer`` bug when Camera has a parent. + Camera``Camera.updateMatrix`` method. + (`empaempa `_) +- Fixed ``Camera.updateMatrix`` method and ``Object3D.updateMatrix``. + (`mrdoob `_) + +2011 03 06 - **r35** (187.875 KB, gzip: 46.433 KB) +-------------------------------------------------- + +- Added methods ``translate``, ``translateX``, ``translateY``, + ``translateZ`` and ``lookAt`` methods to ``Object3D``. + (`mrdoob `_) +- Added methods ``setViewport`` and ``setScissor`` to + ``WebGLRenderer``. (`alteredq `_) +- Added support for non-po2 textures. + (`mrdoob `_ and + `alteredq `_) +- Minor API clean up. (`mrdoob `_) + +2011 03 02 - **r34** (186.045 KB, gzip: 45.953 KB) +-------------------------------------------------- + +- Now using camera.matrixWorldInverse instead of camera.matrixWorld for + projecting. (`empaempa `_ and + `mrdoob `_) +- Camel cased properties and object json format (**Re-exporting of + models required**) (`alteredq `_) +- Added ``QuakeCamera`` for easy fly-bys + (`alteredq `_) +- Added ``LOD`` example (`alteredq `_) + +2011 02 26 - **r33** (184.483 KB, gzip: 45.580 KB) +-------------------------------------------------- + +- Changed build setup (**build/Three.js now also include extras**) + (`mrdoob `_) +- Added ``ParticleSystem`` object to ``WebGLRenderer`` + (`alteredq `_) +- Added ``Line`` support to ``WebGLRenderer`` + (`alteredq `_) +- Added vertex colors support to ``WebGLRenderer`` + (`alteredq `_) +- Added ``Ribbon`` object. (`alteredq `_) +- Added updateable textures support to ``WebGLRenderer`` + (`alteredq `_) +- Added ``Sound`` object and ``SoundRenderer``. + (`empaempa `_) +- ``LOD``, ``Bone``, ``SkinnedMesh`` objects and hierarchy being + developed. (`empaempa `_) +- Added hierarchies examples (`mrdoob `_) + +2010 12 31 - **r32** (89.301 KB, gzip: 21.351 KB) +------------------------------------------------- + +- ``Scene`` now supports ``Fog`` and ``FogExp2``. ``WebGLRenderer`` + only right now. (`alteredq `_) +- Added ``setClearColor( hex, opacity )`` to ``WebGLRenderer`` and + ``CanvasRenderer`` (`alteredq `_ & + `mrdoob `_) +- ``WebGLRenderer`` shader system refactored improving performance. + (`alteredq `_) +- ``Projector`` now does frustum culling of all the objects using their + sphereBoundingBox. (thx `errynp `_) +- ``material`` property changed to ``materials`` globaly. + +2010 12 06 - **r31** (79.479 KB, gzip: 18.788 KB) +------------------------------------------------- + +- Minor Materials API change (mappings). + (`alteredq `_ & + `mrdoob `_) +- Added Filters to ``WebGLRenderer`` +- ``python build.py --includes`` generates includes string + +2010 11 30 - **r30** (77.809 KB, gzip: 18.336 KB) +------------------------------------------------- + +- Reflection and Refraction materials support in ``WebGLRenderer`` + (`alteredq `_) +- ``SmoothShading`` support on + ``CanvasRenderer``/``MeshLambertMaterial`` +- ``MeshShaderMaterial`` for ``WebGLRenderer`` + (`alteredq `_) +- Removed ``RenderableFace4`` from ``Projector``/``CanvasRenderer`` + (maybe just temporary). +- Added extras folder with ``GeometryUtils``, ``ImageUtils``, + ``SceneUtils`` and ``ShaderUtils`` + (`alteredq `_ & + `mrdoob `_) +- Blender 2.5x Slim now the default exporter (old exporter removed). + +2010 11 17 - **r29** (69.563 KB) +-------------------------------- + +- **New materials API** Still work in progress, but mostly there. + (`alteredq `_ & + `mrdoob `_) +- Line clipping in ``CanvasRenderer`` + (`julianwa `_) +- Refactored ``CanvasRenderer`` and ``SVGRenderer``. + (`mrdoob `_) +- Switched to Closure compiler. + +2010 11 04 - **r28** (62.802 KB) +-------------------------------- + +- ``Loader`` class allows load geometry asynchronously at runtime. + (`alteredq `_) +- ``MeshPhongMaterial`` working with ``WebGLRenderer``. + (`alteredq `_) +- Support for *huge* objects. Max 500k polys and counting. + (`alteredq `_) +- ``Projector.unprojectVector`` and ``Ray`` class to check + intersections with faces (based on + `mindlapse `_ work) +- Fixed ``Projector`` z-sorting (not as jumpy anymore). +- Fixed Orthographic projection (was y-inverted). +- Hmmm.. lib file size starting to get too big... + +2010 10 28 - **r25** (54.480 KB) +-------------------------------- + +- ``WebGLRenderer`` now up to date with other renderers! + (`alteredq `_) +- .obj to .js python converter + (`alteredq `_) +- Blender 2.54 exporter +- Added ``MeshFaceMaterial`` (multipass per face) +- Reworked ``CanvasRenderer`` and ``SVGRenderer`` material handling + +2010 10 06 - **r18** (44.420 KB) +-------------------------------- + +- Added ``PointLight`` +- ``CanvasRenderer`` and ``SVGRenderer`` basic lighting support + (ColorStroke/ColorFill only) +- ``Renderer`` > ``Projector``. ``CanvasRenderer``, ``SVGRenderer`` and + ``DOMRenderer`` do not extend anymore +- Added ``computeCentroids`` method to ``Geometry`` + +2010 09 17 - **r17** (39.487 KB) +-------------------------------- + +- Added ``Light``, ``AmbientLight`` and ``DirectionalLight`` + (`philogb `_) +- ``WebGLRenderer`` basic lighting support + (`philogb `_) +- Memory optimisations + +2010 08 21 - **r16** (35.592 KB) +-------------------------------- + +- Workaround for Opera bug (clearRect not working with context with + negative scale) +- Additional ``Matrix4`` and ``Vector3`` methods + +2010 07 23 - **r15** (32.440 KB) +-------------------------------- + +- Using new object ``UV`` instead of ``Vector2`` where it should be + used +- Added ``Mesh.flipSided`` boolean (false by default) +- ``CanvasRenderer`` was handling UVs at 1,1 as bitmapWidth, + bitmapHeight (instead of bitmapWidth - 1, bitmapHeight - 1) +- ``ParticleBitmapMaterial.offset`` added +- Fixed gap when rendering ``Face4`` with + ``MeshBitmapUVMappingMaterial`` + +2010 07 17 - **r14** (32.144 KB) +-------------------------------- + +- Refactored ``CanvasRenderer`` (more duplicated code, but easier to + handle) +- ``Face4`` now supports ``MeshBitmapUVMappingMaterial`` +- Changed order of ``*StrokeMaterial`` parameters. Now it's ``color``, + ``opacity``, ``lineWidth``. +- ``BitmapUVMappingMaterial`` > ``MeshBitmapUVMappingMaterial`` +- ``ColorFillMaterial`` > ``MeshColorFillMaterial`` +- ``ColorStrokeMaterial`` > ``MeshColorStrokeMaterial`` +- ``FaceColorFillMaterial`` > ``MeshFaceColorFillMaterial`` +- ``FaceColorStrokeMaterial`` > ``MeshFaceColorStrokeMaterial`` +- ``ColorStrokeMaterial`` > ``LineColorMaterial`` +- ``Rectangle.instersects`` returned false with rectangles with 0px + witdh or height + +2010 07 12 - **r13** (29.492 KB) +-------------------------------- + +- Added ``ParticleCircleMaterial`` and ``ParticleBitmapMaterial`` +- ``Particle`` now use ``ParticleCircleMaterial`` instead of + ``ColorFillMaterial`` +- ``Particle.size`` > ``Particle.scale.x`` and ``Particle.scale.y`` +- ``Particle.rotation.z`` for rotating the particle +- ``SVGRenderer`` currently out of sync + +2010 07 07 - **r12** (28.494 KB) +-------------------------------- + +- First version of the ``WebGLRenderer`` (``ColorFillMaterial`` and + ``FaceColorFillMaterial`` by now) +- ``Matrix4.lookAt`` fix (``CanvasRenderer`` and ``SVGRenderer`` now + handle the -Y) +- ``Color`` now using 0-1 floats instead of 0-255 integers + +2010 07 03 - **r11** (23.541 KB) +-------------------------------- + +- Blender 2.5 exporter (utils/export\_threejs.py) now exports UV and + normals (Thx `kikko `_) +- ``Scene.add`` > ``Scene.addObject`` +- Enabled ``Scene.removeObject`` + +2010 06 22 - **r10** (23.959 KB) +-------------------------------- + +- Changed Camera system. (Thx `Paul + Brunt `_) +- ``Object3D.overdraw = true`` to enable CanvasRenderer screen space + point expansion hack. + +2010 06 20 - **r9** (23.753 KB) +------------------------------- + +- JSLinted. +- ``autoClear`` property for renderers. +- Removed SVG rgba() workaround for WebKit. (WebKit now supports it) +- Fixed matrix bug. (transformed objects outside the x axis would get + infinitely tall :S) + +2010 06 06 - **r8** (23.496 KB) +------------------------------- + +- Moved UVs to ``Geometry``. +- ``CanvasRenderer`` expands screen space points (workaround for + antialias gaps). +- ``CanvasRenderer`` supports ``BitmapUVMappingMaterial``. + +2010 06 05 - **r7** (22.387 KB) +------------------------------- + +- Added Line Object. +- Workaround for WebKit not supporting rgba() in SVG yet. +- No need to call updateMatrix(). Use .autoUpdateMatrix = false if + needed. (Thx `Gregory Athons `_). + +2010 05 17 - **r6** (21.003 KB) +------------------------------- + +- 2d clipping on ``CanvasRenderer`` and ``SVGRenderer`` +- ``clearRect`` optimisations on ``CanvasRenderer`` + +2010 05 16 - **r5** (19.026 KB) +------------------------------- + +- Removed Class.js dependency +- Added ``THREE`` namespace +- ``Camera.x`` -> ``Camera.position.x`` +- ``Camera.target.x`` > ``Camera.target.position.x`` +- ``ColorMaterial`` > ``ColorFillMaterial`` +- ``FaceColorMaterial`` > ``FaceColorFillMaterial`` +- Materials are now multipass (use array) +- Added ``ColorStrokeMaterial`` and ``FaceColorStrokeMaterial`` +- ``geometry.faces.a`` are now indexes instead of references + +2010 04 26 - **r4** (16.274 KB) +------------------------------- + +- ``SVGRenderer`` Particle rendering +- ``CanvasRenderer`` uses ``context.setTransform`` to avoid extra + calculations + +2010 04 24 - **r3** (16.392 KB) +------------------------------- + +- Fixed incorrect rotation matrix transforms +- Added ``Plane`` and ``Cube`` primitives + +2010 04 24 - **r2** (15.724 KB) +------------------------------- + +- Improved ``Color`` handling + +2010 04 24 - **r1** (15.25 KB) +------------------------------ + +- First alpha release + diff --git a/doc/conf.py b/doc/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..5be6989a9589ae5323ca1778c09c8d248a1bc95e --- /dev/null +++ b/doc/conf.py @@ -0,0 +1,246 @@ +# -*- coding: utf-8 -*- +# +# three.js documentation build configuration file, created by +# sphinx-quickstart on Tue Nov 29 15:37:27 2011. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'three.js' +copyright = u'2011, three.js Authors' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = 'r46' +# The full version, including alpha/beta/rc tags. +release = 'r46' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +highlight_language = 'javascript' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'nature' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'threejsdoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'threejs.tex', u'three.js Documentation', + u'three.js Authors', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'threejs', u'three.js Documentation', + [u'three.js Authors'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'threejs', u'three.js Documentation', + u'three.js Authors', 'threejs', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +primary_domain = "js" diff --git a/doc/index.rst b/doc/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..799f01a1be052e27bba826006b45062370485865 --- /dev/null +++ b/doc/index.rst @@ -0,0 +1,33 @@ +three.js - Javascript 3D Engine +=============================== + +The aim of the project is to create a lightweight 3D engine with a very low +level of complexity — in other words, for dummies. The engine can render using +, and WebGL. + +* `Clone on GitGub `_ +* `Report an Issue `_ +* IRC: ``#three.js`` on ``irc.freenode.net`` + +Contents +-------- + +.. toctree:: + :maxdepth: 1 + + changelog.rst + tutorial.rst + +API +--- + +.. toctree:: + + api/THREE.rst + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` + diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 0000000000000000000000000000000000000000..dc1dc502e1ebb4e1b6b4901e1ad830c8e0b76412 --- /dev/null +++ b/doc/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\threejs.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\threejs.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/doc/tutorial.rst b/doc/tutorial.rst new file mode 100644 index 0000000000000000000000000000000000000000..0739e57998f087114f3dd1143a9e01310647f80c --- /dev/null +++ b/doc/tutorial.rst @@ -0,0 +1,4 @@ +Tutorial +======== + +tutorial \ No newline at end of file