|
@@ -2,13 +2,37 @@
|
|
|
|
|
|
uniform Material
|
|
|
{
|
|
|
+ vec4 diffuseLeftColor;
|
|
|
+ vec4 diffuseRightColor;
|
|
|
+ vec4 opacityParts;
|
|
|
+ vec4 reflectionLeftColor;
|
|
|
+ vec4 reflectionRightColor;
|
|
|
+ vec4 refractionLeftColor;
|
|
|
+ vec4 refractionRightColor;
|
|
|
+ vec4 emissiveLeftColor;
|
|
|
+ vec4 emissiveRightColor;
|
|
|
+ vec2 vDiffuseInfos;
|
|
|
+ vec2 vAmbientInfos;
|
|
|
+ vec2 vOpacityInfos;
|
|
|
+ vec2 vReflectionInfos;
|
|
|
+ vec2 vEmissiveInfos;
|
|
|
+ vec2 vLightmapInfos;
|
|
|
+ vec2 vSpecularInfos;
|
|
|
+ vec3 vBumpInfos;
|
|
|
+ mat4 diffuseMatrix;
|
|
|
+ mat4 ambientMatrix;
|
|
|
+ mat4 opacityMatrix;
|
|
|
+ mat4 reflectionMatrix;
|
|
|
+ mat4 emissiveMatrix;
|
|
|
+ mat4 lightmapMatrix;
|
|
|
+ mat4 specularMatrix;
|
|
|
+ mat4 bumpMatrix;
|
|
|
+ mat4 refractionMatrix;
|
|
|
+ vec4 vRefractionInfos;
|
|
|
+ float pointSize;
|
|
|
+ vec3 vSpecularColor;
|
|
|
+ vec3 vEmissiveColor;
|
|
|
vec4 vDiffuseColor;
|
|
|
- vec2 vDiffuseInfos;
|
|
|
- mat4 diffuseMatrix;
|
|
|
- vec3 vAmbientColor;
|
|
|
- vec4 vSpecularColor;
|
|
|
- vec3 vEmissiveColor;
|
|
|
-
|
|
|
} uMaterial;
|
|
|
|
|
|
// Attributes
|
|
@@ -43,38 +67,26 @@ varying vec2 vDiffuseUV;
|
|
|
|
|
|
#ifdef AMBIENT
|
|
|
varying vec2 vAmbientUV;
|
|
|
-uniform mat4 ambientMatrix;
|
|
|
-uniform vec2 vAmbientInfos;
|
|
|
#endif
|
|
|
|
|
|
#ifdef OPACITY
|
|
|
varying vec2 vOpacityUV;
|
|
|
-uniform mat4 opacityMatrix;
|
|
|
-uniform vec2 vOpacityInfos;
|
|
|
#endif
|
|
|
|
|
|
#ifdef EMISSIVE
|
|
|
varying vec2 vEmissiveUV;
|
|
|
-uniform vec2 vEmissiveInfos;
|
|
|
-uniform mat4 emissiveMatrix;
|
|
|
#endif
|
|
|
|
|
|
#ifdef LIGHTMAP
|
|
|
varying vec2 vLightmapUV;
|
|
|
-uniform vec2 vLightmapInfos;
|
|
|
-uniform mat4 lightmapMatrix;
|
|
|
#endif
|
|
|
|
|
|
#if defined(SPECULAR) && defined(SPECULARTERM)
|
|
|
varying vec2 vSpecularUV;
|
|
|
-uniform vec2 vSpecularInfos;
|
|
|
-uniform mat4 specularMatrix;
|
|
|
#endif
|
|
|
|
|
|
#ifdef BUMP
|
|
|
varying vec2 vBumpUV;
|
|
|
-uniform vec3 vBumpInfos;
|
|
|
-uniform mat4 bumpMatrix;
|
|
|
#endif
|
|
|
|
|
|
#include<pointCloudVertexDeclaration>
|
|
@@ -147,68 +159,68 @@ void main(void) {
|
|
|
#endif
|
|
|
|
|
|
#ifdef AMBIENT
|
|
|
- if (vAmbientInfos.x == 0.)
|
|
|
+ if (uMaterial.vAmbientInfos.x == 0.)
|
|
|
{
|
|
|
- vAmbientUV = vec2(ambientMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vAmbientUV = vec2(uMaterial.ambientMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vAmbientUV = vec2(ambientMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vAmbientUV = vec2(uMaterial.ambientMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef OPACITY
|
|
|
- if (vOpacityInfos.x == 0.)
|
|
|
+ if (uMaterial.vOpacityInfos.x == 0.)
|
|
|
{
|
|
|
- vOpacityUV = vec2(opacityMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vOpacityUV = vec2(uMaterial.opacityMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vOpacityUV = vec2(opacityMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vOpacityUV = vec2(uMaterial.opacityMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef EMISSIVE
|
|
|
- if (vEmissiveInfos.x == 0.)
|
|
|
+ if (uMaterial.vEmissiveInfos.x == 0.)
|
|
|
{
|
|
|
- vEmissiveUV = vec2(emissiveMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vEmissiveUV = vec2(uMaterial.emissiveMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vEmissiveUV = vec2(emissiveMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vEmissiveUV = vec2(uMaterial.emissiveMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef LIGHTMAP
|
|
|
- if (vLightmapInfos.x == 0.)
|
|
|
+ if (uMaterial.vLightmapInfos.x == 0.)
|
|
|
{
|
|
|
- vLightmapUV = vec2(lightmapMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vLightmapUV = vec2(uMaterial.lightmapMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vLightmapUV = vec2(lightmapMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vLightmapUV = vec2(uMaterial.lightmapMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#if defined(SPECULAR) && defined(SPECULARTERM)
|
|
|
- if (vSpecularInfos.x == 0.)
|
|
|
+ if (uMaterial.vSpecularInfos.x == 0.)
|
|
|
{
|
|
|
- vSpecularUV = vec2(specularMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vSpecularUV = vec2(uMaterial.specularMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vSpecularUV = vec2(specularMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vSpecularUV = vec2(uMaterial.specularMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef BUMP
|
|
|
- if (vBumpInfos.x == 0.)
|
|
|
+ if (uMaterial.vBumpInfos.x == 0.)
|
|
|
{
|
|
|
- vBumpUV = vec2(bumpMatrix * vec4(uv, 1.0, 0.0));
|
|
|
+ vBumpUV = vec2(uMaterial.bumpMatrix * vec4(uv, 1.0, 0.0));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- vBumpUV = vec2(bumpMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
+ vBumpUV = vec2(uMaterial.bumpMatrix * vec4(uv2, 1.0, 0.0));
|
|
|
}
|
|
|
#endif
|
|
|
|