42 lines
984 B
JavaScript
42 lines
984 B
JavaScript
|
|
kepler.sky(){
|
||
|
|
this.shader;
|
||
|
|
this.sphereMesh;
|
||
|
|
this.entity;
|
||
|
|
this.create();
|
||
|
|
}
|
||
|
|
|
||
|
|
kepler.sky.prototype.create() {
|
||
|
|
var texture = kepler.resources.getTexture("sky");
|
||
|
|
|
||
|
|
var skySampler = new sampler2D();
|
||
|
|
skySampler.texture = texture;
|
||
|
|
|
||
|
|
|
||
|
|
this.shader = new shader();
|
||
|
|
this.shader.createFomFile("shaders/sky.shader");
|
||
|
|
|
||
|
|
this.shader.setUniform('textureSampler', skySampler);
|
||
|
|
|
||
|
|
this.shader.setUniform('g_AtmosphereBrightColor', [1.0,1.1,1.4]);
|
||
|
|
this.shader.setUniform('g_AtmosphereDarkColor', [0.6,0.6,0.7]);
|
||
|
|
|
||
|
|
var sphereMesh = kepler.primitives.createSphere(570, 16, 16);
|
||
|
|
|
||
|
|
|
||
|
|
var mesh = new mesh();
|
||
|
|
mesh.name = 'skySphere';
|
||
|
|
mesh.addSubMesh(sphereMesh);
|
||
|
|
|
||
|
|
this.entity = new entity();
|
||
|
|
this.entity.addMesh(mesh);
|
||
|
|
this.entity.transform.translate(0, 500, 0);
|
||
|
|
this.entity.shader = this.shader;
|
||
|
|
}
|
||
|
|
|
||
|
|
kepler.sky.prototype.update(){
|
||
|
|
this.entity.shader.setUniform('g_LightPosition', kepler.sunLight.position);
|
||
|
|
this.entity.shader.setUniform('g_CameraPosition', kepler.mainCamera.eye);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|