Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
0bd23ca9
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,发现更多精彩内容 >>
提交
0bd23ca9
编写于
9月 02, 2011
作者:
A
alteredq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added scene override material to RenderPass. Added mipmapped depth-of-field shader.
上级
5a87757b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
63 addition
and
1 deletion
+63
-1
examples/js/ShaderExtras.js
examples/js/ShaderExtras.js
+57
-0
examples/js/postprocessing/RenderPass.js
examples/js/postprocessing/RenderPass.js
+6
-1
未找到文件。
examples/js/ShaderExtras.js
浏览文件 @
0bd23ca9
...
...
@@ -343,6 +343,63 @@ THREE.ShaderExtras = {
},
/* -------------------------------------------------------------------------
// Depth-of-field shader using mipmaps
// - from Matt Handley @applmak
// - requires power-of-2 sized render target with enabled mipmaps
------------------------------------------------------------------------- */
'
dofmipmap
'
:
{
uniforms
:
{
tColor
:
{
type
:
"
t
"
,
value
:
0
,
texture
:
null
},
tDepth
:
{
type
:
"
t
"
,
value
:
1
,
texture
:
null
},
focus
:
{
type
:
"
f
"
,
value
:
1.0
},
maxblur
:
{
type
:
"
f
"
,
value
:
1.0
}
},
vertexShader
:
[
"
varying vec2 vUv;
"
,
"
void main() {
"
,
"
vUv = vec2( uv.x, 1.0 - uv.y );
"
,
"
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
"
,
"
}
"
].
join
(
"
\n
"
),
fragmentShader
:
[
"
uniform float focus;
"
,
"
uniform float maxblur;
"
,
"
uniform sampler2D tColor;
"
,
"
uniform sampler2D tDepth;
"
,
"
varying vec2 vUv;
"
,
"
void main() {
"
,
"
vec4 depth = texture2D( tDepth, vUv );
"
,
"
float factor = depth.x - focus;
"
,
"
vec4 col = texture2D( tColor, vUv, 2.0 * maxblur * abs( focus - depth.x ) );
"
,
"
gl_FragColor = col;
"
,
"
gl_FragColor.a = 1.0;
"
,
"
}
"
].
join
(
"
\n
"
)
},
/* -------------------------------------------------------------------------
// Sepia tone shader
// - based on glfx.js sepia shader
...
...
examples/js/postprocessing/RenderPass.js
浏览文件 @
0bd23ca9
...
...
@@ -2,10 +2,11 @@
* @author alteredq / http://alteredqualia.com/
*/
THREE
.
RenderPass
=
function
(
scene
,
camera
)
{
THREE
.
RenderPass
=
function
(
scene
,
camera
,
overrideMaterial
)
{
this
.
scene
=
scene
;
this
.
camera
=
camera
;
this
.
overrideMaterial
=
overrideMaterial
;
this
.
clear
=
true
;
this
.
needsSwap
=
false
;
...
...
@@ -16,8 +17,12 @@ THREE.RenderPass.prototype = {
render
:
function
(
renderer
,
writeBuffer
,
readBuffer
,
delta
)
{
this
.
scene
.
overrideMaterial
=
this
.
overrideMaterial
;
renderer
.
render
(
this
.
scene
,
this
.
camera
,
readBuffer
,
this
.
clear
);
this
.
scene
.
overrideMaterial
=
null
;
}
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录