Reduce environment lights for older gles, invert camera x axis
This commit is contained in:
parent
afeb4a957d
commit
fa72bdc92a
@ -1,13 +1,13 @@
|
|||||||
precision highp float;
|
precision highp float;
|
||||||
|
|
||||||
varying vec2 uv;
|
varying vec2 uv;
|
||||||
varying vec3 toLightVector[8];
|
varying vec3 toLightVector[5];
|
||||||
varying vec3 surfaceNormal;
|
varying vec3 surfaceNormal;
|
||||||
varying vec3 toCameraVector;
|
varying vec3 toCameraVector;
|
||||||
|
|
||||||
uniform sampler2D texture0;
|
uniform sampler2D texture0;
|
||||||
uniform vec3 lightColor[8];
|
uniform vec3 lightColor[5];
|
||||||
uniform vec3 attenuation[8];
|
uniform vec3 attenuation[5];
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
float reflectivity = 0.0;
|
float reflectivity = 0.0;
|
||||||
@ -19,7 +19,7 @@ void main() {
|
|||||||
vec3 totalDiffuse = vec3(0.0);
|
vec3 totalDiffuse = vec3(0.0);
|
||||||
vec3 totalSpecular = vec3(0.0);
|
vec3 totalSpecular = vec3(0.0);
|
||||||
|
|
||||||
for(int i=0;i<8;i++){
|
for(int i=0;i<5;i++){
|
||||||
float distance = length(toLightVector[i]);
|
float distance = length(toLightVector[i]);
|
||||||
float attFactor = attenuation[i].x + (attenuation[i].y * distance) + (attenuation[i].z * distance * distance);
|
float attFactor = attenuation[i].x + (attenuation[i].y * distance) + (attenuation[i].z * distance * distance);
|
||||||
vec3 unitLightVector = normalize(toLightVector[i]);
|
vec3 unitLightVector = normalize(toLightVector[i]);
|
||||||
|
@ -7,10 +7,10 @@ attribute vec2 aTexCoords;
|
|||||||
uniform mat4 uModelMatrix;
|
uniform mat4 uModelMatrix;
|
||||||
uniform mat4 uViewMatrix;
|
uniform mat4 uViewMatrix;
|
||||||
uniform mat4 uProjectionMatrix;
|
uniform mat4 uProjectionMatrix;
|
||||||
uniform vec3 lightPosition[8];
|
uniform vec3 lightPosition[5];
|
||||||
|
|
||||||
varying vec2 uv;
|
varying vec2 uv;
|
||||||
varying vec3 toLightVector[8];
|
varying vec3 toLightVector[5];
|
||||||
varying vec3 surfaceNormal;
|
varying vec3 surfaceNormal;
|
||||||
varying vec3 toCameraVector;
|
varying vec3 toCameraVector;
|
||||||
|
|
||||||
@ -60,7 +60,7 @@ void main() {
|
|||||||
gl_Position = uProjectionMatrix * uViewMatrix * worldPosition;
|
gl_Position = uProjectionMatrix * uViewMatrix * worldPosition;
|
||||||
uv = aTexCoords;
|
uv = aTexCoords;
|
||||||
surfaceNormal = (uModelMatrix * vec4(aNormal,0.0)).xyz;
|
surfaceNormal = (uModelMatrix * vec4(aNormal,0.0)).xyz;
|
||||||
for(int i=0;i<8;i++){
|
for(int i=0;i<5;i++){
|
||||||
toLightVector[i] = lightPosition[i] - worldPosition.xyz;
|
toLightVector[i] = lightPosition[i] - worldPosition.xyz;
|
||||||
}
|
}
|
||||||
toCameraVector = (inverse(uViewMatrix) * vec4(0.0,0.0,0.0,1.0)).xyz - worldPosition.xyz;
|
toCameraVector = (inverse(uViewMatrix) * vec4(0.0,0.0,0.0,1.0)).xyz - worldPosition.xyz;
|
||||||
|
@ -57,7 +57,7 @@ class Camera extends Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
processMouseMove (offset, constrain = true) {
|
processMouseMove (offset, constrain = true) {
|
||||||
let fst = vec2.fromValues(offset.x * this.sensitivity, offset.y * this.sensitivity)
|
let fst = vec2.fromValues(offset.x * -this.sensitivity, offset.y * this.sensitivity)
|
||||||
this.rotation[0] += glMatrix.toRadian(fst[0])
|
this.rotation[0] += glMatrix.toRadian(fst[0])
|
||||||
this.rotation[1] += glMatrix.toRadian(fst[1])
|
this.rotation[1] += glMatrix.toRadian(fst[1])
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
const ENV_MAX_LIGHTS = 8
|
const ENV_MAX_LIGHTS = 5
|
||||||
|
|
||||||
class Light {
|
class Light {
|
||||||
constructor (pos, color, attenuation = [1.0, 0.0, 0.0]) {
|
constructor (pos, color, attenuation = [1.0, 0.0, 0.0]) {
|
||||||
|
@ -29,7 +29,7 @@ class Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
loadExtensions () {
|
loadExtensions () {
|
||||||
this._gl.drawBuffers = this._gl.getExtension('WEBGL_draw_buffers')
|
// this._gl.drawBuffers = this._gl.getExtension('WEBGL_draw_buffers')
|
||||||
this._gl.getExtension('WEBGL_depth_texture')
|
this._gl.getExtension('WEBGL_depth_texture')
|
||||||
this._gl.getExtension('OES_texture_float')
|
this._gl.getExtension('OES_texture_float')
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user