Advertisement
Guest User

Untitled

a guest
Jun 27th, 2013
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CL3D.Renderer.prototype.postInit =function(){
  2.     var vs_shader_3ddrawing_coloronly =  ""+
  3.     "#ifdef GL_ES                           \n"+
  4.     "precision highp float;                     \n"+
  5.     "#endif                                 \n"+
  6.     "uniform mat4 worldviewproj;                "+
  7.     "attribute vec4 vPosition;                  "+
  8.     "attribute vec4 vNormal;                    "+
  9.     "void main()                                "+
  10.     "{                                      "+
  11.     "   gl_Position = worldviewproj * vPosition;"+
  12.     "}";
  13.     this.Program3DDrawingColorOnly = this.createMaterialTypeInternal(vs_shader_3ddrawing_coloronly, this.fs_shader_simplecolor);
  14. }
  15. CL3D.Renderer.prototype.draw3dline(x1, y1, z1, x2, y2, z2, color, blend){
  16.  
  17.     if (this.width == 0 || this.height == 0) {
  18.         return
  19.     }
  20.     var m = true;
  21.     if (blend == false) {
  22.         m = false
  23.     }
  24.  
  25.     var d = this.gl;
  26.     d.enableVertexAttribArray(0);
  27.     d.disableVertexAttribArray(1);
  28.     d.disableVertexAttribArray(2);
  29.     d.disableVertexAttribArray(3);
  30.     d.disableVertexAttribArray(4);
  31.        
  32.     var g = new WebGLFloatArray( 6 );
  33.     var k = new WebGLUnsignedShortArray(2);
  34.     var i = 2;
  35.    
  36.     g[0] = x1;
  37.     g[1] = y1;
  38.     g[2] = z1;
  39.     g[3] = x2;
  40.     g[4] = y2;
  41.     g[5] = z2;
  42.  
  43.     k[0] = 0;
  44.     k[1] = 1;
  45.                
  46.     var f = d.createBuffer();
  47.     d.bindBuffer(d.ARRAY_BUFFER, f);
  48.     d.bufferData(d.ARRAY_BUFFER, g, d.STATIC_DRAW);
  49.     d.vertexAttribPointer(0, 3, d.FLOAT, false, 0, 0);
  50.     var c = d.createBuffer();
  51.     d.bindBuffer(d.ELEMENT_ARRAY_BUFFER, c);
  52.     d.bufferData(d.ELEMENT_ARRAY_BUFFER, k, d.STATIC_DRAW);
  53.     this.currentGLProgram = this.Program3DDrawingColorOnly ;
  54.     d.useProgram(this.currentGLProgram);
  55.     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);
  56.     d.depthMask(false);
  57.     d.disable(d.DEPTH_TEST);
  58.     if (!m) {
  59.         d.disable(d.BLEND)
  60.     } else {
  61.         d.enable(d.BLEND);
  62.         d.blendFunc(d.SRC_ALPHA, d.ONE_MINUS_SRC_ALPHA)
  63.     }
  64.     d.drawElements(d.LINES, i, d.UNSIGNED_SHORT, 0);
  65.     d.deleteBuffer(f);
  66.     d.deleteBuffer(c)
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement