Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
protected generateBoxNode(parent: SceneNode): SceneNode {
/* Create node and transform */
const node = parent.addNode(new SceneNode('mesh'));
const translate = mat4.fromTranslation(mat4.create(), vec3.fromValues(-1.0, 0.0, 0.0));
const scale = mat4.fromScaling(mat4.create(), vec3.fromValues(0.5, 0.5, 0.5));
const transformMatrix = mat4.multiply(mat4.create(), translate, scale);
const transform = new TransformComponent(transformMatrix);
node.addComponent(transform);
/* Create material */
const material = new SceneExampleMaterial(this._context, 'ExampleMaterial3');
material.textured = false;
/* Create geometry. */
const geometry = new CuboidGeometry(this._context, 'mesh', true);
geometry.initialize(this._aMeshVertex, this._aMeshTexCoord);
const box = new GeometryComponent();
box.geometry = geometry;
box.material = material;
node.addComponent(box);
return node;
}
}
protected generateBoxNode(parent: SceneNode): SceneNode {
/* Create node and transform */
const node = parent.addNode(new SceneNode('mesh'));
const translate = mat4.fromTranslation(mat4.create(), vec3.fromValues(-1.0, 0.0, 0.0));
const scale = mat4.fromScaling(mat4.create(), vec3.fromValues(0.5, 0.5, 0.5));
const transformMatrix = mat4.multiply(mat4.create(), translate, scale);
const transform = new TransformComponent(transformMatrix);
node.addComponent(transform);
/* Create material */
const material = new SceneExampleMaterial(this._context, 'ExampleMaterial3');
material.textured = false;
/* Create geometry. */
const geometry = new CuboidGeometry(this._context, 'mesh', true);
geometry.initialize(this._aMeshVertex, this._aMeshTexCoord);
const box = new GeometryComponent();
box.geometry = geometry;
box.material = material;
node.addComponent(box);
return node;
}
}
protected onInitialize(context: Context, callback: Invalidate,
mouseEventProvider: MouseEventProvider,
/* keyEventProvider: KeyEventProvider, */
/* touchEventProvider: TouchEventProvider */): boolean {
this._defaultFBO = new DefaultFramebuffer(context, 'DefaultFBO');
this._defaultFBO.initialize();
this._defaultFBO.bind();
const gl = context.gl;
this._cuboid = new CuboidGeometry(context, 'Cuboid', true, [2.0, 2.0, 2.0]);
this._cuboid.initialize();
const vert = new Shader(context, gl.VERTEX_SHADER, 'mesh.vert');
vert.initialize(require('./data/mesh.vert'));
const frag = new Shader(context, gl.FRAGMENT_SHADER, 'mesh.frag');
frag.initialize(require('./data/mesh.frag'));
this._program = new Program(context, 'CubeProgram');
this._program.initialize([vert, frag], false);
this._program.attribute('a_vertex', this._cuboid.vertexLocation);
this._program.attribute('a_texCoord', this._cuboid.uvCoordLocation);
this._program.link();
this._program.bind();
/* keyEventProvider: KeyEventProvider, */
/* touchEventProvider: TouchEventProvider */): boolean {
context.enable(['ANGLE_instanced_arrays', 'OES_standard_derivatives',
'WEBGL_color_buffer_float', 'OES_texture_float', 'OES_texture_float_linear']);
this._defaultFBO = new DefaultFramebuffer(context, 'DefaultFBO');
this._defaultFBO.initialize();
this._defaultFBO.bind();
const gl = context.gl as WebGLRenderingContext;
this._cuboids = new Array(4);
for (let i = 0; i < this._cuboids.length; ++i) {
this._cuboids[i] = new CuboidGeometry(context, 'cube', true, [0.25, 0.5 + 0.5 * i, 2.0]);
this._cuboids[i].initialize();
}
this._plane = new PlaneGeometry(context, 'plane');
this._plane.initialize();
this._plane.scale = vec2.fromValues(100, 100);
this._camera = new Camera();
this._camera.center = vec3.fromValues(0.0, 0.75, 0.0);
this._camera.up = vec3.fromValues(0.0, 1.0, 0.0);
this._camera.eye = vec3.fromValues(1.8, 2.6, 3.4);
this._camera.near = 2.0;
this._camera.far = 11.0;
this._light = new Camera();
/* keyEventProvider: KeyEventProvider, */
/* touchEventProvider: TouchEventProvider */): boolean {
context.enable(['ANGLE_instanced_arrays', 'OES_standard_derivatives',
'WEBGL_color_buffer_float', 'OES_texture_float', 'OES_texture_float_linear']);
this._defaultFBO = new DefaultFramebuffer(context, 'DefaultFBO');
this._defaultFBO.initialize();
this._defaultFBO.bind();
const gl = context.gl as WebGLRenderingContext;
const gl2facade = this._context.gl2facade;
this._cuboids = new Array(4);
for (let i = 0; i < this._cuboids.length; ++i) {
this._cuboids[i] = new CuboidGeometry(context, 'cube', true, [0.25, 0.5 + 0.5 * i, 2.0]);
this._cuboids[i].initialize();
}
this._plane = new PlaneGeometry(context, 'plane');
this._plane.initialize();
this._plane.scale = vec2.fromValues(100, 100);
this._ndcTriangle = new NdcFillingTriangle(this._context);
this._ndcTriangle.initialize();
this._camera = new Camera();
this._camera.center = vec3.fromValues(0.0, 0.75, 0.0);
this._camera.up = vec3.fromValues(0.0, 1.0, 0.0);
this._camera.eye = vec3.fromValues(1.8, 2.6, 3.4);
this._camera.near = 2.0;
this._blit = new BlitPass(this._context);
this._blit.initialize();
this._blit.readBuffer = gl2facade.COLOR_ATTACHMENT0;
this._blit.drawBuffer = gl.BACK;
this._blit.target = this._defaultFBO;
this._blit.framebuffer = this._intermediateFBO;
const frameSize = this._frameSize[0] > 0 && this._frameSize[1] > 0 ?
[this._frameSize[0] * this._ssaaFactor, this._frameSize[1] * this._ssaaFactor] : [1, 1];
this._colorRenderTexture.initialize(frameSize[0], frameSize[1],
this._context.isWebGL2 ? gl.RGBA8 : gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE);
this._depthRenderbuffer.initialize(frameSize[0], frameSize[1], gl.DEPTH_COMPONENT16);
this._intermediateFBO.initialize([[gl2facade.COLOR_ATTACHMENT0, this._colorRenderTexture]
, [gl.DEPTH_ATTACHMENT, this._depthRenderbuffer]]);
this._cuboid = new CuboidGeometry(context, 'Cuboid', true, [5.0, 5.0, 5.0]);
this._cuboid.initialize();
const vert = new Shader(context, gl.VERTEX_SHADER, 'mesh.vert');
vert.initialize(require('./data/mesh.vert'));
const frag = new Shader(context, gl.FRAGMENT_SHADER, 'mesh.frag');
frag.initialize(require('./data/mesh.frag'));
this._program = new Program(context, 'CubeProgram');
this._program.initialize([vert, frag], false);
this._program.attribute('a_vertex', this._cuboid.vertexLocation);
this._program.attribute('a_texCoord', this._cuboid.uvCoordLocation);
this._program.link();
this._program.bind();