Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CL3D.Renderer.prototype.postInit =function(){
- var vs_shader_3ddrawing_coloronly = ""+
- "#ifdef GL_ES \n"+
- "precision highp float; \n"+
- "#endif \n"+
- "uniform mat4 worldviewproj; "+
- "attribute vec4 vPosition; "+
- "attribute vec4 vNormal; "+
- "void main() "+
- "{ "+
- " gl_Position = worldviewproj * vPosition;"+
- "}";
- this.Program3DDrawingColorOnly = this.createMaterialTypeInternal(vs_shader_3ddrawing_coloronly, this.fs_shader_simplecolor);
- }
- CL3D.Renderer.prototype.draw3dline(x1, y1, z1, x2, y2, z2, color, blend){
- if (this.width == 0 || this.height == 0) {
- return
- }
- var m = true;
- if (blend == false) {
- m = false
- }
- var d = this.gl;
- d.enableVertexAttribArray(0);
- d.disableVertexAttribArray(1);
- d.disableVertexAttribArray(2);
- d.disableVertexAttribArray(3);
- d.disableVertexAttribArray(4);
- var g = new WebGLFloatArray( 6 );
- var k = new WebGLUnsignedShortArray(2);
- var i = 2;
- g[0] = x1;
- g[1] = y1;
- g[2] = z1;
- g[3] = x2;
- g[4] = y2;
- g[5] = z2;
- k[0] = 0;
- k[1] = 1;
- var f = d.createBuffer();
- d.bindBuffer(d.ARRAY_BUFFER, f);
- d.bufferData(d.ARRAY_BUFFER, g, d.STATIC_DRAW);
- d.vertexAttribPointer(0, 3, d.FLOAT, false, 0, 0);
- var c = d.createBuffer();
- d.bindBuffer(d.ELEMENT_ARRAY_BUFFER, c);
- d.bufferData(d.ELEMENT_ARRAY_BUFFER, k, d.STATIC_DRAW);
- this.currentGLProgram = this.Program3DDrawingColorOnly ;
- d.useProgram(this.currentGLProgram);
- d.uniform4f(d.getUniformLocation(this.currentGLProgram, "vColor"), CL3D.getRed(color) / 255, CL3D.getGreen(color) / 255, CL3D.getBlue(color) / 255, m ? (CL3D.getAlpha(color) / 255) : 1);
- d.depthMask(false);
- d.disable(d.DEPTH_TEST);
- if (!m) {
- d.disable(d.BLEND)
- } else {
- d.enable(d.BLEND);
- d.blendFunc(d.SRC_ALPHA, d.ONE_MINUS_SRC_ALPHA)
- }
- d.drawElements(d.LINES, i, d.UNSIGNED_SHORT, 0);
- d.deleteBuffer(f);
- d.deleteBuffer(c)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement