Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
fd161888
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,发现更多精彩内容 >>
提交
fd161888
编写于
7月 15, 2011
作者:
C
Chandler Prall
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Making the variable user-customizable
上级
d141ea85
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
17 deletion
+9
-17
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+9
-17
未找到文件。
src/renderers/WebGLRenderer.js
浏览文件 @
fd161888
...
...
@@ -7,18 +7,9 @@
THREE
.
WebGLRenderer
=
function
(
parameters
)
{
// Currently you can use just up to 4 directional / point lights total.
// Chrome barfs on shader linking when there are more than 4 lights :(
// The problem comes from shader using too many varying vectors.
// This is not GPU limitation as the same shader works ok in Firefox
// and Chrome with "--use-gl=desktop" flag.
// Difference comes from Chrome on Windows using by default ANGLE,
// thus going DirectX9 route (while FF uses OpenGL).
// See http://code.google.com/p/chromium/issues/detail?id=63491
// By default you can use just up to 4 directional / point lights total.
// ANGLE implementation (Chrome/Firefox on Windows) is bound to
// 10 varying vectors due to DirectX9 limitation.
var
_this
=
this
,
_gl
,
_programs
=
[],
...
...
@@ -78,6 +69,7 @@ THREE.WebGLRenderer = function ( parameters ) {
_antialias
=
parameters
.
antialias
!==
undefined
?
parameters
.
antialias
:
false
,
_clearColor
=
parameters
.
clearColor
!==
undefined
?
new
THREE
.
Color
(
parameters
.
clearColor
)
:
new
THREE
.
Color
(
0x000000
),
_clearAlpha
=
parameters
.
clearAlpha
!==
undefined
?
parameters
.
clearAlpha
:
0
;
_maxLights
=
parameters
.
maxLights
!==
undefined
?
parameters
.
maxLights
:
4
;
this
.
data
=
{
...
...
@@ -2310,7 +2302,7 @@ THREE.WebGLRenderer = function ( parameters ) {
// heuristics to create shader parameters according to lights in the scene
// (not to blow over maxLights budget)
maxLightCount
=
allocateLights
(
lights
,
4
);
maxLightCount
=
allocateLights
(
lights
);
maxBones
=
allocateBones
(
object
);
...
...
@@ -5329,7 +5321,7 @@ THREE.WebGLRenderer = function ( parameters ) {
};
function
allocateLights
(
lights
,
maxLights
)
{
function
allocateLights
(
lights
)
{
var
l
,
ll
,
light
,
dirLights
,
pointLights
,
maxDirLights
,
maxPointLights
;
dirLights
=
pointLights
=
maxDirLights
=
maxPointLights
=
0
;
...
...
@@ -5343,15 +5335,15 @@ THREE.WebGLRenderer = function ( parameters ) {
}
if
(
(
pointLights
+
dirLights
)
<=
maxLights
)
{
if
(
(
pointLights
+
dirLights
)
<=
_
maxLights
)
{
maxDirLights
=
dirLights
;
maxPointLights
=
pointLights
;
}
else
{
maxDirLights
=
Math
.
ceil
(
maxLights
*
dirLights
/
(
pointLights
+
dirLights
)
);
maxPointLights
=
maxLights
-
maxDirLights
;
maxDirLights
=
Math
.
ceil
(
_
maxLights
*
dirLights
/
(
pointLights
+
dirLights
)
);
maxPointLights
=
_
maxLights
-
maxDirLights
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录