Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
85662391
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,发现更多精彩内容 >>
提交
85662391
编写于
5月 23, 2019
作者:
M
Mugen87
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JSM: Added module and TS file for GlitchPass.
上级
0b099231
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
148 addition
and
1 deletion
+148
-1
docs/manual/en/introduction/Import-via-modules.html
docs/manual/en/introduction/Import-via-modules.html
+1
-0
examples/js/postprocessing/GlitchPass.js
examples/js/postprocessing/GlitchPass.js
+1
-1
examples/jsm/postprocessing/GlitchPass.d.ts
examples/jsm/postprocessing/GlitchPass.d.ts
+19
-0
examples/jsm/postprocessing/GlitchPass.js
examples/jsm/postprocessing/GlitchPass.js
+126
-0
utils/modularize.js
utils/modularize.js
+1
-0
未找到文件。
docs/manual/en/introduction/Import-via-modules.html
浏览文件 @
85662391
...
...
@@ -164,6 +164,7 @@
<li>
DotScreenPass
</li>
<li>
EffectComposer
</li>
<li>
FilmPass
</li>
<li>
GlitchPass
</li>
<li>
MaskPass
</li>
<li>
RenderPass
</li>
<li>
SavePass
</li>
...
...
examples/js/postprocessing/GlitchPass.js
浏览文件 @
85662391
...
...
@@ -35,7 +35,7 @@ THREE.GlitchPass.prototype = Object.assign( Object.create( THREE.Pass.prototype
constructor
:
THREE
.
GlitchPass
,
render
:
function
(
renderer
,
writeBuffer
,
readBuffer
,
deltaTime
,
maskActive
)
{
render
:
function
(
renderer
,
writeBuffer
,
readBuffer
/*, deltaTime, maskActive */
)
{
this
.
uniforms
[
"
tDiffuse
"
].
value
=
readBuffer
.
texture
;
this
.
uniforms
[
'
seed
'
].
value
=
Math
.
random
();
//default seeding
...
...
examples/jsm/postprocessing/GlitchPass.d.ts
0 → 100644
浏览文件 @
85662391
import
{
ShaderMaterial
,
DataTexture
}
from
'
../../../src/Three
'
;
import
{
Pass
}
from
'
./Pass
'
;
export
class
GlitchPass
extends
Pass
{
constructor
(
dt_size
?:
number
);
uniforms
:
object
;
material
:
ShaderMaterial
;
fsQuad
:
object
;
goWild
:
boolean
;
curF
:
number
;
randX
:
number
;
generateTrigger
():
void
;
generateHeightmap
(
dt_size
:
number
):
DataTexture
;
}
examples/jsm/postprocessing/GlitchPass.js
0 → 100644
浏览文件 @
85662391
/**
* @author alteredq / http://alteredqualia.com/
*/
import
{
DataTexture
,
FloatType
,
Math
as
_Math
,
RGBFormat
,
ShaderMaterial
,
UniformsUtils
}
from
"
../../../build/three.module.js
"
;
import
{
Pass
}
from
"
../postprocessing/Pass.js
"
;
import
{
DigitalGlitch
}
from
"
../shaders/DigitalGlitch.js
"
;
var
GlitchPass
=
function
(
dt_size
)
{
Pass
.
call
(
this
);
if
(
DigitalGlitch
===
undefined
)
console
.
error
(
"
GlitchPass relies on DigitalGlitch
"
);
var
shader
=
DigitalGlitch
;
this
.
uniforms
=
UniformsUtils
.
clone
(
shader
.
uniforms
);
if
(
dt_size
==
undefined
)
dt_size
=
64
;
this
.
uniforms
[
"
tDisp
"
].
value
=
this
.
generateHeightmap
(
dt_size
);
this
.
material
=
new
ShaderMaterial
(
{
uniforms
:
this
.
uniforms
,
vertexShader
:
shader
.
vertexShader
,
fragmentShader
:
shader
.
fragmentShader
}
);
this
.
fsQuad
=
new
Pass
.
FullScreenQuad
(
this
.
material
);
this
.
goWild
=
false
;
this
.
curF
=
0
;
this
.
generateTrigger
();
};
GlitchPass
.
prototype
=
Object
.
assign
(
Object
.
create
(
Pass
.
prototype
),
{
constructor
:
GlitchPass
,
render
:
function
(
renderer
,
writeBuffer
,
readBuffer
/*, deltaTime, maskActive */
)
{
this
.
uniforms
[
"
tDiffuse
"
].
value
=
readBuffer
.
texture
;
this
.
uniforms
[
'
seed
'
].
value
=
Math
.
random
();
//default seeding
this
.
uniforms
[
'
byp
'
].
value
=
0
;
if
(
this
.
curF
%
this
.
randX
==
0
||
this
.
goWild
==
true
)
{
this
.
uniforms
[
'
amount
'
].
value
=
Math
.
random
()
/
30
;
this
.
uniforms
[
'
angle
'
].
value
=
_Math
.
randFloat
(
-
Math
.
PI
,
Math
.
PI
);
this
.
uniforms
[
'
seed_x
'
].
value
=
_Math
.
randFloat
(
-
1
,
1
);
this
.
uniforms
[
'
seed_y
'
].
value
=
_Math
.
randFloat
(
-
1
,
1
);
this
.
uniforms
[
'
distortion_x
'
].
value
=
_Math
.
randFloat
(
0
,
1
);
this
.
uniforms
[
'
distortion_y
'
].
value
=
_Math
.
randFloat
(
0
,
1
);
this
.
curF
=
0
;
this
.
generateTrigger
();
}
else
if
(
this
.
curF
%
this
.
randX
<
this
.
randX
/
5
)
{
this
.
uniforms
[
'
amount
'
].
value
=
Math
.
random
()
/
90
;
this
.
uniforms
[
'
angle
'
].
value
=
_Math
.
randFloat
(
-
Math
.
PI
,
Math
.
PI
);
this
.
uniforms
[
'
distortion_x
'
].
value
=
_Math
.
randFloat
(
0
,
1
);
this
.
uniforms
[
'
distortion_y
'
].
value
=
_Math
.
randFloat
(
0
,
1
);
this
.
uniforms
[
'
seed_x
'
].
value
=
_Math
.
randFloat
(
-
0.3
,
0.3
);
this
.
uniforms
[
'
seed_y
'
].
value
=
_Math
.
randFloat
(
-
0.3
,
0.3
);
}
else
if
(
this
.
goWild
==
false
)
{
this
.
uniforms
[
'
byp
'
].
value
=
1
;
}
this
.
curF
++
;
if
(
this
.
renderToScreen
)
{
renderer
.
setRenderTarget
(
null
);
this
.
fsQuad
.
render
(
renderer
);
}
else
{
renderer
.
setRenderTarget
(
writeBuffer
);
if
(
this
.
clear
)
renderer
.
clear
();
this
.
fsQuad
.
render
(
renderer
);
}
},
generateTrigger
:
function
()
{
this
.
randX
=
_Math
.
randInt
(
120
,
240
);
},
generateHeightmap
:
function
(
dt_size
)
{
var
data_arr
=
new
Float32Array
(
dt_size
*
dt_size
*
3
);
var
length
=
dt_size
*
dt_size
;
for
(
var
i
=
0
;
i
<
length
;
i
++
)
{
var
val
=
_Math
.
randFloat
(
0
,
1
);
data_arr
[
i
*
3
+
0
]
=
val
;
data_arr
[
i
*
3
+
1
]
=
val
;
data_arr
[
i
*
3
+
2
]
=
val
;
}
var
texture
=
new
DataTexture
(
data_arr
,
dt_size
,
dt_size
,
RGBFormat
,
FloatType
);
texture
.
needsUpdate
=
true
;
return
texture
;
}
}
);
export
{
GlitchPass
};
utils/modularize.js
浏览文件 @
85662391
...
...
@@ -73,6 +73,7 @@ var files = [
{
path
:
'
postprocessing/DotScreenPass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
},
{
name
:
'
DotScreenShader
'
,
path
:
'
shaders/DotScreenShader.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/EffectComposer.js
'
,
dependencies
:
[
{
name
:
'
CopyShader
'
,
path
:
'
shaders/CopyShader.js
'
},
{
name
:
'
ShaderPass
'
,
path
:
'
postprocessing/ShaderPass.js
'
},
{
name
:
'
MaskPass
'
,
path
:
'
postprocessing/MaskPass.js
'
},
{
name
:
'
ClearMaskPass
'
,
path
:
'
postprocessing/MaskPass.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/FilmPass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
},
{
name
:
'
FilmShader
'
,
path
:
'
shaders/FilmShader.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/GlitchPass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
},
{
name
:
'
DigitalGlitch
'
,
path
:
'
shaders/DigitalGlitch.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/MaskPass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/RenderPass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
}
],
ignoreList
:
[]
},
{
path
:
'
postprocessing/SavePass.js
'
,
dependencies
:
[
{
name
:
'
Pass
'
,
path
:
'
postprocessing/Pass.js
'
},
{
name
:
'
CopyShader
'
,
path
:
'
shaders/CopyShader.js
'
}
],
ignoreList
:
[]
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录