Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
5c16f25b
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,发现更多精彩内容 >>
提交
5c16f25b
编写于
3月 02, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
60bf8fbf
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
358 addition
and
312 deletion
+358
-312
build/three.js
build/three.js
+147
-103
build/three.min.js
build/three.min.js
+210
-208
src/renderers/webgl/WebGLProgram.js
src/renderers/webgl/WebGLProgram.js
+1
-1
未找到文件。
build/three.js
浏览文件 @
5c16f25b
...
@@ -8955,6 +8955,17 @@ THREE.BufferAttribute.prototype = {
...
@@ -8955,6 +8955,17 @@ THREE.BufferAttribute.prototype = {
this.array[ index + 1 ] = y;
this.array[ index + 1 ] = y;
this.array[ index + 2 ] = z;
this.array[ index + 2 ] = z;
},
setXYZW: function ( index, x, y, z, w ) {
index *= this.itemSize;
this.array[ index ] = x;
this.array[ index + 1 ] = y;
this.array[ index + 2 ] = z;
this.array[ index + 3 ] = w;
}
}
};
};
...
@@ -14948,7 +14959,7 @@ THREE.ShaderMaterial = function ( parameters ) {
...
@@ -14948,7 +14959,7 @@ THREE.ShaderMaterial = function ( parameters ) {
// When rendered geometry doesn't include these attributes but the material does,
// When rendered geometry doesn't include these attributes but the material does,
// use these default values in WebGL. This avoids errors when buffer data is missing.
// use these default values in WebGL. This avoids errors when buffer data is missing.
this.defaultAttributeValues = {
this.defaultAttributeValues = {
"color" : [ 1, 1, 1],
"color" : [ 1, 1, 1
],
"uv" : [ 0, 0 ],
"uv" : [ 0, 0 ],
"uv2" : [ 0, 0 ]
"uv2" : [ 0, 0 ]
};
};
...
@@ -14995,6 +15006,28 @@ THREE.ShaderMaterial.prototype.clone = function () {
...
@@ -14995,6 +15006,28 @@ THREE.ShaderMaterial.prototype.clone = function () {
};
};
/**
* @author mrdoob / http://mrdoob.com/
*/
THREE.RawShaderMaterial = function ( parameters ) {
THREE.ShaderMaterial.call( this, parameters );
};
THREE.RawShaderMaterial.prototype = Object.create( THREE.ShaderMaterial.prototype );
THREE.RawShaderMaterial.prototype.clone = function () {
var material = new THREE.RawShaderMaterial();
THREE.ShaderMaterial.prototype.clone.call( this, material );
return material;
};
/**
/**
* @author alteredq / http://alteredqualia.com/
* @author alteredq / http://alteredqualia.com/
*
*
...
@@ -26711,152 +26744,163 @@ THREE.WebGLProgram = ( function () {
...
@@ -26711,152 +26744,163 @@ THREE.WebGLProgram = ( function () {
var program = _gl.createProgram();
var program = _gl.createProgram();
var prefix_vertex
= [
var prefix_vertex
, prefix_fragment;
"precision " + parameters.precision + " float;",
if ( material instanceof THREE.RawShaderMaterial ) {
"precision " + parameters.precision + " int;",
customDefines,
prefix_vertex = '';
prefix_fragment = '';
parameters.supportsVertexTextures ? "#define VERTEX_TEXTURES" : "",
} else {
_this.gammaInput ? "#define GAMMA_INPUT" : "",
prefix_vertex = [
_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
"precision " + parameters.precision + " float;",
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
"precision " + parameters.precision + " int;",
"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
"#define MAX_SHADOWS " + parameters.maxShadow
s,
customDefine
s,
"#define MAX_BONES " + parameters.maxBones
,
parameters.supportsVertexTextures ? "#define VERTEX_TEXTURES" : ""
,
parameters.map ? "#define USE_MAP" : "",
_this.gammaInput ? "#define GAMMA_INPUT" : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.bumpMap ? "#define USE_BUMPMAP" : "",
parameters.normalMap ? "#define USE_NORMALMAP" : "",
parameters.specularMap ? "#define USE_SPECULARMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
parameters.skinning ? "#define USE_SKINNING" : "",
"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
parameters.useVertexTexture ? "#define BONE_TEXTURE" : "",
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
parameters.morphTargets ? "#define USE_MORPHTARGETS" : "",
"#define MAX_SHADOWS " + parameters.maxShadows,
parameters.morphNormals ? "#define USE_MORPHNORMALS" : "",
parameters.wrapAround ? "#define WRAP_AROUND" : "",
parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
parameters.flipSided ? "#define FLIP_SIDED" : "",
parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
"#define MAX_BONES " + parameters.maxBones,
parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "",
parameters.map ? "#define USE_MAP" : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.bumpMap ? "#define USE_BUMPMAP" : "",
parameters.normalMap ? "#define USE_NORMALMAP" : "",
parameters.specularMap ? "#define USE_SPECULARMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
"uniform mat4 modelMatrix;",
parameters.skinning ? "#define USE_SKINNING" : "",
"uniform mat4 modelViewMatrix;",
parameters.useVertexTexture ? "#define BONE_TEXTURE" : "",
"uniform mat4 projectionMatrix;",
"uniform mat4 viewMatrix;",
"uniform mat3 normalMatrix;",
"uniform vec3 cameraPosition;",
"attribute vec3 position;",
parameters.morphTargets ? "#define USE_MORPHTARGETS" : "",
"attribute vec3 normal;",
parameters.morphNormals ? "#define USE_MORPHNORMALS" : "",
"attribute vec2 uv;",
parameters.wrapAround ? "#define WRAP_AROUND" : "",
"attribute vec2 uv2;",
parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
parameters.flipSided ? "#define FLIP_SIDED" : "",
"#ifdef USE_COLOR",
parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
" attribute vec3 color;
",
parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "
",
"#endif",
"uniform mat4 modelMatrix;",
"uniform mat4 modelViewMatrix;",
"uniform mat4 projectionMatrix;",
"uniform mat4 viewMatrix;",
"uniform mat3 normalMatrix;",
"uniform vec3 cameraPosition;",
"#ifdef USE_MORPHTARGETS",
"attribute vec3 position;",
"attribute vec3 normal;",
"attribute vec2 uv;",
"attribute vec2 uv2;",
" attribute vec3 morphTarget0;",
"#ifdef USE_COLOR",
" attribute vec3 morphTarget1;",
" attribute vec3 morphTarget2;",
" attribute vec3 morphTarget3;",
" #ifdef USE_MORPHNORMALS
",
" attribute vec3 color;
",
" attribute vec3 morphNormal0;",
"#endif",
" attribute vec3 morphNormal1;",
" attribute vec3 morphNormal2;",
" attribute vec3 morphNormal3;",
" #else
",
"#ifdef USE_MORPHTARGETS
",
" attribute vec3 morphTarget4
;",
" attribute vec3 morphTarget0
;",
" attribute vec3 morphTarget5
;",
" attribute vec3 morphTarget1
;",
" attribute vec3 morphTarget6
;",
" attribute vec3 morphTarget2
;",
" attribute vec3 morphTarget7
;",
" attribute vec3 morphTarget3
;",
" #endif
",
" #ifdef USE_MORPHNORMALS
",
"#endif",
" attribute vec3 morphNormal0;",
" attribute vec3 morphNormal1;",
" attribute vec3 morphNormal2;",
" attribute vec3 morphNormal3;",
"#ifdef USE_SKINNING
",
" #else
",
" attribute vec4 skinIndex;",
" attribute vec3 morphTarget4;",
" attribute vec4 skinWeight;",
" attribute vec3 morphTarget5;",
" attribute vec3 morphTarget6;",
" attribute vec3 morphTarget7;",
"#endif",
" #endif",
"#endif",
"#ifdef USE_SKINNING",
""
" attribute vec4 skinIndex;",
" attribute vec4 skinWeight;",
].join( '\n' );
"#endif",
var prefix_fragment = [
""
"precision " + parameters.precision + " float;",
].join( '\n' );
"precision " + parameters.precision + " int;",
( parameters.bumpMap || parameters.normalMap ) ? "#extension GL_OES_standard_derivatives : enable" : "",
prefix_fragment = [
customDefines,
"precision " + parameters.precision + " float;",
"precision " + parameters.precision + " int;",
"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
( parameters.bumpMap || parameters.normalMap ) ? "#extension GL_OES_standard_derivatives : enable" : "",
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
"#define MAX_SHADOWS " + parameters.maxShadow
s,
customDefine
s,
parameters.alphaTest ? "#define ALPHATEST " + parameters.alphaTest: "",
"#define MAX_DIR_LIGHTS " + parameters.maxDirLights,
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
"#define MAX_SPOT_LIGHTS " + parameters.maxSpotLights,
"#define MAX_HEMI_LIGHTS " + parameters.maxHemiLights,
_this.gammaInput ? "#define GAMMA_INPUT" : "",
"#define MAX_SHADOWS " + parameters.maxShadows,
_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
( parameters.useFog && parameters.fog ) ? "#define USE_FOG" : "",
parameters.alphaTest ? "#define ALPHATEST " + parameters.alphaTest: "",
( parameters.useFog && parameters.fogExp ) ? "#define FOG_EXP2" : "",
parameters.map ? "#define USE_MAP" : "",
_this.gammaInput ? "#define GAMMA_INPUT" : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
_this.gammaOutput ? "#define GAMMA_OUTPUT" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.bumpMap ? "#define USE_BUMPMAP" : "",
parameters.normalMap ? "#define USE_NORMALMAP" : "",
parameters.specularMap ? "#define USE_SPECULARMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
parameters.metal ? "#define METAL" : "",
( parameters.useFog && parameters.fog ) ? "#define USE_FOG" : "",
parameters.wrapAround ? "#define WRAP_AROUND" : "",
( parameters.useFog && parameters.fogExp ) ? "#define FOG_EXP2" : "",
parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
parameters.flipSided ? "#define FLIP_SIDED" : "",
parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
parameters.map ? "#define USE_MAP" : "",
parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
parameters.bumpMap ? "#define USE_BUMPMAP" : "",
parameters.normalMap ? "#define USE_NORMALMAP" : "",
parameters.specularMap ? "#define USE_SPECULARMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
"uniform mat4 viewMatrix;",
parameters.metal ? "#define METAL" : "",
"uniform vec3 cameraPosition;",
parameters.wrapAround ? "#define WRAP_AROUND" : "",
""
parameters.doubleSided ? "#define DOUBLE_SIDED" : "",
parameters.flipSided ? "#define FLIP_SIDED" : "",
].join( '\n' );
parameters.shadowMapEnabled ? "#define USE_SHADOWMAP" : "",
parameters.shadowMapEnabled ? "#define " + shadowMapTypeDefine : "",
parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
"uniform mat4 viewMatrix;",
"uniform vec3 cameraPosition;",
""
].join( '\n' );
}
var glVertexShader = new THREE.WebGLShader( _gl, _gl.VERTEX_SHADER, prefix_vertex + vertexShader );
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 glFragmentShader = new THREE.WebGLShader( _gl, _gl.FRAGMENT_SHADER, prefix_fragment + fragmentShader );
...
...
build/three.min.js
浏览文件 @
5c16f25b
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
src/renderers/webgl/WebGLProgram.js
浏览文件 @
5c16f25b
...
@@ -200,7 +200,7 @@ THREE.WebGLProgram = ( function () {
...
@@ -200,7 +200,7 @@ THREE.WebGLProgram = ( function () {
].
join
(
'
\n
'
);
].
join
(
'
\n
'
);
var
prefix_fragment
=
[
prefix_fragment
=
[
"
precision
"
+
parameters
.
precision
+
"
float;
"
,
"
precision
"
+
parameters
.
precision
+
"
float;
"
,
"
precision
"
+
parameters
.
precision
+
"
int;
"
,
"
precision
"
+
parameters
.
precision
+
"
int;
"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录