未验证 提交 c4a20fb3 编写于 作者: M Mr.doob 提交者: GitHub

Merge branch 'dev' into collada-exporter

# Help
#### The issues section is for bug reports and feature requests only. If you need help, please use [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
#### The issues section is for bug reports and feature requests only. If you need help, please use the [forum](http://discourse.threejs.org/) or [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
---
# Bugs
#### Before reporting a bug
......@@ -14,7 +14,7 @@
1. Specify the revision number of the three.js library where the bug occurred.
2. Specify your browser version, operating system, and graphics card. (for example, Chrome 23.0.1271.95, Windows 7, Nvidia Quadro 2000M)
3. Describe the problem in detail. Explain what happened, and what you expected would happen.
4. Provide a small test-case (http://jsfiddle.net). [Here is a fiddle](http://jsfiddle.net/akmcv7Lh/) you can edit that runs the current version. [And here is a fiddle](http://jsfiddle.net/hw9rcLL8/) that uses the dev branch. If a test-case is not possible, provide a link to a live version of your application.
4. Provide a small test-case (http://jsfiddle.net). [Here is a fiddle](https://jsfiddle.net/3foLr7sn/) you can edit that runs the current version. [And here is a fiddle](https://jsfiddle.net/qgu17w5o/) that uses the dev branch. If a test-case is not possible, provide a link to a live version of your application.
5. If helpful, include a screenshot. Annotate the screenshot for clarity.
---
......
......@@ -11,8 +11,8 @@ Always include a code snippet, screenshots, and any relevant models or textures
Please also include a live example if possible. You can start from these templates:
* [jsfiddle](https://jsfiddle.net/s3rjfcc3/) (latest release branch)
* [jsfiddle](https://jsfiddle.net/ptgwhemb/) (dev branch)
* [jsfiddle](https://jsfiddle.net/3foLr7sn/) (latest release branch)
* [jsfiddle](https://jsfiddle.net/qgu17w5o/) (dev branch)
* [codepen](https://codepen.io/anon/pen/aEBKxR) (latest release branch)
* [codepen](https://codepen.io/anon/pen/BJWzaN) (dev branch)
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -18,7 +18,7 @@
<h2>Constructor</h2>
<h3>[name]( binding, typeName, valueSize )</h3>
<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
<p>
-- binding <br />
-- typeName <br />
......@@ -29,12 +29,12 @@
<h2>Properties</h2>
<h3>[property:Number binding]</h3>
<h3>[property:PropertyBinding binding]</h3>
<p>
</p>
<h3>[property:Number buffer]</h3>
<h3>[property:TypedArray buffer]</h3>
<p>
Buffer with size [page:PropertyMixer valueSize] * 4. <br /><br />
This has the layout: [ incoming | accu0 | accu1 | orig ]<br /><br />
......@@ -67,14 +67,14 @@
<h2>Methods</h2>
<h3>[method:null accumulate]( accuIndex, weight )</h3>
<h3>[method:null accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
<p>
Accumulate data in [page:PropertyMixer.buffer buffer][accuIndex] 'incoming' region into 'accu[i]'.<br />
If weight is *0* this does nothing.
</p>
<h3>[method:null apply]( accuIndex )</h3>
<h3>[method:null apply]( [param:Number accuIndex] )</h3>
<p>
Apply the state of [page:PropertyMixer.buffer buffer] 'accu[i]' to the binding when accus differ.
</p>
......
......@@ -64,7 +64,7 @@
Return a new camera with the same properties as this one.
</p>
<h3>[method:Camera copy]( [param:Camera source] )</h3>
<h3>[method:Camera copy]( [param:Camera source], [param:Boolean recursive] )</h3>
<p>
Copy the properties from the source camera into this one.
</p>
......
......@@ -55,7 +55,7 @@
<h2>Methods</h2>
<h3>[method:null update]( camera )</h3>
<h3>[method:null update]( [param:PerspectiveCamera camera] )</h3>
<p>
Update the stereo cameras based on the camera passed in.
</p>
......
......@@ -131,28 +131,28 @@
<h3>[method:null 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:BufferAttribute copyColorsArray]( colors ) </h3>
<h3>[method:BufferAttribute copyColorsArray]( [param:Array colors] ) </h3>
<p>Copy an array representing RGB color values into [page:BufferAttribute.array array].</p>
<h3>[method:BufferAttribute copyVector2sArray]( vectors ) </h3>
<h3>[method:BufferAttribute copyVector2sArray]( [param:Array vectors] ) </h3>
<p>Copy an array representing [page:Vector2]s into [page:BufferAttribute.array array].</p>
<h3>[method:BufferAttribute copyVector3sArray]( vectors ) </h3>
<h3>[method:BufferAttribute copyVector3sArray]( [param:Array vectors] ) </h3>
<p>Copy an array representing [page:Vector3]s into [page:BufferAttribute.array array].</p>
<h3>[method:BufferAttribute copyVector4sArray]( vectors ) </h3>
<h3>[method:BufferAttribute copyVector4sArray]( [param:Array vectors] ) </h3>
<p>Copy an array representing [page:Vector4]s into [page:BufferAttribute.array array].</p>
<h3>[method:Number getX]( index ) </h3>
<h3>[method:Number getX]( [param:Integer index] ) </h3>
<p>Returns the x component of the vector at the given index.</p>
<h3>[method:Number getY]( index ) </h3>
<h3>[method:Number getY]( [param:Integer index] ) </h3>
<p>Returns the y component of the vector at the given index.</p>
<h3>[method:Number getZ]( index ) </h3>
<h3>[method:Number getZ]( [param:Integer index] ) </h3>
<p>Returns the z component of the vector at the given index.</p>
<h3>[method:Number getW]( index ) </h3>
<h3>[method:Number getW]( [param:Integer index] ) </h3>
<p>Returns the w component of the vector at the given index.</p>
<h3>[method:null onUpload]( [param:Function callback] ) </h3>
......@@ -185,25 +185,25 @@
<h3>[method:BufferAttribute setDynamic] ( [param:Boolean value] ) </h3>
<p>Set [page:BufferAttribute.dynamic dynamic] to value.</p>
<h3>[method:BufferAttribute setX]( index, x ) </h3>
<h3>[method:BufferAttribute setX]( [param:Integer index], [param:Float x] ) </h3>
<p>Sets the x component of the vector at the given index.</p>
<h3>[method:BufferAttribute setY]( index, y ) </h3>
<h3>[method:BufferAttribute setY]( [param:Integer index], [param:Float y] ) </h3>
<p>Sets the y component of the vector at the given index.</p>
<h3>[method:BufferAttribute setZ]( index, z ) </h3>
<h3>[method:BufferAttribute setZ]( [param:Integer index], [param:Float z] ) </h3>
<p>Sets the z component of the vector at the given index.</p>
<h3>[method:BufferAttribute setW]( index, w ) </h3>
<h3>[method:BufferAttribute setW]( [param:Integer index], [param:Float w] ) </h3>
<p>Sets the w component of the vector at the given index.</p>
<h3>[method:BufferAttribute setXY]( index, x, y ) </h3>
<h3>[method:BufferAttribute setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
<p>Sets the x and y components of the vector at the given index.</p>
<h3>[method:BufferAttribute setXYZ]( index, x, y, z ) </h3>
<h3>[method:BufferAttribute setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
<p>Sets the x, y and z components of the vector at the given index.</p>
<h3>[method:BufferAttribute setXYZW]( index, x, y, z, w ) </h3>
<h3>[method:BufferAttribute setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
<p>Sets the x, y, z and w components of the vector at the given index.</p>
......
......@@ -91,13 +91,13 @@
<h2>Methods</h2>
<h3>[property:null computeGroups]( [page:Geometry geometry] )</h3>
<h3>[property:null computeGroups]( [param:Geometry geometry] )</h3>
<p>
Compute the parts of the geometry that have different materialIndex.
See [page:BufferGeometry.groups].
</p>
<h3>[property:null fromGeometry]( [page:Geometry geometry] )</h3>
<h3>[property:null fromGeometry]( [param:Geometry geometry] )</h3>
<p>Pass in a [page:Geometry] instance for conversion.</p>
......
......@@ -91,15 +91,15 @@
Set [page:InterleavedBuffer.dynamic dynamic] to value.
</p>
<h3>[method:InterleavedBuffer copy]( source ) </h3>
<h3>[method:InterleavedBuffer copy]( [param:InterleavedBuffer source] ) </h3>
<p>
Copies another [name] to this [name].
</p>
<h3>[method:InterleavedBuffer copyAt]( index1, attribute, index2 ) </h3>
<h3>[method:InterleavedBuffer copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] ) </h3>
<p>Copies data from attribute[index2] to [page:InterleavedBuffer.array array][index1].</p>
<h3>[method:InterleavedBuffer set]( value, offset ) </h3>
<h3>[method:InterleavedBuffer 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 *0*.<br/><br />
......
......@@ -62,37 +62,37 @@
<h2>Methods</h2>
<h3>[method:Number getX]( index ) </h3>
<h3>[method:Number getX]( [param:Integer index] ) </h3>
<p>Returns the x component of the item at the given index.</p>
<h3>[method:Number getY]( index ) </h3>
<h3>[method:Number getY]( [param:Integer index] ) </h3>
<p>Returns the y component of the item at the given index.</p>
<h3>[method:Number getZ]( index ) </h3>
<h3>[method:Number getZ]( [param:Integer index] ) </h3>
<p>Returns the z component of the item at the given index.</p>
<h3>[method:Number getW]( index ) </h3>
<h3>[method:Number getW]( [param:Integer index] ) </h3>
<p>Returns the w component of the item at the given index.</p>
<h3>[method:null setX]( index, x ) </h3>
<h3>[method:null setX]( [param:Integer index], [param:Float x] ) </h3>
<p>Sets the x component of the item at the given index.</p>
<h3>[method:null setY]( index, y ) </h3>
<h3>[method:null setY]( [param:Integer index], [param:Float y] ) </h3>
<p>Sets the y component of the item at the given index.</p>
<h3>[method:null setZ]( index, z ) </h3>
<h3>[method:null setZ]( [param:Integer index], [param:Float z] ) </h3>
<p>Sets the z component of the item at the given index.</p>
<h3>[method:null setW]( index, w ) </h3>
<h3>[method:null setW]( [param:Integer index], [param:Float w] ) </h3>
<p>Sets the w component of the item at the given index.</p>
<h3>[method:null setXY]( index, x, y ) </h3>
<h3>[method:null setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
<p>Sets the x and y components of the item at the given index.</p>
<h3>[method:null setXYZ]( index, x, y, z ) </h3>
<h3>[method:null setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
<p>Sets the x, y and z components of the item at the given index.</p>
<h3>[method:null setXYZW]( index, x, y, z, w ) </h3>
<h3>[method:null setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
<p>Sets the x, y, z and w components of the item at the given index.</p>
......
......@@ -39,7 +39,7 @@
<h3>[property:Boolean frustumCulled]</h3>
<p>
When this is set, it checks every frame if the object is in the frustum of the camera before rendering the object.
Otherwise the object gets renderered every frame even if it isn't visible. Default is *true*.
Otherwise the object gets rendered every frame even if it isn't visible. Default is *true*.
</p>
<h3>[property:Integer id]</h3>
......
......@@ -78,7 +78,7 @@
[page:Vector3 origin] — The origin vector where the ray casts from.<br />
[page:Vector3 direction] — The direction vector that gives direction to the ray. Should be normalized.<br />
[page:Float near] — All results returned are further away than near. Near can't be negative. Default value is 0.<br />
[page:Float far] — All results returned are closer then far. Far can't be lower then near . Default value is Infinity.
[page:Float far] — All results returned are closer than far. Far can't be lower than near. Default value is Infinity.
</p>
<p>
This creates a new raycaster object.<br />
......@@ -144,7 +144,7 @@
Updates the ray with a new origin and direction.
</p>
<h3>[method:Array intersectObject]( [page:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
<h3>[method:Array intersectObject]( [param:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
<p>
[page:Object3D object] — The object to check for intersection with the ray.<br />
[page:Boolean recursive] — If true, it also checks all descendants. Otherwise it only checks intersecton with the object. Default is false.<br />
......
......@@ -50,7 +50,7 @@
<p>See the base [page:LineSegments] class for common methods.</p>
<h3>[method:void updateMatrixWorld]( force )</h3>
<h3>[method:void updateMatrixWorld]( [param:Boolean force] )</h3>
<p>
This overrides the method in the base [page:Object3D] class so that it
also updates the wireframe box to the extent of the [page:Box3Helper.box .box]
......
......@@ -51,7 +51,7 @@
<h2>Methods</h2>
<p>See the base [page:LineSegments] class for common methods.</p>
<h3>[method:void updateMatrixWorld]( force )</h3>
<h3>[method:void updateMatrixWorld]( [param:Boolean force] )</h3>
<p>
This overrides the method in the base [page:Object3D] class so that it also
updates the helper object according to the [page:PlaneHelper.plane .plane] and
......
......@@ -52,10 +52,10 @@
</p>
<code>
// White directional light at half intensity shining from the top.
var directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );
scene.add( directionalLight );
</code>
// White directional light at half intensity shining from the top.
var directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );
scene.add( directionalLight );
</code>
<h2>Constructor</h2>
......@@ -104,26 +104,28 @@ scene.add( directionalLight );
*Note*: For the target's position to be changed to anything other than the default,
it must be added to the [page:Scene scene] using
<code>
scene.add( light.target );
</code>
</p>
<code>
scene.add( light.target );
</code>
<p>
This is so that the target's [page:Object3D.matrixWorld matrixWorld] gets automatically
updated each frame.<br /><br />
It is also possible to set the target to be another object in the scene (anything with a
[page:Object3D.position position] property), like so:
<code>
var targetObject = new THREE.Object3D();
scene.add(targetObject);
</p>
<code>
var targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
</code>
light.target = targetObject;
</code>
<p>
The directionalLight will now track the target object.
</p>
<h2>Methods</h2>
See the base [page:Light Light] class for common methods.
......
......@@ -85,12 +85,6 @@
<p>The base path from which files will be loaded. See [page:.setPath]. Default is *undefined*.</p>
<h3>[property:String withCredentials]</h3>
<p>
Whether the XMLHttpRequest uses credentials - see [page:.setWithCredentials].
Default is *undefined*.
</p>
<h2>Methods</h2>
<h3>[method:Texture load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
......@@ -114,13 +108,6 @@
you are loading many models from the same directory.
</p>
<h3>[method:FileLoader setWithCredentials]( [param:Boolean value] )</h3>
<p>
Whether the XMLHttpRequest uses credentials such as cookies, authorization headers or
TLS client certificates. See
[link:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials XMLHttpRequest.withCredentials].<br />
Note that this has no effect if you are loading files locally or from the same domain.
</p>
<h2>Source</h2>
......
......@@ -19,10 +19,6 @@
<h2>Example</h2>
<p>
[example:webgl_loader_scene WebGL / loader / scene]<br />
</p>
<p>
You can optionally set the [page:LoadingManager.onStart onStart], [page:LoadingManager.onLoad onLoad],
[page:LoadingManager.onProgress onProgress], [page:LoadingManager.onStart onError] functions for the manager.
......
......@@ -75,8 +75,8 @@ var material = new THREE.LineBasicMaterial( {
<p>
Controls line thickness. Default is *1*.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
with the [page:WebGLRenderer WebGL] renderer on Windows platforms linewidth will
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
......
......@@ -70,8 +70,8 @@ var material = new THREE.LineDashedMaterial( {
<p>
Controls line thickness. Default is *1*.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
with the [page:WebGLRenderer WebGL] renderer on Windows platforms linewidth will
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
......
......@@ -162,8 +162,7 @@
<h3>[property:Boolean needsUpdate]</h3>
<p>
Specifies that the material needs to be updated at the WebGL level.
Set it to true if you made changes that need to be reflected in WebGL.<br />
Specifies that the material needs to be recompiled.<br />
This property is automatically set to *true* when instancing a new material.
</p>
......
......@@ -151,8 +151,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -107,8 +107,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -101,7 +101,7 @@
<h3>[property:Texture emissiveMap]</h3>
<p>
Set emisssive (glow) map. Default is null. The emissive map color is modulated by
Set emissive (glow) map. Default is null. The emissive map color is modulated by
the emissive color and the emissive intensity. If you have an emissive map, be sure to
set the emissive color to something other than black.
</p>
......@@ -177,8 +177,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -68,8 +68,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -247,8 +247,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -274,8 +274,9 @@
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
<h2>Methods</h2>
......
......@@ -55,7 +55,7 @@ var starField = new THREE.Points( starsGeometry, starsMaterial );
scene.add( starField );
</code>
<h3>[name]( [page:Object parameters] )</h3>
<h3>[name]( [param:Object parameters] )</h3>
<p>
[page:Object parameters] - (optional) an object with one or more properties defining the material's appearance.
Any property of the material (including any property inherited from [page:Material]) can be passed in here.<br /><br />
......
......@@ -371,8 +371,9 @@ this.extensions = {
<h3>[property:Float linewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
......@@ -443,8 +444,9 @@ this.extensions = {
<h3>[property:Float wireframeLinewidth]</h3>
<p>Controls wireframe thickness. Default is 1.<br /><br />
Due to limitations in the [link:https://code.google.com/p/angleproject ANGLE layer],
on Windows platforms linewidth will always be 1 regardless of the set value.
Due to limitations of the [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile)
with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will
always be 1 regardless of the set value.
</p>
......
......@@ -37,7 +37,7 @@ scene.add( sprite );
</code>
<h3>[name]( [page:Object parameters] )</h3>
<h3>[name]( [param:Object parameters] )</h3>
<p>
[page:Object parameters] - (optional) an object with one or more properties defining the material's appearance.
Any property of the material (including any property inherited from [page:Material]) can be passed in here.<br /><br />
......
......@@ -23,7 +23,7 @@
[page:Vector2 min] - (optional) [page:Vector2] representing the lower (x, y) boundary of the box.
Default is ( + Infinity, + Infinity ).<br>
[page:Vector2 max] - (optional) [page:Vector2] representing the lower upper (x, y) boundary of the box.
[page:Vector2 max] - (optional) [page:Vector2] representing the upper (x, y) boundary of the box.
Default is ( - Infinity, - Infinity ).<br /><br />
Creates a [name] bounded by min and max.
......@@ -172,7 +172,7 @@
<h3>[method:Box2 set]( [param:Vector2 min], [param:Vector2 max] )</h3>
<p>
[page:Vector2 min] - (required ) [page:Vector2] representing the lower (x, y) boundary of the box. <br>
[page:Vector2 max] - (required) [page:Vector2] representing the lower upper (x, y) boundary of the box. <br /><br />
[page:Vector2 max] - (required) [page:Vector2] representing the upper (x, y) boundary of the box. <br /><br />
Sets the lower and upper (x, y) boundaries of this box.
</p>
......
......@@ -50,7 +50,7 @@
and [page:.y y] properties to this cylindrical.
</p>
<h3>[method:Cylindrical set]( [param:Float radius], [param:Float phi], [param:Float theta] )</h3>
<h3>[method:Cylindrical set]( [param:Float radius], [param:Float theta], [param:Float y] )</h3>
<p>Sets values of this cylindrical's [page:.radius radius], [page:.theta theta]
and [page:.y y] properties.</p>
......
......@@ -176,8 +176,13 @@
Returns an array of the form [[page:.x x], [page:.y y], [page:.z z], [page:.order order ]].
</p>
<h3>[method:Vector3 toVector3]()</h3>
<p>Returns the Euler's [page:.x x], [page:.y y] and [page:.z z] properties as a [page:Vector3].</p>
<h3>[method:Vector3 toVector3]( [param:Vector3 optionalResult] )</h3>
<p>
[page:Vector3 optionalResult] — (optional) If specified, the result will be copied into this Vector,
otherwise a new one will be created. <br /><br />
Returns the Euler's [page:.x x], [page:.y y] and [page:.z z] properties as a [page:Vector3].
</p>
<h2>Source</h2>
......
......@@ -54,12 +54,7 @@
and [page:Float t] = 1 will return [page:Float y].
</p>
<h3>[method:Float mapLinear](
[page:Float x],
[page:Float a1],
[page:Float a2],
[page:Float b1],
[page:Float b2] )</h3>
<h3>[method:Float mapLinear]( [param:Float x], [param:Float a1], [param:Float a2], [param:Float b1], [param:Float b2] )</h3>
<p>
[page:Float x] — Value to be mapped.<br />
[page:Float a1] — Minimum value for range A.<br />
......
......@@ -144,12 +144,7 @@ m.elements = [ 11, 21, 31,
<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
<p>Multiplies every component of the matrix by the scalar value *s*.</p>
<h3>
[method:this set](
[page:Float n11], [page:Float n12], [page:Float n13],
[page:Float n21], [page:Float n22], [page:Float n23],
[page:Float n31], [page:Float n32], [page:Float n33] )
</h3>
<h3>[method:this set]( [param:Float n11], [param:Float n12], [param:Float n13], [param:Float n21], [param:Float n22], [param:Float n23], [param:Float n31], [param:Float n32], [param:Float n33] )</h3>
<p>
[page:Float n11] - value to put in row 1, col 1.<br />
[page:Float n12] - value to put in row 1, col 2.<br />
......@@ -169,11 +164,7 @@ m.elements = [ 11, 21, 31,
<h3>[method:this setFromMatrix4]( [param:Matrix4 m] )</h3>
<p>Set this matrx to the upper 3x3 matrix of the Matrix4 [page:Matrix4 m].</p>
<h3>
[method:this setUvTransform](
[page:Float tx], [page:Float ty], [page:Float sx], [page:Float sy],
[page:Float rotation], [page:Float cx], [page:Float cy] )
</h3>
<h3>[method:this setUvTransform]( [param:Float tx], [param:Float ty], [param:Float sx], [param:Float sy], [param:Float rotation], [param:Float cx], [param:Float cy] )</h3>
<p>
[page:Float tx] - offset x<br />
[page:Float ty] - offset y<br />
......
......@@ -368,11 +368,7 @@ x, y, 1, 0,
<h3>[method:this scale]( [param:Vector3 v] )</h3>
<p>Multiplies the columns of this matrix by vector [page:Vector3 v].</p>
<h3>[method:this set](
[page:Float n11], [page:Float n12], [page:Float n13], [page:Float n14],
[page:Float n21], [page:Float n22], [page:Float n23], [page:Float n24],
[page:Float n31], [page:Float n32], [page:Float n33], [page:Float n34],
[page:Float n41], [page:Float n42], [page:Float n43], [page:Float n44] )</h3>
<h3>[method:this set]( [param:Float n11], [param:Float n12], [param:Float n13], [param:Float n14], [param:Float n21], [param:Float n22], [param:Float n23], [param:Float n24], [param:Float n31], [param:Float n32], [param:Float n33], [param:Float n34], [param:Float n41], [param:Float n42], [param:Float n43], [param:Float n44] )</h3>
<p>
Set the [page:.elements elements] of this matrix to the supplied row-major values [page:Float n11],
[page:Float n12], ... [page:Float n44].
......
......@@ -59,13 +59,17 @@
<h2>Methods</h2>
<h3>[method:Float angleTo]( [param:Quaternion q] )</h3>
<p>
Returns the angle between this quaternion and quaternion [page:Quaternion q] in radians.
</p>
<h3>[method:Quaternion clone]()</h3>
<p>
Creates a new Quaternion with identical [page:.x x], [page:.y y],
[page:.z z] and [page:.w w] properties to this one.
</p>
<h3>[method:Quaternion conjugate]()</h3>
<p>
Returns the rotational conjugate of this quaternion. The conjugate of a quaternion
......@@ -165,6 +169,15 @@
<h3>[method:Quaternion premultiply]( [param:Quaternion q] )</h3>
<p>Pre-multiplies this quaternion by [page:Quaternion q].</p>
<h3>[method:Quaternion rotateTowards]( [param:Quaternion q], [param:Float step] )</h3>
<p>
[page:Quaternion q] - The target quaternion.<br />
[page:float step] - The angular step in radians.<br /><br />
Rotates this quaternion by a given angular step to the defined quaternion *q*.
The method ensures that the final quaternion will not overshoot *q*.
</p>
<h3>[method:Quaternion slerp]( [param:Quaternion qb], [param:float t] )</h3>
<p>
[page:Quaternion qb] - The other quaternion rotation<br />
......@@ -257,17 +270,7 @@ q.slerp( qb, t )
</p>
<h3>
[method:null slerpFlat](
[page:Array dst],
[page:Integer dstOffset],
[page:Array src0],
[page:Integer srcOffset0],
[page:Array src1],
[page:Integer srcOffset1],
[page:Float t]
)
</h3>
<h3>[method:null slerpFlat]( [param:Array dst], [param:Integer dstOffset], [param:Array src0], [param:Integer srcOffset0], [param:Array src1], [param:Integer srcOffset1], [param:Float t] )</h3>
<p>
[page:Array dst] - The output array.<br />
[page:Integer dstOffset] - An offset into the output array.<br />
......
......@@ -176,6 +176,12 @@
Calculates the [link:https://en.wikipedia.org/wiki/Dot_product dot product] of this
vector and [page:Vector2 v].
</p>
<h3>[method:Float cross]( [param:Vector2 v] )</h3>
<p>
Calculates the [link:https://en.wikipedia.org/wiki/Cross_product cross product] of this
vector and [page:Vector2 v]. Note that a 'cross-product' in 2D is not well-defined. This function computes a geometric cross-product often used in 2D graphics
</p>
<h3>[method:Boolean equals]( [param:Vector2 v] )</h3>
<p>Checks for strict equality of this vector and [page:Vector2 v].</p>
......
......@@ -21,6 +21,10 @@
</p>
<h2>Example</h2>
<p>
[example:webgl_lod webgl / lod ]
</p>
<code>
var lod = new THREE.LOD();
......
......@@ -86,7 +86,7 @@
<h2>Methods</h2>
<p>See the base [page:Object3D] class for common methods.</p>
<h3>[method:null setDrawMode]()</h3>
<h3>[method:null setDrawMode]( [param:Integer value] )</h3>
<p>Set the value of [page:.drawMode drawMode].</p>
<h3>[method:Mesh clone]()</h3>
......
......@@ -211,7 +211,7 @@
Keep in mind that the standard materials only allow 4 MorphNormals.
</p>
<h3>[property:Integer physicallyCorrectLights]</h3>
<h3>[property:Boolean physicallyCorrectLights]</h3>
<p>
Whether to use physically correct lighting mode. Default is *false*.
See the [example:webgl_lights_physical lights / physical] example.
......@@ -392,7 +392,7 @@
either the [page:WebGLRenderer.autoClearColor autoClearColor], [page:WebGLRenderer.autoClearStencil autoClearStencil] or [page:WebGLRenderer.autoClearDepth autoClearDepth] properties to false.
</p>
<h3>[method:null renderBufferDirect]( [param:Camera camera], [param:Array lights], [param:Fog fog], [param:Material material], [param:Object geometryGroup], [param:Object3D object] )</h3>
<h3>[method:null renderBufferDirect]( [param:Camera camera], [param:Fog fog], [param:Geometry geometry], [param:Material material], [param:Object3D object], [param:Object group] )</h3>
<p>Render a buffer geometry group using the camera and with the specified material.</p>
<h3>[method:null renderBufferImmediate]( [param:Object3D object], [param:shaderprogram program], [param:Material shading] )</h3>
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../../" />
<script src="list.js"></script>
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>[name]</h1>
<p class="desc">The Webglrenderer plugin class that allows Sprites to be rendered in the WebglRenderer. This plugin is automatically loaded in the Webglrenderer.</p>
<h2>Constructor</h2>
<h3>[name]()</h3>
<p>
Creates a new [name].
</p>
<h2>Methods</h2>
<h3>[method:null render]( [param:Scene scene], [param:Camera camera] )</h3>
<p>
scene -- The scene to render. <br />
camera -- The camera to render.
</p>
<p>
Renders the sprites defined in the scene. This gets automatically called as post-render function to draw the lensflares.
</p>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
......@@ -234,12 +234,12 @@
[page:Texture.rotation .rotation], and [page:Texture.center .center].
</p>
<h3>[method:Texture clone]( [param:Texture texture] )</h3>
<h3>[method:Texture clone]()</h3>
<p>
Make copy of the texture. Note this is not a "deep copy", the image is shared.
</p>
<h3>[method:Texture toJSON]( meta )</h3>
<h3>[method:Texture toJSON]( [param:Object meta] )</h3>
<p>
meta -- optional object containing metadata.<br />
Convert the material to three.js JSON format.
......@@ -250,7 +250,7 @@
Call [page:EventDispatcher EventDispatcher].dispatchEvent with a 'dispose' event type.
</p>
<h3>[method:null transformUv]( uv )</h3>
<h3>[method:null transformUv]( [param:Vector2 uv] )</h3>
<p>
Transform the uv based on the value of this texture's [page:Texture.offset .offset], [page:Texture.repeat .repeat],
[page:Texture.wrapS .wrapS], [page:Texture.wrapT .wrapT] and [page:Texture.flipY .flipY] properties.
......
......@@ -190,9 +190,9 @@ controls.keys = {
This object contains references to the mouse buttons used for the controls.
<code>
controls.mouseButtons = {
ORBIT: THREE.MOUSE.LEFT,
ZOOM: THREE.MOUSE.MIDDLE,
PAN: THREE.MOUSE.RIGHT
LEFT: THREE.MOUSE.LEFT,
MIDDLE: THREE.MOUSE.MIDDLE,
RIGHT: THREE.MOUSE.RIGHT
}
</code>
</p>
......
......@@ -41,9 +41,10 @@
<h2>Methods</h2>
<h3>[method:ArrayBufferOrString parse]( [param:Object3D input], [param:Object options] )</h3>
<h3>[method:null parse]( [param:Object3D input], [param:Function onDone], [param:Object options] )</h3>
<p>
[page:Object input] — Object3D<br />
[page:Function onCompleted] — Will be called when the export completes. The argument will be the generated ply ascii or binary ArrayBuffer.<br />
[page:Options options] — Export options<br />
<ul>
<li>excludeAttributes - array. Which properties to explicitly exclude from the exported PLY file. Valid values are 'color', 'normal', 'uv', and 'index'. If triangle indices are excluded, then a point cloud is exported. Default is an empty array.</li>
......@@ -51,7 +52,8 @@
</ul>
</p>
<p>
Generates ply file data as string or ArrayBuffer (ascii or binary) output from the input object.
Generates ply file data as string or ArrayBuffer (ascii or binary) output from the input object. The data that is returned is the same
that is passed into the "onCompleted" function.
If the object is composed of multiple children and geometry, they are merged into a single mesh in the file.
</p>
......
......@@ -31,7 +31,7 @@
<li>KHR_draco_mesh_compression</li>
<li>KHR_materials_pbrSpecularGlossiness</li>
<li>KHR_materials_unlit</li>
<li>KHR_lights (experimental)</li>
<li>KHR_lights_punctual (experimental)</li>
</ul>
<h2>Example</h2>
......
......@@ -12,7 +12,7 @@
<h1>[name]</h1>
<p class="desc">A loader for loading a <em>.svg</em> resource.<br >
<a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">Scalabe Vector Graphics</a> is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
<a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">Scalable Vector Graphics</a> is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
</p>
<h2>Example</h2>
......@@ -26,9 +26,34 @@
// resource URL
'data/svgSample.svg',
// called when the resource is loaded
function ( doc ) {
function ( paths ) {
scene.add( new THREE.SVGObject(doc) );
var group = new THREE.Group();
for ( var i = 0; i < paths.length; i ++ ) {
var path = paths[ i ];
var material = new THREE.MeshBasicMaterial( {
color: path.color,
side: THREE.DoubleSide,
depthWrite: false
} );
var shapes = path.toShapes( true );
for ( var j = 0; j < shapes.length; j ++ ) {
var shape = shapes[ j ];
var geometry = new THREE.ShapeBufferGeometry( shape );
var mesh = new THREE.Mesh( geometry, material );
group.add( mesh );
}
}
scene.add( group );
},
// called when loading is in progresses
......
......@@ -21,7 +21,7 @@
<li>Complex or animated user interfaces</li>
</ul>
<p>
[name] has various advantages. It produces crystal-clear and sharp output which is independet of the actual viewport resolution.<br />
[name] has various advantages. It produces crystal-clear and sharp output which is independent of the actual viewport resolution.<br />
SVG elements can be styled via CSS. And they have good accessibility since it's possible to add metadata like title or description (useful for search engines or screen readers).
</p>
<p>
......
......@@ -93,6 +93,8 @@
link.setAttribute( 'target', 'viewer' );
link.addEventListener( 'click', function ( event ) {
if ( event.button !== 0 || event.ctrlKey || event.altKey || event.metaKey ) return;
window.location.hash = pageURL;
panel.classList.add( 'collapsed' );
......
......@@ -416,10 +416,6 @@ var list = {
"WebGLProgram": "api/renderers/webgl/WebGLProgram",
"WebGLShader": "api/renderers/webgl/WebGLShader",
"WebGLState": "api/renderers/webgl/WebGLState"
},
"WebGLRenderer / Plugins": {
"SpritePlugin": "api/renderers/webgl/plugins/SpritePlugin"
}
}
......
......@@ -53,7 +53,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
}
#viewport #info {
......@@ -66,7 +66,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
opacity: 0.9;
}
......@@ -75,7 +75,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
}
#menubar {
......@@ -201,9 +201,9 @@ select {
#toolbar {
position: absolute;
left: 0;
right: 300px;
bottom: 0;
left: calc(50% - 290px); /* ( ( 100% - 300px ) / 2.0 ) - 140px */
width: 280px;
bottom: 16px;
height: 32px;
background-color: #111;
color: #333;
......
......@@ -49,7 +49,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
}
#viewport #info {
......@@ -62,7 +62,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
opacity: 0.9;
}
......@@ -71,7 +71,7 @@ select {
top: 32px;
left: 0;
right: 300px;
bottom: 32px;
bottom: 0;
}
#menubar {
......@@ -194,9 +194,9 @@ select {
#toolbar {
position: absolute;
left: 0;
right: 300px;
bottom: 0;
left: calc(50% - 290px); /* ( ( 100% - 300px ) / 2.0 ) - 140px */
width: 280px;
bottom: 16px;
height: 32px;
background: #eee;
color: #333;
......
此差异已折叠。
此差异已折叠。
......@@ -3,42 +3,45 @@
"type": "App"
},
"project": {
"gammaInput": true,
"gammaOutput": true,
"shadows": true,
"vr": false
},
"camera": {
"metadata": {
"version": 4.4,
"version": 4.5,
"type": "Object",
"generator": "Object3D.toJSON"
},
"object": {
"uuid": "763F3000-7D7C-4BE6-80B6-914DEEBD9AA2",
"uuid": "056199EB-6985-481B-97CC-A57FB7C87809",
"type": "PerspectiveCamera",
"name": "Camera",
"matrix": [0.7071067690849304,-3.398992198810902e-11,-0.7071068286895752,0,-0.2357022613286972,0.9428090453147888,-0.235702246427536,0,0.6666666865348816,0.3333333134651184,0.6666666269302368,0,41.824005126953125,20.912002563476562,41.824005126953125,1],
"layers": 1,
"matrix": [0.707107,0,-0.707107,0,-0.235702,0.942809,-0.235702,0,0.666667,0.333333,0.666667,0,4.182,2.091,4.182,1],
"fov": 50,
"zoom": 1,
"near": 0.1,
"far": 100000,
"focus": 10,
"aspect": 0.46657381615598886,
"aspect": 0.666193,
"filmGauge": 35,
"filmOffset": 0
}
},
"scene": {
"metadata": {
"version": 4.4,
"version": 4.5,
"type": "Object",
"generator": "Object3D.toJSON"
},
"geometries": [
{
"uuid": "E80D9EC5-D722-4812-8226-5F355EAC9B96",
"uuid": "C3C0CE7D-10B8-43FC-8F74-011CC6E57800",
"type": "PlaneGeometry",
"width": 1000,
"height": 1000,
"width": 100,
"height": 100,
"widthSegments": 1,
"heightSegments": 1
}],
......@@ -49,51 +52,84 @@
"color": 5465019,
"roughness": 1,
"metalness": 0,
"emissive": 0
"emissive": 0,
"depthFunc": 3,
"depthTest": true,
"depthWrite": true
},
{
"uuid": "F5361474-F5F1-412F-8D99-3699B868092D",
"type": "SpriteMaterial",
"color": 16777215
"color": 16777215,
"transparent": true,
"depthFunc": 3,
"depthTest": true,
"depthWrite": true
}],
"object": {
"uuid": "3741222A-BD8F-401C-A5D2-5A907E891896",
"type": "Scene",
"name": "Scene",
"layers": 1,
"matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
"children": [
{
"uuid": "05B57416-1BE5-4A96-BB05-9D9CD112D52B",
"type": "Mesh",
"name": "Ground",
"matrix": [1,0,0,0,0,0.0007959486683830619,-0.9999997019767761,0,0,0.9999997019767761,0.0007959486683830619,0,0,-0.5,0,1],
"geometry": "E80D9EC5-D722-4812-8226-5F355EAC9B96",
"layers": 1,
"matrix": [1,0,0,0,0,0.000796,-1,0,0,1,0.000796,0,0,-0.5,0,1],
"geometry": "C3C0CE7D-10B8-43FC-8F74-011CC6E57800",
"material": "3A9449D2-62DB-4BB4-ABBD-6F3F9D46DE1A"
},
{
"uuid": "0A3CB873-07E6-4EEB-830B-68192504111B",
"type": "Sprite",
"name": "Particle",
"matrix": [0.4000000059604645,0,0,0,0,0.4000000059604645,0,0,0,0,0.4000000059604645,0,0,0,0,1],
"layers": 1,
"matrix": [0.04,0,0,0,0,0.04,0,0,0,0,0.04,0,0,0,0,1],
"material": "F5361474-F5F1-412F-8D99-3699B868092D"
},
{
"uuid": "40E5CDA4-0E39-4265-9293-3E9EC3207F61",
"type": "PointLight",
"name": "PointLight",
"matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,11.828879356384277,0,1],
"layers": 1,
"matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,1.183,0,1],
"color": 16777215,
"intensity": 1,
"distance": 0,
"decay": 1
}]
"decay": 1,
"shadow": {
"camera": {
"uuid": "B6D3493E-E5C9-4D65-9E26-BB788D127BE1",
"type": "PerspectiveCamera",
"layers": 1,
"fov": 90,
"zoom": 1,
"near": 0.5,
"far": 500,
"focus": 10,
"aspect": 1,
"filmGauge": 35,
"filmOffset": 0
}
}
}],
"background": 2171689,
"fog": {
"type": "Fog",
"color": 2171688,
"near": 1,
"far": 50
}
}
},
"scripts": {
"3741222A-BD8F-401C-A5D2-5A907E891896": [
{
"name": "Fountain",
"source": "var original = this.getObjectByName( 'Particle' );\n\nvar particles = [];\n\nfor ( var i = 0; i < 100; i ++ ) {\n\n\tvar particle = original.clone();\n\tparticle.userData.velocity = new THREE.Vector3();\n\tthis.add( particle );\n\n\tparticles.push( particle );\n\n}\n\nfunction update( event ) {\n\t\n\tvar particle = particles.shift();\n\tparticles.push( particle );\n\t\t\n\tvar velocity = particle.userData.velocity;\n\tvelocity.x = Math.random() - 0.5;\n\tvelocity.y = Math.random() + 1;\n\tvelocity.z = Math.random() - 0.5;\n\n\tfor ( var i = 0; i < particles.length; i ++ ) {\n\n\t\tvar particle = particles[ i ];\n\n\t\tvar velocity = particle.userData.velocity;\n\n\t\tvelocity.y -= 0.098;\n\n\t\tparticle.position.add( velocity );\n\n\t\tif ( particle.position.y < 0 ) {\n\n\t\t\tparticle.position.y = 0;\n\n\t\t\tvelocity.y = - velocity.y;\n\t\t\tvelocity.multiplyScalar( 0.6 );\n\n\t\t}\n\n\t}\n\n}"
"source": "var original = this.getObjectByName( 'Particle' );\n\nvar particles = [];\n\nfor ( var i = 0; i < 100; i ++ ) {\n\n\tvar particle = original.clone();\n\tparticle.userData.velocity = new THREE.Vector3();\n\tthis.add( particle );\n\n\tparticles.push( particle );\n\n}\n\nfunction update( event ) {\n\t\n\tvar particle = particles.shift();\n\tparticles.push( particle );\n\t\t\n\tvar velocity = particle.userData.velocity;\n\tvelocity.x = Math.random() * 0.1 - 0.05;\n\tvelocity.y = Math.random() * 0.1 + 0.1;\n\tvelocity.z = Math.random() * 0.1 - 0.05;\n\n\tfor ( var i = 0; i < particles.length; i ++ ) {\n\n\t\tvar particle = particles[ i ];\n\n\t\tvar velocity = particle.userData.velocity;\n\n\t\tvelocity.y -= 0.0098;\n\n\t\tparticle.position.add( velocity );\n\n\t\tif ( particle.position.y < 0 ) {\n\n\t\t\tparticle.position.y = 0;\n\n\t\t\tvelocity.y = - velocity.y;\n\t\t\tvelocity.multiplyScalar( 0.6 );\n\n\t\t}\n\n\t}\n\n}"
}]
}
}
此差异已折叠。
......@@ -10,28 +10,29 @@
},
"camera": {
"metadata": {
"version": 4.4,
"version": 4.5,
"type": "Object",
"generator": "Object3D.toJSON"
},
"object": {
"uuid": "FC3E973B-5A4A-4177-BD9C-A58E61E0593B",
"uuid": "4AC7ADED-CC22-4B16-8218-2E0A0C38C8F8",
"type": "PerspectiveCamera",
"name": "Camera",
"layers": 1,
"matrix": [0.605503,0,-0.795843,0,-0.261526,0.944464,-0.198978,0,0.751645,0.328615,0.571876,0,2.571484,1.124239,1.956469,1],
"fov": 50,
"zoom": 1,
"near": 0.1,
"far": 10000,
"focus": 10,
"aspect": 1.368715,
"aspect": 1.428977,
"filmGauge": 35,
"filmOffset": 0
}
},
"scene": {
"metadata": {
"version": 4.4,
"version": 4.5,
"type": "Object",
"generator": "Object3D.toJSON"
},
......@@ -50,11 +51,9 @@
"depthTest": true,
"depthWrite": true,
"wireframe": true,
"skinning": false,
"morphTargets": false,
"uniforms": {
"time": {
"value": 0.0
"value": 0
}
},
"vertexShader": "uniform float time;\nvarying vec3 vPosition;\nvoid main() {\n\tvPosition = position;\n\tvPosition.x += sin( time + vPosition.z * 4.0 ) / 4.0;\n\tvPosition.y += cos( time + vPosition.z * 4.0 ) / 4.0;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( vPosition, 1.0 );\n}",
......@@ -64,12 +63,14 @@
"uuid": "5FC9ACA9-2A93-474D-AA32-FACC76551914",
"type": "Scene",
"name": "Scene",
"layers": 1,
"matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
"children": [
{
"uuid": "FC7B6CF2-6386-4F47-9CE6-8ADB9FCA6E1F",
"type": "Mesh",
"name": "Icosahedron 1",
"layers": 1,
"matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],
"geometry": "EA781333-F3AE-470D-9110-A9724FCB42AA",
"material": "50ED51F1-DEA4-4B61-8082-BF41609E8C27"
......
......@@ -4,12 +4,12 @@
<title>three.js / editor</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<!-- Origin Trial Token, feature = WebVR (For Chrome M62+), origin = https://threejs.org, expires = 2018-07-25 -->
<meta http-equiv="origin-trial" data-feature="WebVR (For Chrome M62+)" data-expires="2018-07-25" content="AtW06hJFoVWUJTZf5gqymMIlrR60JJi5MsSe44qsHjrCmzDUNmvaTtAVg+K9O9jFpjJtn/W9jvG//hHHaq5HcQoAAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJWUjEuMU02MiIsImV4cGlyeSI6MTUzMjUyNjI5OH0=">
<!-- Origin Trial Token, feature = WebXR Device API, origin = https://threejs.org, expires = 2018-07-21 -->
<meta http-equiv="origin-trial" data-feature="WebXR Device API" data-expires="2018-07-21" content="Anlf1R/bCOUxOEgGI/9TWuzHHNxBMfZSTUMDCN7cLwDj2gpLwgA1K0DPwOzO/O0Jwaur5bsHo7k9KXx+6g+82wIAAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkRldmljZSIsImV4cGlyeSI6MTUzMjE2NjIyNX0=">
<!-- Origin Trial Token, feature = WebXR Gamepad Support, origin = https://threejs.org, expires = 2018-07-21 -->
<meta http-equiv="origin-trial" data-feature="WebXR Gamepad Support" data-expires="2018-07-21" content="ArDsXbwATKHPmvQiPlEIWNCt4DlEjB7bLj9vOgoNmL8r38U+wQNYZyUvjQIqqzgACciUUuAnxluTIL7nNkI89gcAAABYeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkdhbWVwYWRTdXBwb3J0IiwiZXhwaXJ5IjoxNTMyMTY2MjI1fQ==">
<!-- Origin Trial Token, feature = WebVR (For Chrome M62+), origin = https://threejs.org, expires = 2018-08-30 -->
<meta http-equiv="origin-trial" data-feature="WebVR (For Chrome M62+)" data-expires="2018-08-30" content="Ag80lPFLAvRyqP2W5I5XBzACxrTAQTWa3cXebXzq+WzW66nlQa6lvejGg1gdAMrzYbY6jUWp8g08kEnzb6svVgcAAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJWUjEuMU02MiIsImV4cGlyeSI6MTUzNTYzNjYxOX0=">
<!-- Origin Trial Token, feature = WebXR Device API, origin = https://threejs.org, expires = 2018-08-28 -->
<meta http-equiv="origin-trial" data-feature="WebXR Device API" data-expires="2018-08-28" content="Ag7nJS0Q6nBKfmRY1XLKHslnz73amLhaf8RoFpYz36MpMq0oa30AETLXer74BIwa3t8uDXlR0n4W9f/o674Rqw4AAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkRldmljZSIsImV4cGlyeSI6MTUzNTQxNDQwMH0=">
<!-- Origin Trial Token, feature = WebXR Gamepad Support, origin = https://threejs.org, expires = 2018-08-28 -->
<meta http-equiv="origin-trial" data-feature="WebXR Gamepad Support" data-expires="2018-08-28" content="AsflqqNG2L/Eepy8xSwCYwWH5U7w3nN7Ak137jGxMeBFz9lqQVcMBqMTcMw6ZkxThB7ZM2Cn7hgPqX++ZlgC9wMAAABYeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkdhbWVwYWRTdXBwb3J0IiwiZXhwaXJ5IjoxNTM1NDE0NDAwfQ==">
</head>
<body ontouchstart="">
<link href="css/main.css" rel="stylesheet" />
......@@ -181,15 +181,15 @@
var viewport = new Viewport( editor );
document.body.appendChild( viewport.dom );
var toolbar = new Toolbar( editor );
document.body.appendChild( toolbar.dom );
var script = new Script( editor );
document.body.appendChild( script.dom );
var player = new Player( editor );
document.body.appendChild( player.dom );
var toolbar = new Toolbar( editor );
document.body.appendChild( toolbar.dom );
var menubar = new Menubar( editor );
document.body.appendChild( menubar.dom );
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册