Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
9ff4f7ac
T
three.js
项目概览
车家大少爷
/
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,发现更多精彩内容 >>
提交
9ff4f7ac
编写于
4月 03, 2015
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
WebGLProgram: Clean up.
上级
8b645efb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
30 deletion
+29
-30
src/renderers/webgl/WebGLProgram.js
src/renderers/webgl/WebGLProgram.js
+29
-30
未找到文件。
src/renderers/webgl/WebGLProgram.js
浏览文件 @
9ff4f7ac
...
...
@@ -2,7 +2,7 @@ THREE.WebGLProgram = ( function () {
var
programIdCount
=
0
;
var
generateDefines
=
function
(
defines
)
{
function
generateDefines
(
defines
)
{
var
value
,
chunk
,
chunks
=
[];
...
...
@@ -18,9 +18,9 @@ THREE.WebGLProgram = ( function () {
return
chunks
.
join
(
'
\n
'
);
}
;
}
var
cacheUniformLocations
=
function
(
gl
,
program
,
identifiers
)
{
function
cacheUniformLocations
(
gl
,
program
,
identifiers
)
{
var
uniforms
=
{};
...
...
@@ -33,9 +33,9 @@ THREE.WebGLProgram = ( function () {
return
uniforms
;
}
;
}
var
cacheAttributeLocations
=
function
(
gl
,
program
,
identifiers
)
{
function
cacheAttributeLocations
(
gl
,
program
,
identifiers
)
{
var
attributes
=
{};
...
...
@@ -48,12 +48,11 @@ THREE.WebGLProgram = ( function () {
return
attributes
;
}
;
}
return
function
(
renderer
,
code
,
material
,
parameters
)
{
var
_this
=
renderer
;
var
_gl
=
_this
.
context
;
var
gl
=
renderer
.
context
;
var
defines
=
material
.
defines
;
var
uniforms
=
material
.
__webglShader
.
uniforms
;
...
...
@@ -145,7 +144,7 @@ THREE.WebGLProgram = ( function () {
//
var
program
=
_
gl
.
createProgram
();
var
program
=
gl
.
createProgram
();
var
prefix_vertex
,
prefix_fragment
;
...
...
@@ -165,8 +164,8 @@ THREE.WebGLProgram = ( function () {
parameters
.
supportsVertexTextures
?
'
#define VERTEX_TEXTURES
'
:
''
,
_this
.
gammaInput
?
'
#define GAMMA_INPUT
'
:
''
,
_this
.
gammaOutput
?
'
#define GAMMA_OUTPUT
'
:
''
,
renderer
.
gammaInput
?
'
#define GAMMA_INPUT
'
:
''
,
renderer
.
gammaOutput
?
'
#define GAMMA_OUTPUT
'
:
''
,
'
#define GAMMA_FACTOR
'
+
gammaFactorDefine
,
'
#define MAX_DIR_LIGHTS
'
+
parameters
.
maxDirLights
,
...
...
@@ -208,7 +207,7 @@ THREE.WebGLProgram = ( function () {
parameters
.
sizeAttenuation
?
'
#define USE_SIZEATTENUATION
'
:
''
,
parameters
.
logarithmicDepthBuffer
?
'
#define USE_LOGDEPTHBUF
'
:
''
,
//
_this._
glExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '',
//
renderer.
glExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '',
'
uniform mat4 modelMatrix;
'
,
...
...
@@ -282,8 +281,8 @@ THREE.WebGLProgram = ( function () {
parameters
.
alphaTest
?
'
#define ALPHATEST
'
+
parameters
.
alphaTest
:
''
,
_this
.
gammaInput
?
'
#define GAMMA_INPUT
'
:
''
,
_this
.
gammaOutput
?
'
#define GAMMA_OUTPUT
'
:
''
,
renderer
.
gammaInput
?
'
#define GAMMA_INPUT
'
:
''
,
renderer
.
gammaOutput
?
'
#define GAMMA_OUTPUT
'
:
''
,
'
#define GAMMA_FACTOR
'
+
gammaFactorDefine
,
(
parameters
.
useFog
&&
parameters
.
fog
)
?
'
#define USE_FOG
'
:
''
,
...
...
@@ -315,7 +314,7 @@ THREE.WebGLProgram = ( function () {
parameters
.
shadowMapCascade
?
'
#define SHADOWMAP_CASCADE
'
:
''
,
parameters
.
logarithmicDepthBuffer
?
'
#define USE_LOGDEPTHBUF
'
:
''
,
//
_this._
glExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '',
//
renderer.
glExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '',
'
uniform mat4 viewMatrix;
'
,
'
uniform vec3 cameraPosition;
'
,
...
...
@@ -325,11 +324,11 @@ THREE.WebGLProgram = ( function () {
}
var
glVertexShader
=
new
THREE
.
WebGLShader
(
_gl
,
_
gl
.
VERTEX_SHADER
,
prefix_vertex
+
vertexShader
);
var
glFragmentShader
=
new
THREE
.
WebGLShader
(
_gl
,
_
gl
.
FRAGMENT_SHADER
,
prefix_fragment
+
fragmentShader
);
var
glVertexShader
=
new
THREE
.
WebGLShader
(
gl
,
gl
.
VERTEX_SHADER
,
prefix_vertex
+
vertexShader
);
var
glFragmentShader
=
new
THREE
.
WebGLShader
(
gl
,
gl
.
FRAGMENT_SHADER
,
prefix_fragment
+
fragmentShader
);
_
gl
.
attachShader
(
program
,
glVertexShader
);
_
gl
.
attachShader
(
program
,
glFragmentShader
);
gl
.
attachShader
(
program
,
glVertexShader
);
gl
.
attachShader
(
program
,
glFragmentShader
);
if
(
index0AttributeName
!==
undefined
)
{
...
...
@@ -337,19 +336,19 @@ THREE.WebGLProgram = ( function () {
// because potentially expensive emulation is done by browser if attribute 0 is disabled.
// And, color, for example is often automatically bound to index 0 so disabling it
_
gl
.
bindAttribLocation
(
program
,
0
,
index0AttributeName
);
gl
.
bindAttribLocation
(
program
,
0
,
index0AttributeName
);
}
_
gl
.
linkProgram
(
program
);
gl
.
linkProgram
(
program
);
var
programLogInfo
=
_
gl
.
getProgramInfoLog
(
program
);
var
vertexErrorLogInfo
=
_
gl
.
getShaderInfoLog
(
glVertexShader
);
var
fragmentErrorLogInfo
=
_
gl
.
getShaderInfoLog
(
glFragmentShader
);
var
programLogInfo
=
gl
.
getProgramInfoLog
(
program
);
var
vertexErrorLogInfo
=
gl
.
getShaderInfoLog
(
glVertexShader
);
var
fragmentErrorLogInfo
=
gl
.
getShaderInfoLog
(
glFragmentShader
);
if
(
_gl
.
getProgramParameter
(
program
,
_
gl
.
LINK_STATUS
)
===
false
)
{
if
(
gl
.
getProgramParameter
(
program
,
gl
.
LINK_STATUS
)
===
false
)
{
THREE
.
error
(
'
THREE.WebGLProgram: shader error:
'
,
_gl
.
getError
(),
'
gl.VALIDATE_STATUS
'
,
_gl
.
getProgramParameter
(
program
,
_
gl
.
VALIDATE_STATUS
),
'
gl.getProgramInfoLog
'
,
programLogInfo
,
vertexErrorLogInfo
,
fragmentErrorLogInfo
);
THREE
.
error
(
'
THREE.WebGLProgram: shader error:
'
,
gl
.
getError
(),
'
gl.VALIDATE_STATUS
'
,
gl
.
getProgramParameter
(
program
,
gl
.
VALIDATE_STATUS
),
'
gl.getProgramInfoLog
'
,
programLogInfo
,
vertexErrorLogInfo
,
fragmentErrorLogInfo
);
}
...
...
@@ -361,8 +360,8 @@ THREE.WebGLProgram = ( function () {
// clean up
_
gl
.
deleteShader
(
glVertexShader
);
_
gl
.
deleteShader
(
glFragmentShader
);
gl
.
deleteShader
(
glVertexShader
);
gl
.
deleteShader
(
glFragmentShader
);
// cache uniform locations
...
...
@@ -405,7 +404,7 @@ THREE.WebGLProgram = ( function () {
}
this
.
uniforms
=
cacheUniformLocations
(
_
gl
,
program
,
identifiers
);
this
.
uniforms
=
cacheUniformLocations
(
gl
,
program
,
identifiers
);
// cache attributes locations
...
...
@@ -441,7 +440,7 @@ THREE.WebGLProgram = ( function () {
}
this
.
attributes
=
cacheAttributeLocations
(
_
gl
,
program
,
identifiers
);
this
.
attributes
=
cacheAttributeLocations
(
gl
,
program
,
identifiers
);
this
.
attributesKeys
=
Object
.
keys
(
this
.
attributes
);
//
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录