提交 9cc7b75a 编写于 作者: A alteredq

Merge remote-tracking branch 'remotes/mrdoob/dev' into unflip

因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
此差异已折叠。
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
...@@ -25,12 +25,22 @@ ...@@ -25,12 +25,22 @@
<h3>.pickingRay( [page:Vector3 vector], [page:Camera camera] ) [page:Ray]</h3> <h3>.pickingRay( [page:Vector3 vector], [page:Camera camera] ) [page:Ray]</h3>
<div> <div>
Translates a 2D point from NDC to a [page:Ray] that can be used for picking. Translates a 2D point from NDC (<em>Normalized Device Coordinates</em>) to a [page:Ray] that can be used for picking. NDC range from [-1..1] in x (left to right) and [1.0 .. -1.0] in y (top to bottom).
</div> </div>
<h3>.projectGraph( [page:Object3D root], [page:Boolean sort] ) [page:Object]</h3>
<h3>.projectScene( [page:Scene scene], [page:Camera camera], [page:Boolean sort] ) [page:Object]</h3> <h3>.projectScene( [page:Scene scene], [page:Camera camera], [page:Boolean sort] ) [page:Object]</h3>
<div>
[page:Scene scene] — scene to project.<br />
[page:Camera camera] — camera to use in the projection.<br />
[page:Boolean sort] — select whether to sort elements using the <a href="http://en.wikipedia.org/wiki/Painter%27s_algorithm">Painter's algorithm</a>.
</div>
<div>
Transforms a 3D [page:Scene scene] object into 2D render data that can be rendered in a screen with your renderer of choice, projecting and clipping things out according to the used camera.
</div>
<div>
If the <em>scene</em> were a real scene, this method would be the equivalent of taking a picture with the <em>camera</em> (and developing the film would be the next step, using a Renderer).
</div>
<h2>Source</h2> <h2>Source</h2>
......
...@@ -67,7 +67,7 @@ THREE.Projector = function() { ...@@ -67,7 +67,7 @@ THREE.Projector = function() {
}; };
this.projectGraph = function ( root, sort ) { function projectGraph( root, sort ) {
_objectCount = 0; _objectCount = 0;
...@@ -155,7 +155,7 @@ THREE.Projector = function() { ...@@ -155,7 +155,7 @@ THREE.Projector = function() {
_frustum.setFromMatrix( _projScreenMatrix ); _frustum.setFromMatrix( _projScreenMatrix );
_renderData = this.projectGraph( scene, false ); _renderData = projectGraph( scene, false );
for ( o = 0, ol = _renderData.objects.length; o < ol; o++ ) { for ( o = 0, ol = _renderData.objects.length; o < ol; o++ ) {
......
...@@ -547,15 +547,15 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -547,15 +547,15 @@ THREE.CanvasRenderer = function ( parameters ) {
_vector3.copy( element.vertexNormalsWorld[ uv1 ] ); _vector3.copy( element.vertexNormalsWorld[ uv1 ] );
_uv1x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; _uv1x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5;
_uv1y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; _uv1y = ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5;
_vector3.copy( element.vertexNormalsWorld[ uv2 ] ); _vector3.copy( element.vertexNormalsWorld[ uv2 ] );
_uv2x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; _uv2x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5;
_uv2y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; _uv2y = ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5;
_vector3.copy( element.vertexNormalsWorld[ uv3 ] ); _vector3.copy( element.vertexNormalsWorld[ uv3 ] );
_uv3x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; _uv3x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5;
_uv3y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; _uv3y = ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5;
patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y, material.envMap ); patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y, material.envMap );
...@@ -665,7 +665,7 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -665,7 +665,7 @@ THREE.CanvasRenderer = function ( parameters ) {
setOpacity( material.opacity ); setOpacity( material.opacity );
setBlending( material.blending ); setBlending( material.blending );
if ( material.map !== null || material.envMap !== null ) { if ( ( material.map !== undefined && material.map !== null ) || ( material.envMap !== undefined && material.envMap !== null ) ) {
// Let renderFace3() handle this // Let renderFace3() handle this
...@@ -859,13 +859,13 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -859,13 +859,13 @@ THREE.CanvasRenderer = function ( parameters ) {
height = texture.image.height * texture.repeat.y; height = texture.image.height * texture.repeat.y;
u0 = ( u0 + offsetX ) * width; u0 = ( u0 + offsetX ) * width;
v0 = ( v0 + offsetY ) * height; v0 = ( 1.0 - v0 + offsetY ) * height;
u1 = ( u1 + offsetX ) * width; u1 = ( u1 + offsetX ) * width;
v1 = ( v1 + offsetY ) * height; v1 = ( 1.0 - v1 + offsetY ) * height;
u2 = ( u2 + offsetX ) * width; u2 = ( u2 + offsetX ) * width;
v2 = ( v2 + offsetY ) * height; v2 = ( 1.0 - v2 + offsetY ) * height;
x1 -= x0; y1 -= y0; x1 -= x0; y1 -= y0;
x2 -= x0; y2 -= y0; x2 -= x0; y2 -= y0;
......
...@@ -222,11 +222,11 @@ THREE.WebGLRenderer = function ( parameters ) { ...@@ -222,11 +222,11 @@ THREE.WebGLRenderer = function ( parameters ) {
this.setViewport = function ( x, y, width, height ) { this.setViewport = function ( x, y, width, height ) {
_viewportX = x; _viewportX = x !== undefined ? x : 0;
_viewportY = y; _viewportY = y !== undefined ? y : 0;
_viewportWidth = width; _viewportWidth = width !== undefined ? width : _canvas.width;
_viewportHeight = height; _viewportHeight = height !== undefined ? height : _canvas.height;
_gl.viewport( _viewportX, _viewportY, _viewportWidth, _viewportHeight ); _gl.viewport( _viewportX, _viewportY, _viewportWidth, _viewportHeight );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册