Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
9d619159
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,发现更多精彩内容 >>
提交
9d619159
编写于
3月 22, 2018
作者:
M
Mugen87
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
BokehShader2: Fix depth sampling
上级
a7197d26
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
20 addition
and
7 deletion
+20
-7
examples/js/shaders/BokehShader2.js
examples/js/shaders/BokehShader2.js
+12
-3
examples/webgl_postprocessing_dof2.html
examples/webgl_postprocessing_dof2.html
+8
-4
未找到文件。
examples/js/shaders/BokehShader2.js
浏览文件 @
9d619159
...
...
@@ -65,6 +65,7 @@ THREE.BokehShader = {
fragmentShader
:
[
"
#include <common>
"
,
"
#include <packing>
"
,
"
varying vec2 vUv;
"
,
...
...
@@ -141,6 +142,14 @@ THREE.BokehShader = {
"
//------------------------------------------
"
,
"
float getDepth( const in vec2 screenPosition ) {
"
,
"
#if DEPTH_PACKING == 1
"
,
"
return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );
"
,
"
#else
"
,
"
return texture2D( tDepth, screenPosition ).x;
"
,
"
#endif
"
,
"
}
"
,
"
float penta(vec2 coords) {
"
,
"
//pentagonal shape
"
,
"
float scale = float(rings) - 1.3;
"
,
...
...
@@ -202,7 +211,7 @@ THREE.BokehShader = {
"
for( int i=0; i<9; i++ ) {
"
,
"
float tmp =
texture2D(tDepth, coords + offset[i]).r
;
"
,
"
float tmp =
getDepth( coords + offset[ i ] )
;
"
,
"
d += tmp * kernel[i];
"
,
"
}
"
,
...
...
@@ -264,7 +273,7 @@ THREE.BokehShader = {
"
void main() {
"
,
"
//scene depth calculation
"
,
"
float depth = linearize(
texture2D(tDepth,vUv.xy).x
);
"
,
"
float depth = linearize(
getDepth( vUv.xy )
);
"
,
"
// Blur depth?
"
,
"
if (depthblur) {
"
,
...
...
@@ -277,7 +286,7 @@ THREE.BokehShader = {
"
if (shaderFocus) {
"
,
"
fDepth = linearize(
texture2D(tDepth,focusCoords).x
);
"
,
"
fDepth = linearize(
getDepth( focusCoords )
);
"
,
"
}
"
,
...
...
examples/webgl_postprocessing_dof2.html
浏览文件 @
9d619159
...
...
@@ -96,10 +96,13 @@ Use WEBGL Depth buffer support?
renderer
=
new
THREE
.
WebGLRenderer
();
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
window
.
innerWidth
,
height
);
//renderer.sortObjects = false;
renderer
.
setClearColor
(
0xffffff
);
renderer
.
setClearAlpha
(
1.0
);
container
.
appendChild
(
renderer
.
domElement
);
material_depth
=
new
THREE
.
MeshDepthMaterial
();
material_depth
.
depthPacking
=
THREE
.
RGBADepthPacking
;
material_depth
.
blending
=
THREE
.
NoBlending
;
//
...
...
@@ -413,7 +416,8 @@ Use WEBGL Depth buffer support?
fragmentShader
:
bokeh_shader
.
fragmentShader
,
defines
:
{
RINGS
:
shaderSettings
.
rings
,
SAMPLES
:
shaderSettings
.
samples
SAMPLES
:
shaderSettings
.
samples
,
DEPTH_PACKING
:
1
// RGBADepth
}
}
);
...
...
@@ -514,13 +518,13 @@ Use WEBGL Depth buffer support?
// Render scene into texture
scene
.
overrideMaterial
=
null
;
renderer
.
render
(
scene
,
camera
,
postprocessing
.
rtTextureColor
,
true
);
// Render depth into texture
scene
.
overrideMaterial
=
material_depth
;
renderer
.
render
(
scene
,
camera
,
postprocessing
.
rtTextureDepth
,
true
);
scene
.
overrideMaterial
=
null
;
// Render bokeh composite
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录