Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
692f1376
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,体验更适合开发者的 AI 搜索 >>
提交
692f1376
编写于
10月 17, 2013
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Unified Particle into Sprite. Renamed ParticleBasicMaterial to ParticleSystemMaterial. Fixes #968.
上级
0720aa8e
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
69 addition
and
82 deletion
+69
-82
examples/js/renderers/SVGRenderer.js
examples/js/renderers/SVGRenderer.js
+4
-4
src/core/Projector.js
src/core/Projector.js
+23
-23
src/core/Raycaster.js
src/core/Raycaster.js
+1
-1
src/materials/ParticleSystemMaterial.js
src/materials/ParticleSystemMaterial.js
+8
-4
src/materials/SpriteCanvasMaterial.js
src/materials/SpriteCanvasMaterial.js
+8
-4
src/objects/Particle.js
src/objects/Particle.js
+0
-23
src/objects/ParticleSystem.js
src/objects/ParticleSystem.js
+1
-1
src/objects/Sprite.js
src/objects/Sprite.js
+3
-0
src/renderers/CanvasRenderer.js
src/renderers/CanvasRenderer.js
+8
-7
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+2
-2
src/renderers/renderables/RenderableSprite.js
src/renderers/renderables/RenderableSprite.js
+2
-2
utils/build/includes/canvas.json
utils/build/includes/canvas.json
+4
-4
utils/build/includes/common.json
utils/build/includes/common.json
+3
-4
utils/build/includes/webgl.json
utils/build/includes/webgl.json
+2
-3
未找到文件。
examples/js/renderers/SVGRenderer.js
浏览文件 @
692f1376
...
...
@@ -126,12 +126,12 @@ THREE.SVGRenderer = function () {
_elemBox
.
makeEmpty
();
if
(
element
instanceof
THREE
.
Renderable
Particl
e
)
{
if
(
element
instanceof
THREE
.
Renderable
Sprit
e
)
{
_v1
=
element
;
_v1
.
x
*=
_svgWidthHalf
;
_v1
.
y
*=
-
_svgHeightHalf
;
render
Particl
e
(
_v1
,
element
,
material
);
render
Sprit
e
(
_v1
,
element
,
material
);
}
else
if
(
element
instanceof
THREE
.
RenderableLine
)
{
...
...
@@ -258,7 +258,7 @@ THREE.SVGRenderer = function () {
}
function
render
Particl
e
(
v1
,
element
,
material
)
{
function
render
Sprit
e
(
v1
,
element
,
material
)
{
/*
_svgNode = getCircleNode( _circleCount++ );
...
...
@@ -266,7 +266,7 @@ THREE.SVGRenderer = function () {
_svgNode.setAttribute( 'cy', v1.y );
_svgNode.setAttribute( 'r', element.scale.x * _svgWidthHalf );
if ( material instanceof THREE.
ParticleCircle
Material ) {
if ( material instanceof THREE.
SpriteSVG
Material ) {
_color.r = _ambientLight.r + _directionalLights.r + _pointLights.r;
_color.g = _ambientLight.g + _directionalLights.g + _pointLights.g;
...
...
src/core/Projector.js
浏览文件 @
692f1376
...
...
@@ -10,7 +10,7 @@ THREE.Projector = function () {
_vertex
,
_vertexCount
,
_vertexPool
=
[],
_vertexPoolLength
=
0
,
_face
,
_face3Count
,
_face3Pool
=
[],
_face3PoolLength
=
0
,
_line
,
_lineCount
,
_linePool
=
[],
_linePoolLength
=
0
,
_
particle
,
_particleCount
,
_particlePool
=
[],
_particl
ePoolLength
=
0
,
_
sprite
,
_spriteCount
,
_spritePool
=
[],
_sprit
ePoolLength
=
0
,
_renderData
=
{
objects
:
[],
sprites
:
[],
lights
:
[],
elements
:
[]
},
...
...
@@ -112,7 +112,7 @@ THREE.Projector = function () {
}
}
else
if
(
object
instanceof
THREE
.
Sprite
||
object
instanceof
THREE
.
Particle
)
{
}
else
if
(
object
instanceof
THREE
.
Sprite
)
{
_renderData
.
sprites
.
push
(
getObject
(
object
)
);
...
...
@@ -153,7 +153,7 @@ THREE.Projector = function () {
_face3Count
=
0
;
_lineCount
=
0
;
_
particl
eCount
=
0
;
_
sprit
eCount
=
0
;
_renderData
.
elements
.
length
=
0
;
...
...
@@ -382,7 +382,7 @@ THREE.Projector = function () {
_modelMatrix
=
object
.
matrixWorld
;
if
(
object
instanceof
THREE
.
Particl
e
)
{
if
(
object
instanceof
THREE
.
Sprit
e
)
{
_vector4
.
set
(
_modelMatrix
.
elements
[
12
],
_modelMatrix
.
elements
[
13
],
_modelMatrix
.
elements
[
14
],
1
);
_vector4
.
applyMatrix4
(
_viewProjectionMatrix
);
...
...
@@ -393,21 +393,21 @@ THREE.Projector = function () {
if
(
_vector4
.
z
>
-
1
&&
_vector4
.
z
<
1
)
{
_
particle
=
getNextParticl
eInPool
();
_
particl
e
.
id
=
object
.
id
;
_
particl
e
.
x
=
_vector4
.
x
*
invW
;
_
particl
e
.
y
=
_vector4
.
y
*
invW
;
_
particl
e
.
z
=
_vector4
.
z
;
_
particl
e
.
object
=
object
;
_
sprite
=
getNextSprit
eInPool
();
_
sprit
e
.
id
=
object
.
id
;
_
sprit
e
.
x
=
_vector4
.
x
*
invW
;
_
sprit
e
.
y
=
_vector4
.
y
*
invW
;
_
sprit
e
.
z
=
_vector4
.
z
;
_
sprit
e
.
object
=
object
;
_
particle
.
rotation
=
object
.
rotation
.
z
;
_
sprite
.
rotation
=
object
.
rotation
;
_
particle
.
scale
.
x
=
object
.
scale
.
x
*
Math
.
abs
(
_particl
e
.
x
-
(
_vector4
.
x
+
camera
.
projectionMatrix
.
elements
[
0
]
)
/
(
_vector4
.
w
+
camera
.
projectionMatrix
.
elements
[
12
]
)
);
_
particle
.
scale
.
y
=
object
.
scale
.
y
*
Math
.
abs
(
_particl
e
.
y
-
(
_vector4
.
y
+
camera
.
projectionMatrix
.
elements
[
5
]
)
/
(
_vector4
.
w
+
camera
.
projectionMatrix
.
elements
[
13
]
)
);
_
sprite
.
scale
.
x
=
object
.
scale
.
x
*
Math
.
abs
(
_sprit
e
.
x
-
(
_vector4
.
x
+
camera
.
projectionMatrix
.
elements
[
0
]
)
/
(
_vector4
.
w
+
camera
.
projectionMatrix
.
elements
[
12
]
)
);
_
sprite
.
scale
.
y
=
object
.
scale
.
y
*
Math
.
abs
(
_sprit
e
.
y
-
(
_vector4
.
y
+
camera
.
projectionMatrix
.
elements
[
5
]
)
/
(
_vector4
.
w
+
camera
.
projectionMatrix
.
elements
[
13
]
)
);
_
particl
e
.
material
=
object
.
material
;
_
sprit
e
.
material
=
object
.
material
;
_renderData
.
elements
.
push
(
_
particl
e
);
_renderData
.
elements
.
push
(
_
sprit
e
);
}
...
...
@@ -488,19 +488,19 @@ THREE.Projector = function () {
}
function
getNext
Particl
eInPool
()
{
function
getNext
Sprit
eInPool
()
{
if
(
_
particleCount
===
_particl
ePoolLength
)
{
if
(
_
spriteCount
===
_sprit
ePoolLength
)
{
var
particle
=
new
THREE
.
RenderableParticl
e
();
_
particlePool
.
push
(
particl
e
);
_
particl
ePoolLength
++
;
_
particl
eCount
++
return
particl
e
;
var
sprite
=
new
THREE
.
RenderableSprit
e
();
_
spritePool
.
push
(
sprit
e
);
_
sprit
ePoolLength
++
;
_
sprit
eCount
++
return
sprit
e
;
}
return
_
particlePool
[
_particl
eCount
++
];
return
_
spritePool
[
_sprit
eCount
++
];
}
...
...
src/core/Raycaster.js
浏览文件 @
692f1376
...
...
@@ -36,7 +36,7 @@
var
intersectObject
=
function
(
object
,
raycaster
,
intersects
)
{
if
(
object
instanceof
THREE
.
Particl
e
)
{
if
(
object
instanceof
THREE
.
Sprit
e
)
{
matrixPosition
.
getPositionFromMatrix
(
object
.
matrixWorld
);
var
distance
=
raycaster
.
ray
.
distanceToPoint
(
matrixPosition
);
...
...
src/materials/Particle
Basic
Material.js
→
src/materials/Particle
System
Material.js
浏览文件 @
692f1376
...
...
@@ -19,7 +19,7 @@
* }
*/
THREE
.
Particle
Basic
Material
=
function
(
parameters
)
{
THREE
.
Particle
System
Material
=
function
(
parameters
)
{
THREE
.
Material
.
call
(
this
);
...
...
@@ -38,11 +38,11 @@ THREE.ParticleBasicMaterial = function ( parameters ) {
};
THREE
.
Particle
Basic
Material
.
prototype
=
Object
.
create
(
THREE
.
Material
.
prototype
);
THREE
.
Particle
System
Material
.
prototype
=
Object
.
create
(
THREE
.
Material
.
prototype
);
THREE
.
Particle
Basic
Material
.
prototype
.
clone
=
function
()
{
THREE
.
Particle
System
Material
.
prototype
.
clone
=
function
()
{
var
material
=
new
THREE
.
Particle
Basic
Material
();
var
material
=
new
THREE
.
Particle
System
Material
();
THREE
.
Material
.
prototype
.
clone
.
call
(
this
,
material
);
...
...
@@ -60,3 +60,7 @@ THREE.ParticleBasicMaterial.prototype.clone = function () {
return
material
;
};
// backwards compatibility
THREE
.
ParticleBasicMaterial
=
THREE
.
ParticleSystemMaterial
;
src/materials/
Particl
eCanvasMaterial.js
→
src/materials/
Sprit
eCanvasMaterial.js
浏览文件 @
692f1376
...
...
@@ -9,7 +9,7 @@
* }
*/
THREE
.
Particl
eCanvasMaterial
=
function
(
parameters
)
{
THREE
.
Sprit
eCanvasMaterial
=
function
(
parameters
)
{
THREE
.
Material
.
call
(
this
);
...
...
@@ -20,11 +20,11 @@ THREE.ParticleCanvasMaterial = function ( parameters ) {
};
THREE
.
Particl
eCanvasMaterial
.
prototype
=
Object
.
create
(
THREE
.
Material
.
prototype
);
THREE
.
Sprit
eCanvasMaterial
.
prototype
=
Object
.
create
(
THREE
.
Material
.
prototype
);
THREE
.
Particl
eCanvasMaterial
.
prototype
.
clone
=
function
()
{
THREE
.
Sprit
eCanvasMaterial
.
prototype
.
clone
=
function
()
{
var
material
=
new
THREE
.
Particl
eCanvasMaterial
();
var
material
=
new
THREE
.
Sprit
eCanvasMaterial
();
THREE
.
Material
.
prototype
.
clone
.
call
(
this
,
material
);
...
...
@@ -34,3 +34,7 @@ THREE.ParticleCanvasMaterial.prototype.clone = function () {
return
material
;
};
// backwards compatibility
THREE
.
ParticleCanvasMaterial
=
THREE
.
SpriteCanvasMaterial
;
\ No newline at end of file
src/objects/Particle.js
已删除
100644 → 0
浏览文件 @
0720aa8e
/**
* @author mrdoob / http://mrdoob.com/
*/
THREE
.
Particle
=
function
(
material
)
{
THREE
.
Object3D
.
call
(
this
);
this
.
material
=
material
;
};
THREE
.
Particle
.
prototype
=
Object
.
create
(
THREE
.
Object3D
.
prototype
);
THREE
.
Particle
.
prototype
.
clone
=
function
(
object
)
{
if
(
object
===
undefined
)
object
=
new
THREE
.
Particle
(
this
.
material
);
THREE
.
Object3D
.
prototype
.
clone
.
call
(
this
,
object
);
return
object
;
};
src/objects/ParticleSystem.js
浏览文件 @
692f1376
...
...
@@ -7,7 +7,7 @@ THREE.ParticleSystem = function ( geometry, material ) {
THREE
.
Object3D
.
call
(
this
);
this
.
geometry
=
geometry
!==
undefined
?
geometry
:
new
THREE
.
Geometry
();
this
.
material
=
material
!==
undefined
?
material
:
new
THREE
.
Particle
Basic
Material
(
{
color
:
Math
.
random
()
*
0xffffff
}
);
this
.
material
=
material
!==
undefined
?
material
:
new
THREE
.
Particle
System
Material
(
{
color
:
Math
.
random
()
*
0xffffff
}
);
this
.
sortParticles
=
false
;
this
.
frustumCulled
=
false
;
...
...
src/objects/Sprite.js
浏览文件 @
692f1376
...
...
@@ -37,3 +37,6 @@ THREE.Sprite.prototype.clone = function ( object ) {
};
// Backwards compatibility
THREE
.
Particle
=
THREE
.
Sprite
;
\ No newline at end of file
src/renderers/CanvasRenderer.js
浏览文件 @
692f1376
...
...
@@ -289,12 +289,12 @@ THREE.CanvasRenderer = function ( parameters ) {
_elemBox
.
makeEmpty
();
if
(
element
instanceof
THREE
.
Renderable
Particl
e
)
{
if
(
element
instanceof
THREE
.
Renderable
Sprit
e
)
{
_v1
=
element
;
_v1
.
x
*=
_canvasWidthHalf
;
_v1
.
y
*=
_canvasHeightHalf
;
render
Particl
e
(
_v1
,
element
,
material
);
render
Sprit
e
(
_v1
,
element
,
material
);
}
else
if
(
element
instanceof
THREE
.
RenderableLine
)
{
...
...
@@ -387,13 +387,13 @@ THREE.CanvasRenderer = function ( parameters ) {
}
else
if
(
light
instanceof
THREE
.
DirectionalLight
)
{
// for
particl
es
// for
sprit
es
_directionalLights
.
add
(
lightColor
);
}
else
if
(
light
instanceof
THREE
.
PointLight
)
{
// for
particl
es
// for
sprit
es
_pointLights
.
add
(
lightColor
);
...
...
@@ -445,7 +445,7 @@ THREE.CanvasRenderer = function ( parameters ) {
}
function
render
Particl
e
(
v1
,
element
,
material
)
{
function
render
Sprit
e
(
v1
,
element
,
material
)
{
setOpacity
(
material
.
opacity
);
setBlending
(
material
.
blending
);
...
...
@@ -453,7 +453,8 @@ THREE.CanvasRenderer = function ( parameters ) {
var
width
,
height
,
scaleX
,
scaleY
,
bitmap
,
bitmapWidth
,
bitmapHeight
;
if
(
material
instanceof
THREE
.
ParticleBasicMaterial
)
{
if
(
material
instanceof
THREE
.
Sprite
||
material
instanceof
THREE
.
ParticleSystemMaterial
)
{
// Backwards compatibility
if
(
material
.
map
===
null
)
{
...
...
@@ -529,7 +530,7 @@ THREE.CanvasRenderer = function ( parameters ) {
_context.stroke();
*/
}
else
if
(
material
instanceof
THREE
.
Particl
eCanvasMaterial
)
{
}
else
if
(
material
instanceof
THREE
.
Sprit
eCanvasMaterial
)
{
width
=
element
.
scale
.
x
*
_canvasWidthHalf
;
height
=
element
.
scale
.
y
*
_canvasHeightHalf
;
...
...
src/renderers/WebGLRenderer.js
浏览文件 @
692f1376
...
...
@@ -4085,7 +4085,7 @@ THREE.WebGLRenderer = function ( parameters ) {
shaderID
=
'
dashed
'
;
}
else
if
(
material
instanceof
THREE
.
Particle
Basic
Material
)
{
}
else
if
(
material
instanceof
THREE
.
Particle
System
Material
)
{
shaderID
=
'
particle_basic
'
;
...
...
@@ -4352,7 +4352,7 @@ THREE.WebGLRenderer = function ( parameters ) {
refreshUniformsLine
(
m_uniforms
,
material
);
refreshUniformsDash
(
m_uniforms
,
material
);
}
else
if
(
material
instanceof
THREE
.
Particle
Basic
Material
)
{
}
else
if
(
material
instanceof
THREE
.
Particle
System
Material
)
{
refreshUniformsParticle
(
m_uniforms
,
material
);
...
...
src/renderers/renderables/Renderable
Particl
e.js
→
src/renderers/renderables/Renderable
Sprit
e.js
浏览文件 @
692f1376
...
...
@@ -2,7 +2,7 @@
* @author mrdoob / http://mrdoob.com/
*/
THREE
.
Renderable
Particl
e
=
function
()
{
THREE
.
Renderable
Sprit
e
=
function
()
{
this
.
id
=
0
;
...
...
@@ -12,7 +12,7 @@ THREE.RenderableParticle = function () {
this
.
y
=
0
;
this
.
z
=
0
;
this
.
rotation
=
null
;
this
.
rotation
=
0
;
this
.
scale
=
new
THREE
.
Vector2
();
this
.
material
=
null
;
...
...
utils/build/includes/canvas.json
浏览文件 @
692f1376
...
...
@@ -47,11 +47,11 @@
"src/materials/MeshDepthMaterial.js"
,
"src/materials/MeshNormalMaterial.js"
,
"src/materials/MeshFaceMaterial.js"
,
"src/materials/ParticleBasicMaterial.js"
,
"src/materials/ParticleCanvasMaterial.js"
,
"src/materials/ParticleSystemMaterial.js"
,
"src/materials/SpriteMaterial.js"
,
"src/materials/SpriteCanvasMaterial.js"
,
"src/textures/Texture.js"
,
"src/textures/DataTexture.js"
,
"src/objects/Particle.js"
,
"src/objects/Line.js"
,
"src/objects/Mesh.js"
,
"src/objects/Bone.js"
,
...
...
@@ -61,6 +61,6 @@
"src/renderers/renderables/RenderableVertex.js"
,
"src/renderers/renderables/RenderableFace3.js"
,
"src/renderers/renderables/RenderableObject.js"
,
"src/renderers/renderables/Renderable
Particl
e.js"
,
"src/renderers/renderables/Renderable
Sprit
e.js"
,
"src/renderers/renderables/RenderableLine.js"
]
utils/build/includes/common.json
浏览文件 @
692f1376
...
...
@@ -59,14 +59,13 @@
"src/materials/MeshDepthMaterial.js"
,
"src/materials/MeshNormalMaterial.js"
,
"src/materials/MeshFaceMaterial.js"
,
"src/materials/ParticleBasicMaterial.js"
,
"src/materials/ParticleCanvasMaterial.js"
,
"src/materials/ParticleSystemMaterial.js"
,
"src/materials/ShaderMaterial.js"
,
"src/materials/SpriteMaterial.js"
,
"src/materials/SpriteCanvasMaterial.js"
,
"src/textures/Texture.js"
,
"src/textures/CompressedTexture.js"
,
"src/textures/DataTexture.js"
,
"src/objects/Particle.js"
,
"src/objects/ParticleSystem.js"
,
"src/objects/Line.js"
,
"src/objects/Mesh.js"
,
...
...
@@ -86,6 +85,6 @@
"src/renderers/renderables/RenderableVertex.js"
,
"src/renderers/renderables/RenderableFace3.js"
,
"src/renderers/renderables/RenderableObject.js"
,
"src/renderers/renderables/Renderable
Particl
e.js"
,
"src/renderers/renderables/Renderable
Sprit
e.js"
,
"src/renderers/renderables/RenderableLine.js"
]
utils/build/includes/webgl.json
浏览文件 @
692f1376
...
...
@@ -52,13 +52,12 @@
"src/materials/MeshDepthMaterial.js"
,
"src/materials/MeshNormalMaterial.js"
,
"src/materials/MeshFaceMaterial.js"
,
"src/materials/Particle
Basic
Material.js"
,
"src/materials/Particle
System
Material.js"
,
"src/materials/ShaderMaterial.js"
,
"src/materials/SpriteMaterial.js"
,
"src/textures/Texture.js"
,
"src/textures/CompressedTexture.js"
,
"src/textures/DataTexture.js"
,
"src/objects/Particle.js"
,
"src/objects/ParticleSystem.js"
,
"src/objects/Line.js"
,
"src/objects/Mesh.js"
,
...
...
@@ -77,7 +76,7 @@
"src/renderers/renderables/RenderableVertex.js"
,
"src/renderers/renderables/RenderableFace3.js"
,
"src/renderers/renderables/RenderableObject.js"
,
"src/renderers/renderables/Renderable
Particl
e.js"
,
"src/renderers/renderables/Renderable
Sprit
e.js"
,
"src/renderers/renderables/RenderableLine.js"
,
"src/extras/core/Gyroscope.js"
,
"src/extras/helpers/CameraHelper.js"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录