Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fktz008
three.js
提交
6514f67c
T
three.js
项目概览
fktz008
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6514f67c
编写于
3月 20, 2011
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adapting Projector to new internal changes. Quite broken but getting there.
上级
9ab427b7
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
168 addition
and
95 deletion
+168
-95
examples/canvas_sandbox.html
examples/canvas_sandbox.html
+2
-2
src/core/Face3.js
src/core/Face3.js
+5
-5
src/core/Face4.js
src/core/Face4.js
+5
-5
src/core/Geometry.js
src/core/Geometry.js
+5
-3
src/core/Vertex.js
src/core/Vertex.js
+4
-1
src/extras/geometries/Sphere.js
src/extras/geometries/Sphere.js
+2
-2
src/renderers/Projector.js
src/renderers/Projector.js
+115
-66
src/renderers/renderables/RenderableFace3.js
src/renderers/renderables/RenderableFace3.js
+7
-8
src/renderers/renderables/RenderableLine.js
src/renderers/renderables/RenderableLine.js
+2
-2
src/renderers/renderables/RenderableVertex.js
src/renderers/renderables/RenderableVertex.js
+19
-0
utils/build.py
utils/build.py
+2
-1
未找到文件。
examples/canvas_sandbox.html
浏览文件 @
6514f67c
...
...
@@ -75,8 +75,9 @@
<script
type=
"text/javascript"
src=
"../src/renderers/WebGLShaders.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/WebGLRenderer.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/SoundRenderer.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/Renderable
Object
.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/Renderable
Vertex
.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/RenderableFace3.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/RenderableObject.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/RenderableParticle.js"
></script>
<script
type=
"text/javascript"
src=
"../src/renderers/renderables/RenderableLine.js"
></script>
<script
type=
"text/javascript"
src=
"../src/extras/GeometryUtils.js"
></script>
...
...
@@ -95,7 +96,6 @@
<script
type=
"text/javascript"
src=
"../src/extras/geometries/TorusKnot.js"
></script>
<script
type=
"text/javascript"
src=
"../src/extras/io/Loader.js"
></script>
<script
type=
"text/javascript"
src=
"../src/extras/objects/MarchingCubes.js"
></script>
<script
type=
"text/javascript"
src=
"js/RequestAnimationFrame.js"
></script>
<script
type=
"text/javascript"
src=
"js/Stats.js"
></script>
...
...
src/core/Face3.js
浏览文件 @
6514f67c
...
...
@@ -8,15 +8,15 @@ THREE.Face3 = function ( a, b, c, normal, color, materials ) {
this
.
a
=
a
;
this
.
b
=
b
;
this
.
c
=
c
;
this
.
normal
=
normal
instanceof
THREE
.
Vector3
?
normal
:
new
THREE
.
Vector3
();
this
.
vertexNormals
=
normal
instanceof
Array
?
normal
:
[];
this
.
vertexNormals
=
normal
instanceof
Array
?
normal
:
[
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
()
];
this
.
color
=
color
instanceof
THREE
.
Color
?
color
:
new
THREE
.
Color
();
this
.
vertexColors
=
color
instanceof
Array
?
color
:
[];
this
.
materials
=
materials
instanceof
Array
?
materials
:
[
materials
];
this
.
centroid
=
new
THREE
.
Vector3
();
};
src/core/Face4.js
浏览文件 @
6514f67c
...
...
@@ -9,15 +9,15 @@ THREE.Face4 = function ( a, b, c, d, normal, color, materials ) {
this
.
b
=
b
;
this
.
c
=
c
;
this
.
d
=
d
;
this
.
normal
=
normal
instanceof
THREE
.
Vector3
?
normal
:
new
THREE
.
Vector3
();
this
.
vertexNormals
=
normal
instanceof
Array
?
normal
:
[];
this
.
vertexNormals
=
normal
instanceof
Array
?
normal
:
[
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
()
];
this
.
color
=
color
instanceof
THREE
.
Color
?
color
:
new
THREE
.
Color
();
this
.
vertexColors
=
color
instanceof
Array
?
color
:
[];
this
.
materials
=
materials
instanceof
Array
?
materials
:
[
materials
];
this
.
centroid
=
new
THREE
.
Vector3
();
};
src/core/Geometry.js
浏览文件 @
6514f67c
...
...
@@ -11,12 +11,12 @@ THREE.Geometry = function () {
this
.
vertices
=
[];
this
.
colors
=
[];
// one-to-one vertex colors, used in ParticleSystem, Line and Ribbon
this
.
faces
=
[];
this
.
faceUvs
=
[];
this
.
faceVertexUvs
=
[];
this
.
morphTargets
=
[];
this
.
skinWeights
=
[];
...
...
@@ -66,12 +66,14 @@ THREE.Geometry.prototype = {
var
n
,
nl
,
v
,
vl
,
vertex
,
f
,
fl
,
face
,
vA
,
vB
,
vC
,
cb
=
new
THREE
.
Vector3
(),
ab
=
new
THREE
.
Vector3
();
/*
for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) {
vertex = this.vertices[ v ];
vertex.normal.set( 0, 0, 0 );
}
*/
for
(
f
=
0
,
fl
=
this
.
faces
.
length
;
f
<
fl
;
f
++
)
{
...
...
src/core/Vertex.js
浏览文件 @
6514f67c
...
...
@@ -2,9 +2,11 @@
* @author mr.doob / http://mrdoob.com/
*/
THREE
.
Vertex
=
function
(
position
,
normal
)
{
THREE
.
Vertex
=
function
(
position
/*, normal*/
)
{
this
.
position
=
position
||
new
THREE
.
Vector3
();
/*
this.positionWorld = new THREE.Vector3();
this.positionScreen = new THREE.Vector4();
...
...
@@ -15,5 +17,6 @@ THREE.Vertex = function ( position, normal ) {
this.tangent = new THREE.Vector4();
this.__visible = true;
*/
};
src/extras/geometries/Sphere.js
浏览文件 @
6514f67c
...
...
@@ -80,7 +80,7 @@ var Sphere = function ( radius, segmentsWidth, segmentsHeight ) {
this
.
faces
.
push
(
new
THREE
.
Face3
(
aP1
,
aP2
,
aP3
,
[
new
THREE
.
Vector3
(
n1
.
x
,
n1
.
y
,
n1
.
z
),
new
THREE
.
Vector3
(
n2
.
x
,
n2
.
y
,
n2
.
z
),
new
THREE
.
Vector3
(
n3
.
x
,
n3
.
y
,
n3
.
z
)
]
)
);
this
.
u
vs
.
push
(
[
aP1uv
,
aP2uv
,
aP3uv
]
);
this
.
faceVertexU
vs
.
push
(
[
aP1uv
,
aP2uv
,
aP3uv
]
);
}
...
...
@@ -95,7 +95,7 @@ var Sphere = function ( radius, segmentsWidth, segmentsHeight ) {
this
.
faces
.
push
(
new
THREE
.
Face3
(
aP1
,
aP3
,
aP4
,
[
new
THREE
.
Vector3
(
n1
.
x
,
n1
.
y
,
n1
.
z
),
new
THREE
.
Vector3
(
n2
.
x
,
n2
.
y
,
n2
.
z
),
new
THREE
.
Vector3
(
n3
.
x
,
n3
.
y
,
n3
.
z
)
]
)
);
this
.
u
vs
.
push
(
[
aP1uv
,
aP3uv
,
aP4uv
]
);
this
.
faceVertexU
vs
.
push
(
[
aP1uv
,
aP3uv
,
aP4uv
]
);
}
...
...
src/renderers/Projector.js
浏览文件 @
6514f67c
...
...
@@ -7,6 +7,7 @@
THREE
.
Projector
=
function
()
{
var
_object
,
_objectCount
,
_objectPool
=
[],
_vertex
,
_vertexCount
,
_vertexPool
=
[],
_face3
,
_face32
,
_face3Count
,
_face3Pool
=
[],
_line
,
_lineCount
,
_linePool
=
[],
_particle
,
_particleCount
,
_particlePool
=
[],
...
...
@@ -30,6 +31,32 @@ THREE.Projector = function() {
_face3VertexNormals
;
this
.
projectVector
=
function
(
vector
,
camera
)
{
_projScreenMatrix
.
multiply
(
camera
.
projectionMatrix
,
camera
.
matrixWorldInverse
);
_projScreenMatrix
.
multiplyVector3
(
vector
);
return
vector
;
};
this
.
unprojectVector
=
function
(
vector
,
camera
)
{
_projScreenMatrix
.
multiply
(
THREE
.
Matrix4
.
makeInvert
(
camera
.
projectionMatrix
),
camera
.
matrixWorld
);
_projScreenMatrix
.
multiplyVector3
(
vector
);
/*
var matrix = camera.matrixWorld.clone();
matrix.multiplySelf( THREE.Matrix4.makeInvert( camera.projectionMatrix ) );
matrix.multiplyVector3( vector );
*/
return
vector
;
};
this
.
projectObjects
=
function
(
scene
,
camera
,
sort
)
{
var
renderList
=
[],
...
...
@@ -45,7 +72,7 @@ THREE.Projector = function() {
if
(
!
object
.
visible
||
(
object
instanceof
THREE
.
Mesh
&&
!
isInFrustum
(
object
)
)
)
continue
;
_object
=
_objectPool
[
_objectCount
]
=
_objectPool
[
_objectCount
]
||
new
THREE
.
RenderableObject
();
_object
=
getNextObjectInPool
();
_vector3
.
copy
(
object
.
position
);
_projScreenMatrix
.
multiplyVector3
(
_vector3
);
...
...
@@ -55,8 +82,6 @@ THREE.Projector = function() {
renderList
.
push
(
_object
);
_objectCount
++
;
}
sort
&&
renderList
.
sort
(
painterSort
);
...
...
@@ -71,12 +96,14 @@ THREE.Projector = function() {
var
renderList
=
[],
near
=
camera
.
near
,
far
=
camera
.
far
,
o
,
ol
,
v
,
vl
,
f
,
fl
,
n
,
nl
,
objects
,
object
,
objectMatrix
,
objectMaterials
,
objectOverdraw
,
objectMatrix
,
objectMaterials
,
objectMatrixRotation
,
geometry
,
vertices
,
vertex
,
vertexPositionScreen
,
faces
,
face
,
faceVertexNormals
,
normal
,
v1
,
v2
,
v3
,
v4
;
_face3Count
=
_lineCount
=
_particleCount
=
0
;
_face3Count
=
0
;
_lineCount
=
0
;
_particleCount
=
0
;
camera
.
matrixAutoUpdate
&&
camera
.
updateMatrix
();
...
...
@@ -85,7 +112,7 @@ THREE.Projector = function() {
_projScreenMatrix
.
multiply
(
camera
.
projectionMatrix
,
camera
.
matrixWorldInverse
);
computeFrustum
(
_projScreenMatrix
);
objects
=
this
.
projectObjects
(
scene
,
camera
,
true
);
// scene.objects;
objects
=
this
.
projectObjects
(
scene
,
camera
,
true
);
for
(
o
=
0
,
ol
=
objects
.
length
;
o
<
ol
;
o
++
)
{
...
...
@@ -97,61 +124,53 @@ THREE.Projector = function() {
objectMatrixRotation
=
object
.
matrixRotationWorld
;
objectMaterials
=
object
.
materials
;
objectOverdraw
=
object
.
overdraw
;
_vertexCount
=
0
;
if
(
object
instanceof
THREE
.
Mesh
)
{
geometry
=
object
.
geometry
;
// vertices
vertices
=
geometry
.
vertices
;
faces
=
geometry
.
faces
;
for
(
v
=
0
,
vl
=
vertices
.
length
;
v
<
vl
;
v
++
)
{
vertex
=
vertices
[
v
];
_vertex
=
getNextVertexInPool
();
_vertex
.
positionWorld
.
copy
(
vertices
[
v
].
position
);
vertex
.
positionWorld
.
copy
(
vertex
.
position
);
objectMatrix
.
multiplyVector3
(
vertex
.
positionWorld
);
objectMatrix
.
multiplyVector3
(
_vertex
.
positionWorld
);
vertexPositionScreen
=
vertex
.
positionScreen
;
vertexPositionScreen
.
copy
(
vertex
.
positionWorld
);
_projScreenMatrix
.
multiplyVector4
(
vertexPositionScreen
);
_vertex
.
positionScreen
.
copy
(
_vertex
.
positionWorld
);
_projScreenMatrix
.
multiplyVector4
(
_vertex
.
positionScreen
);
vertexPositionScreen
.
x
/=
vertexP
ositionScreen
.
w
;
vertexPositionScreen
.
y
/=
vertexP
ositionScreen
.
w
;
_vertex
.
positionScreen
.
x
/=
_vertex
.
p
ositionScreen
.
w
;
_vertex
.
positionScreen
.
y
/=
_vertex
.
p
ositionScreen
.
w
;
vertex
.
__visible
=
vertexPositionScreen
.
z
>
near
&&
vertexP
ositionScreen
.
z
<
far
;
_vertex
.
visible
=
_vertex
.
positionScreen
.
z
>
near
&&
_vertex
.
p
ositionScreen
.
z
<
far
;
}
// faces
faces
=
geometry
.
faces
;
for
(
f
=
0
,
fl
=
faces
.
length
;
f
<
fl
;
f
++
)
{
face
=
faces
[
f
];
if
(
face
instanceof
THREE
.
Face3
)
{
v1
=
vertices
[
face
.
a
];
v2
=
vertices
[
face
.
b
];
v3
=
vertices
[
face
.
c
];
v1
=
_vertexPool
[
face
.
a
];
v2
=
_vertexPool
[
face
.
b
];
v3
=
_vertexPool
[
face
.
c
];
if
(
v1
.
__visible
&&
v2
.
__visible
&&
v3
.
__
visible
)
{
if
(
v1
.
visible
&&
v2
.
visible
&&
v3
.
visible
)
{
if
(
(
object
.
doubleSided
||
(
object
.
flipSided
!=
(
v3
.
positionScreen
.
x
-
v1
.
positionScreen
.
x
)
*
(
v2
.
positionScreen
.
y
-
v1
.
positionScreen
.
y
)
-
(
v3
.
positionScreen
.
y
-
v1
.
positionScreen
.
y
)
*
(
v2
.
positionScreen
.
x
-
v1
.
positionScreen
.
x
)
<
0
)
)
)
{
_face3
=
_face3Pool
[
_face3Count
]
=
_face3Pool
[
_face3Count
]
||
new
THREE
.
RenderableFace3
();
_face3
=
getNextFaceInPool
();
_face3
.
v1
.
positionWorld
.
copy
(
v1
.
positionWorld
);
_face3
.
v2
.
positionWorld
.
copy
(
v2
.
positionWorld
);
_face3
.
v3
.
positionWorld
.
copy
(
v3
.
positionWorld
);
_face3
.
v1
.
positionScreen
.
copy
(
v1
.
positionScreen
);
_face3
.
v2
.
positionScreen
.
copy
(
v2
.
positionScreen
);
_face3
.
v3
.
positionScreen
.
copy
(
v3
.
positionScreen
);
_face3
.
v1
.
copy
(
v1
);
_face3
.
v2
.
copy
(
v2
);
_face3
.
v3
.
copy
(
v3
);
_face3
.
normalWorld
.
copy
(
face
.
normal
);
objectMatrixRotation
.
multiplyVector3
(
_face3
.
normalWorld
);
...
...
@@ -165,9 +184,9 @@ THREE.Projector = function() {
faceVertexNormals
=
face
.
vertexNormals
;
_face3VertexNormals
=
_face3
.
vertexNormalsWorld
;
for
(
n
=
0
,
nl
=
faceVertexNormals
.
length
;
n
<
nl
;
n
++
)
{
for
(
n
=
0
;
n
<
3
;
n
++
)
{
normal
=
_face3VertexNormals
[
n
]
=
_face3VertexNormals
[
n
]
||
new
THREE
.
Vector3
()
;
normal
=
_face3VertexNormals
[
n
];
normal
.
copy
(
faceVertexNormals
[
n
]
);
objectMatrixRotation
.
multiplyVector3
(
normal
);
...
...
@@ -177,25 +196,22 @@ THREE.Projector = function() {
_face3
.
meshMaterials
=
objectMaterials
;
_face3
.
faceMaterials
=
face
.
materials
;
_face3
.
overdraw
=
objectOverdraw
;
if
(
object
.
geometry
.
u
vs
[
f
]
)
{
if
(
object
.
geometry
.
faceU
vs
[
f
]
)
{
_face3
.
uvs
[
0
]
=
object
.
geometry
.
u
vs
[
f
][
0
];
_face3
.
uvs
[
1
]
=
object
.
geometry
.
u
vs
[
f
][
1
];
_face3
.
uvs
[
2
]
=
object
.
geometry
.
u
vs
[
f
][
2
];
_face3
.
uvs
[
0
]
=
object
.
geometry
.
faceU
vs
[
f
][
0
];
_face3
.
uvs
[
1
]
=
object
.
geometry
.
faceU
vs
[
f
][
1
];
_face3
.
uvs
[
2
]
=
object
.
geometry
.
faceU
vs
[
f
][
2
];
}
renderList
.
push
(
_face3
);
_face3Count
++
;
}
}
}
else
if
(
face
instanceof
THREE
.
Face4
)
{
}
/*
else if ( face instanceof THREE.Face4 ) {
v1 = vertices[ face.a ]; v2 = vertices[ face.b ]; v3 = vertices[ face.c ]; v4 = vertices[ face.d ];
...
...
@@ -232,7 +248,6 @@ THREE.Projector = function() {
_face3.meshMaterials = objectMaterials;
_face3.faceMaterials = face.materials;
_face3
.
overdraw
=
objectOverdraw
;
if ( object.geometry.uvs[ f ] ) {
...
...
@@ -268,7 +283,6 @@ THREE.Projector = function() {
_face32.meshMaterials = objectMaterials;
_face32.faceMaterials = face.materials;
_face32
.
overdraw
=
objectOverdraw
;
if ( object.geometry.uvs[ f ] ) {
...
...
@@ -286,7 +300,7 @@ THREE.Projector = function() {
}
}
}
*/
}
...
...
@@ -296,18 +310,17 @@ THREE.Projector = function() {
vertices
=
object
.
geometry
.
vertices
;
v
ertex
=
vertices
[
0
]
;
v
ertex
.
positionScreen
.
copy
(
vertex
.
position
);
_projScreenObjectMatrix
.
multiplyVector4
(
v
ertex
.
positionScreen
);
v
1
=
getNextVertexInPool
()
;
v
1
.
positionScreen
.
copy
(
vertices
[
0
]
.
position
);
_projScreenObjectMatrix
.
multiplyVector4
(
v
1
.
positionScreen
);
for
(
v
=
1
,
vl
=
vertices
.
length
;
v
<
vl
;
v
++
)
{
v1
=
vertices
[
v
];
v1
.
positionScreen
.
copy
(
v1
.
position
);
v1
=
getNextVertexInPool
();
v1
.
positionScreen
.
copy
(
vertices
[
v
].
position
);
_projScreenObjectMatrix
.
multiplyVector4
(
v1
.
positionScreen
);
v2
=
vertices
[
v
-
1
];
v2
=
_vertexPool
[
_vertexCount
-
2
];
_clippedVertex1PositionScreen
.
copy
(
v1
.
positionScreen
);
_clippedVertex2PositionScreen
.
copy
(
v2
.
positionScreen
);
...
...
@@ -318,7 +331,7 @@ THREE.Projector = function() {
_clippedVertex1PositionScreen
.
multiplyScalar
(
1
/
_clippedVertex1PositionScreen
.
w
);
_clippedVertex2PositionScreen
.
multiplyScalar
(
1
/
_clippedVertex2PositionScreen
.
w
);
_line
=
_linePool
[
_lineCount
]
=
_linePool
[
_lineCount
]
||
new
THREE
.
RenderableLine
();
_line
=
getNextLineInPool
();
_line
.
v1
.
positionScreen
.
copy
(
_clippedVertex1PositionScreen
);
_line
.
v2
.
positionScreen
.
copy
(
_clippedVertex2PositionScreen
);
...
...
@@ -328,22 +341,19 @@ THREE.Projector = function() {
renderList
.
push
(
_line
);
_lineCount
++
;
}
}
}
else
if
(
object
instanceof
THREE
.
Particle
)
{
_vector4
.
set
(
object
.
position
.
x
,
object
.
position
.
y
,
object
.
position
.
z
,
1
);
_projScreenMatrix
.
multiplyVector4
(
_vector4
);
_vector4
.
z
/=
_vector4
.
w
;
if
(
_vector4
.
z
>
0
&&
_vector4
.
z
<
1
)
{
_particle
=
_particlePool
[
_particleCount
]
=
_particlePool
[
_particleCount
]
||
new
THREE
.
RenderableParticle
();
_particle
=
getNextParticleInPool
();
_particle
.
x
=
_vector4
.
x
/
_vector4
.
w
;
_particle
.
y
=
_vector4
.
y
/
_vector4
.
w
;
_particle
.
z
=
_vector4
.
z
;
...
...
@@ -357,8 +367,6 @@ THREE.Projector = function() {
renderList
.
push
(
_particle
);
_particleCount
++
;
}
}
...
...
@@ -371,16 +379,57 @@ THREE.Projector = function() {
};
this
.
unprojectVector
=
function
(
vector
,
camera
)
{
// Pools
var
matrix
=
camera
.
matrixWorld
.
clone
();
function
getNextObjectInPool
()
{
matrix
.
multiplySelf
(
THREE
.
Matrix4
.
makeInvert
(
camera
.
projectionMatrix
)
);
matrix
.
multiplyVector3
(
vector
);
var
object
=
_objectPool
[
_objectCount
]
=
_objectPool
[
_objectCount
]
||
new
THREE
.
RenderableObject
();
return
vector
;
_objectCount
++
;
};
return
object
;
}
function
getNextVertexInPool
()
{
var
vertex
=
_vertexPool
[
_vertexCount
]
=
_vertexPool
[
_vertexCount
]
||
new
THREE
.
RenderableVertex
();
_vertexCount
++
;
return
vertex
;
}
function
getNextFaceInPool
()
{
var
face
=
_face3Pool
[
_face3Count
]
=
_face3Pool
[
_face3Count
]
||
new
THREE
.
RenderableFace3
();
_face3Count
++
;
return
face
;
}
function
getNextLineInPool
()
{
var
line
=
_linePool
[
_lineCount
]
=
_linePool
[
_lineCount
]
||
new
THREE
.
RenderableLine
();
_lineCount
++
;
return
line
;
}
function
getNextParticleInPool
()
{
var
particle
=
_particlePool
[
_particleCount
]
=
_particlePool
[
_particleCount
]
||
new
THREE
.
RenderableParticle
();
_particleCount
++
;
return
partile
;
}
//
function
painterSort
(
a
,
b
)
{
...
...
src/renderers/renderables/RenderableFace3.js
浏览文件 @
6514f67c
...
...
@@ -4,21 +4,20 @@
THREE
.
RenderableFace3
=
function
()
{
this
.
z
=
null
;
this
.
v1
=
new
THREE
.
Vertex
();
this
.
v2
=
new
THREE
.
Vertex
();
this
.
v3
=
new
THREE
.
Vertex
();
this
.
v1
=
new
THREE
.
RenderableVertex
();
this
.
v2
=
new
THREE
.
RenderableVertex
();
this
.
v3
=
new
THREE
.
RenderableVertex
();
this
.
centroidWorld
=
new
THREE
.
Vector3
();
this
.
centroidScreen
=
new
THREE
.
Vector3
();
this
.
normalWorld
=
new
THREE
.
Vector3
();
this
.
vertexNormalsWorld
=
[];
this
.
vertexNormalsWorld
=
[
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
(),
new
THREE
.
Vector3
()
];
this
.
meshMaterials
=
null
;
this
.
faceMaterials
=
null
;
this
.
overdraw
=
false
;
this
.
uvs
=
[
null
,
null
,
null
];
this
.
uvs
=
[];
this
.
z
=
null
;
};
src/renderers/renderables/RenderableLine.js
浏览文件 @
6514f67c
...
...
@@ -6,8 +6,8 @@ THREE.RenderableLine = function () {
this
.
z
=
null
;
this
.
v1
=
new
THREE
.
Vertex
();
this
.
v2
=
new
THREE
.
Vertex
();
this
.
v1
=
new
THREE
.
Renderable
Vertex
();
this
.
v2
=
new
THREE
.
Renderable
Vertex
();
this
.
materials
=
null
;
...
...
src/renderers/renderables/RenderableVertex.js
0 → 100644
浏览文件 @
6514f67c
/**
* @author mr.doob / http://mrdoob.com/
*/
THREE
.
RenderableVertex
=
function
()
{
this
.
positionWorld
=
new
THREE
.
Vector3
();
this
.
positionScreen
=
new
THREE
.
Vector4
();
this
.
visible
=
true
;
};
THREE
.
RenderableVertex
.
prototype
.
copy
=
function
(
vertex
)
{
this
.
positionWorld
.
copy
(
vertex
.
positionWorld
);
this
.
positionScreen
.
copy
(
vertex
.
positionScreen
);
}
utils/build.py
浏览文件 @
6514f67c
...
...
@@ -71,8 +71,9 @@ COMMON_FILES = [
'renderers/WebGLShaders.js'
,
'renderers/WebGLRenderer.js'
,
'renderers/SoundRenderer.js'
,
'renderers/renderables/Renderable
Object
.js'
,
'renderers/renderables/Renderable
Vertex
.js'
,
'renderers/renderables/RenderableFace3.js'
,
'renderers/renderables/RenderableObject.js'
,
'renderers/renderables/RenderableParticle.js'
,
'renderers/renderables/RenderableLine.js'
]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录