Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
fc681563
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,发现更多精彩内容 >>
未验证
提交
fc681563
编写于
4月 21, 2021
作者:
M
Michael Herzog
提交者:
GitHub
4月 21, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Exampels: Clean up. (#21688)
上级
342946c8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
34 deletion
+34
-34
examples/webgl_gpgpu_birds.html
examples/webgl_gpgpu_birds.html
+34
-34
未找到文件。
examples/webgl_gpgpu_birds.html
浏览文件 @
fc681563
...
...
@@ -378,7 +378,7 @@
for
(
let
v
=
0
;
v
<
triangles
*
3
;
v
++
)
{
const
triangleIndex
=
~
~
(
v
/
3
);
const
birdIndex
=
~
~
(
triangleIndex
/
trianglesPerBird
)
const
birdIndex
=
~
~
(
triangleIndex
/
trianglesPerBird
)
;
const
x
=
(
birdIndex
%
WIDTH
)
/
WIDTH
;
const
y
=
~
~
(
birdIndex
/
WIDTH
)
/
WIDTH
;
...
...
@@ -468,18 +468,18 @@
const
valuesChanger
=
function
()
{
velocityUniforms
[
"
separationDistance
"
].
value
=
effectController
.
separation
;
velocityUniforms
[
"
alignmentDistance
"
].
value
=
effectController
.
alignment
;
velocityUniforms
[
"
cohesionDistance
"
].
value
=
effectController
.
cohesion
;
velocityUniforms
[
"
freedomFactor
"
].
value
=
effectController
.
freedom
;
velocityUniforms
[
'
separationDistance
'
].
value
=
effectController
.
separation
;
velocityUniforms
[
'
alignmentDistance
'
].
value
=
effectController
.
alignment
;
velocityUniforms
[
'
cohesionDistance
'
].
value
=
effectController
.
cohesion
;
velocityUniforms
[
'
freedomFactor
'
].
value
=
effectController
.
freedom
;
};
valuesChanger
();
gui
.
add
(
effectController
,
"
separation
"
,
0.0
,
100.0
,
1.0
).
onChange
(
valuesChanger
);
gui
.
add
(
effectController
,
"
alignment
"
,
0.0
,
100
,
0.001
).
onChange
(
valuesChanger
);
gui
.
add
(
effectController
,
"
cohesion
"
,
0.0
,
100
,
0.025
).
onChange
(
valuesChanger
);
gui
.
add
(
effectController
,
'
separation
'
,
0.0
,
100.0
,
1.0
).
onChange
(
valuesChanger
);
gui
.
add
(
effectController
,
'
alignment
'
,
0.0
,
100
,
0.001
).
onChange
(
valuesChanger
);
gui
.
add
(
effectController
,
'
cohesion
'
,
0.0
,
100
,
0.025
).
onChange
(
valuesChanger
);
gui
.
close
();
initBirds
();
...
...
@@ -501,8 +501,8 @@
fillPositionTexture
(
dtPosition
);
fillVelocityTexture
(
dtVelocity
);
velocityVariable
=
gpuCompute
.
addVariable
(
"
textureVelocity
"
,
document
.
getElementById
(
'
fragmentShaderVelocity
'
).
textContent
,
dtVelocity
);
positionVariable
=
gpuCompute
.
addVariable
(
"
texturePosition
"
,
document
.
getElementById
(
'
fragmentShaderPosition
'
).
textContent
,
dtPosition
);
velocityVariable
=
gpuCompute
.
addVariable
(
'
textureVelocity
'
,
document
.
getElementById
(
'
fragmentShaderVelocity
'
).
textContent
,
dtVelocity
);
positionVariable
=
gpuCompute
.
addVariable
(
'
texturePosition
'
,
document
.
getElementById
(
'
fragmentShaderPosition
'
).
textContent
,
dtPosition
);
gpuCompute
.
setVariableDependencies
(
velocityVariable
,
[
positionVariable
,
velocityVariable
]
);
gpuCompute
.
setVariableDependencies
(
positionVariable
,
[
positionVariable
,
velocityVariable
]
);
...
...
@@ -510,16 +510,16 @@
positionUniforms
=
positionVariable
.
material
.
uniforms
;
velocityUniforms
=
velocityVariable
.
material
.
uniforms
;
positionUniforms
[
"
time
"
]
=
{
value
:
0.0
};
positionUniforms
[
"
delta
"
]
=
{
value
:
0.0
};
velocityUniforms
[
"
time
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
delta
"
]
=
{
value
:
0.0
};
velocityUniforms
[
"
testing
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
separationDistance
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
alignmentDistance
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
cohesionDistance
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
freedomFactor
"
]
=
{
value
:
1.0
};
velocityUniforms
[
"
predator
"
]
=
{
value
:
new
THREE
.
Vector3
()
};
positionUniforms
[
'
time
'
]
=
{
value
:
0.0
};
positionUniforms
[
'
delta
'
]
=
{
value
:
0.0
};
velocityUniforms
[
'
time
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
delta
'
]
=
{
value
:
0.0
};
velocityUniforms
[
'
testing
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
separationDistance
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
alignmentDistance
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
cohesionDistance
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
freedomFactor
'
]
=
{
value
:
1.0
};
velocityUniforms
[
'
predator
'
]
=
{
value
:
new
THREE
.
Vector3
()
};
velocityVariable
.
material
.
defines
.
BOUNDS
=
BOUNDS
.
toFixed
(
2
);
velocityVariable
.
wrapS
=
THREE
.
RepeatWrapping
;
...
...
@@ -549,11 +549,11 @@
// For Vertex and Fragment
birdUniforms
=
{
"
color
"
:
{
value
:
new
THREE
.
Color
(
0xff2200
)
},
"
texturePosition
"
:
{
value
:
null
},
"
textureVelocity
"
:
{
value
:
null
},
"
time
"
:
{
value
:
1.0
},
"
delta
"
:
{
value
:
0.0
}
'
color
'
:
{
value
:
new
THREE
.
Color
(
0xff2200
)
},
'
texturePosition
'
:
{
value
:
null
},
'
textureVelocity
'
:
{
value
:
null
},
'
time
'
:
{
value
:
1.0
},
'
delta
'
:
{
value
:
0.0
}
};
// THREE.ShaderMaterial
...
...
@@ -652,22 +652,22 @@
if
(
delta
>
1
)
delta
=
1
;
// safety cap on large deltas
last
=
now
;
positionUniforms
[
"
time
"
].
value
=
now
;
positionUniforms
[
"
delta
"
].
value
=
delta
;
velocityUniforms
[
"
time
"
].
value
=
now
;
velocityUniforms
[
"
delta
"
].
value
=
delta
;
birdUniforms
[
"
time
"
].
value
=
now
;
birdUniforms
[
"
delta
"
].
value
=
delta
;
positionUniforms
[
'
time
'
].
value
=
now
;
positionUniforms
[
'
delta
'
].
value
=
delta
;
velocityUniforms
[
'
time
'
].
value
=
now
;
velocityUniforms
[
'
delta
'
].
value
=
delta
;
birdUniforms
[
'
time
'
].
value
=
now
;
birdUniforms
[
'
delta
'
].
value
=
delta
;
velocityUniforms
[
"
predator
"
].
value
.
set
(
0.5
*
mouseX
/
windowHalfX
,
-
0.5
*
mouseY
/
windowHalfY
,
0
);
velocityUniforms
[
'
predator
'
].
value
.
set
(
0.5
*
mouseX
/
windowHalfX
,
-
0.5
*
mouseY
/
windowHalfY
,
0
);
mouseX
=
10000
;
mouseY
=
10000
;
gpuCompute
.
compute
();
birdUniforms
[
"
texturePosition
"
].
value
=
gpuCompute
.
getCurrentRenderTarget
(
positionVariable
).
texture
;
birdUniforms
[
"
textureVelocity
"
].
value
=
gpuCompute
.
getCurrentRenderTarget
(
velocityVariable
).
texture
;
birdUniforms
[
'
texturePosition
'
].
value
=
gpuCompute
.
getCurrentRenderTarget
(
positionVariable
).
texture
;
birdUniforms
[
'
textureVelocity
'
].
value
=
gpuCompute
.
getCurrentRenderTarget
(
velocityVariable
).
texture
;
renderer
.
render
(
scene
,
camera
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录