Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
f8600068
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,发现更多精彩内容 >>
提交
f8600068
编写于
3月 05, 2018
作者:
T
Takahiro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Replace 8 with real maxMipLevel in lights_fragment_maps.glsl
上级
faa51af9
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
51 addition
and
9 deletion
+51
-9
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+2
-0
src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl
+1
-0
src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl
src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl
+2
-3
src/renderers/shaders/UniformsLib.js
src/renderers/shaders/UniformsLib.js
+2
-1
src/renderers/webgl/WebGLTextures.js
src/renderers/webgl/WebGLTextures.js
+44
-5
未找到文件。
src/renderers/WebGLRenderer.js
浏览文件 @
f8600068
...
...
@@ -1975,6 +1975,8 @@ function WebGLRenderer( parameters ) {
uniforms
.
reflectivity
.
value
=
material
.
reflectivity
;
uniforms
.
refractionRatio
.
value
=
material
.
refractionRatio
;
uniforms
.
maxMipLevel
.
value
=
material
.
envMap
.
maxMipLevel
;
}
if
(
material
.
lightMap
)
{
...
...
src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl
浏览文件 @
f8600068
...
...
@@ -15,6 +15,7 @@
uniform
sampler2D
envMap
;
#endif
uniform
float
flipEnvMap
;
uniform
int
maxMipLevel
;
#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )
uniform
float
refractionRatio
;
...
...
src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl
浏览文件 @
f8600068
...
...
@@ -25,11 +25,10 @@
#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
// TODO, replace 8 with the real maxMIPLevel
radiance
+=
getLightProbeIndirectRadiance
(
/*specularLightProbe,*/
geometry
,
Material_BlinnShininessExponent
(
material
),
8
);
radiance
+=
getLightProbeIndirectRadiance
(
/*specularLightProbe,*/
geometry
,
Material_BlinnShininessExponent
(
material
),
maxMipLevel
);
#ifndef STANDARD
clearCoatRadiance
+=
getLightProbeIndirectRadiance
(
/*specularLightProbe,*/
geometry
,
Material_ClearCoat_BlinnShininessExponent
(
material
),
8
);
clearCoatRadiance
+=
getLightProbeIndirectRadiance
(
/*specularLightProbe,*/
geometry
,
Material_ClearCoat_BlinnShininessExponent
(
material
),
maxMipLeven
);
#endif
#endif
src/renderers/shaders/UniformsLib.js
浏览文件 @
f8600068
...
...
@@ -31,7 +31,8 @@ var UniformsLib = {
envMap
:
{
value
:
null
},
flipEnvMap
:
{
value
:
-
1
},
reflectivity
:
{
value
:
1.0
},
refractionRatio
:
{
value
:
0.98
}
refractionRatio
:
{
value
:
0.98
},
maxMipLevel
:
{
value
:
0
}
},
...
...
src/renderers/webgl/WebGLTextures.js
浏览文件 @
f8600068
...
...
@@ -81,6 +81,15 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
function
generateMipmap
(
texture
,
target
)
{
_gl
.
generateMipmap
(
target
);
var
image
=
Array
.
isArray
(
texture
.
image
)
?
texture
.
image
[
0
]
:
texture
.
image
;
texture
.
maxMipLevel
=
Math
.
max
(
Math
.
log2
(
Math
.
max
(
image
.
width
,
image
.
height
)
),
texture
.
maxMipLevel
);
}
// Fallback filters for non-power-of-2 textures
function
filterFallback
(
f
)
{
...
...
@@ -325,9 +334,19 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
if
(
!
isCompressed
)
{
texture
.
maxMipLevel
=
0
;
}
else
{
texture
.
maxMipLevel
=
mipmaps
.
length
-
1
;
}
if
(
textureNeedsGenerateMipmaps
(
texture
,
isPowerOfTwoImage
)
)
{
_gl
.
generateMipmap
(
_gl
.
TEXTURE_CUBE_MAP
);
generateMipmap
(
texture
,
_gl
.
TEXTURE_CUBE_MAP
);
}
...
...
@@ -514,10 +533,12 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
texture
.
generateMipmaps
=
false
;
texture
.
maxMipLevel
=
mipmaps
.
length
-
1
;
}
else
{
state
.
texImage2D
(
_gl
.
TEXTURE_2D
,
0
,
glFormat
,
image
.
width
,
image
.
height
,
0
,
glFormat
,
glType
,
image
.
data
);
texture
.
maxMipLevel
=
0
;
}
...
...
@@ -547,6 +568,8 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
texture
.
maxMipLevel
=
mipmaps
.
length
-
1
;
}
else
{
// regular Texture (image, video, canvas)
...
...
@@ -565,16 +588,22 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
texture
.
generateMipmaps
=
false
;
texture
.
maxMipLevel
=
mipmaps
.
length
-
1
;
}
else
{
state
.
texImage2D
(
_gl
.
TEXTURE_2D
,
0
,
glFormat
,
glFormat
,
glType
,
image
);
texture
.
maxMipLevel
=
0
;
}
}
if
(
textureNeedsGenerateMipmaps
(
texture
,
isPowerOfTwoImage
)
)
_gl
.
generateMipmap
(
_gl
.
TEXTURE_2D
);
if
(
textureNeedsGenerateMipmaps
(
texture
,
isPowerOfTwoImage
)
)
{
generateMipmap
(
texture
,
_gl
.
TEXTURE_2D
);
}
textureProperties
.
__version
=
texture
.
version
;
...
...
@@ -754,7 +783,12 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
}
if
(
textureNeedsGenerateMipmaps
(
renderTarget
.
texture
,
isTargetPowerOfTwo
)
)
_gl
.
generateMipmap
(
_gl
.
TEXTURE_CUBE_MAP
);
if
(
textureNeedsGenerateMipmaps
(
renderTarget
.
texture
,
isTargetPowerOfTwo
)
)
{
generateMipmap
(
renderTarget
.
texture
,
_gl
.
TEXTURE_CUBE_MAP
);
}
state
.
bindTexture
(
_gl
.
TEXTURE_CUBE_MAP
,
null
);
}
else
{
...
...
@@ -763,7 +797,12 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
setTextureParameters
(
_gl
.
TEXTURE_2D
,
renderTarget
.
texture
,
isTargetPowerOfTwo
);
setupFrameBufferTexture
(
renderTargetProperties
.
__webglFramebuffer
,
renderTarget
,
_gl
.
COLOR_ATTACHMENT0
,
_gl
.
TEXTURE_2D
);
if
(
textureNeedsGenerateMipmaps
(
renderTarget
.
texture
,
isTargetPowerOfTwo
)
)
_gl
.
generateMipmap
(
_gl
.
TEXTURE_2D
);
if
(
textureNeedsGenerateMipmaps
(
renderTarget
.
texture
,
isTargetPowerOfTwo
)
)
{
generateMipmap
(
renderTarget
.
texture
,
_gl
.
TEXTURE_2D
);
}
state
.
bindTexture
(
_gl
.
TEXTURE_2D
,
null
);
}
...
...
@@ -789,7 +828,7 @@ function WebGLTextures( _gl, extensions, state, properties, capabilities, utils,
var
webglTexture
=
properties
.
get
(
texture
).
__webglTexture
;
state
.
bindTexture
(
target
,
webglTexture
);
_gl
.
generateMipmap
(
target
);
generateMipmap
(
texture
,
target
);
state
.
bindTexture
(
target
,
null
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录