Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. case 90://Tipka Z skaliranje po z
  2.                 skalZ += 1;
  3.                 break;
  4.             case 85://Tipka U skaliranje po z
  5.                 skalZ -= 1;
  6.                 break;
  7.             case 74://TIPKA J nedeluje
  8.                 kam1x += 1;
  9.                 break;
  10.             case 76://TIPKA L nedeluje
  11.                 kam1x -= 1;
  12.                 break;
  13.             case 73://TIPKA I nedeluje
  14.                 kam1y += 1;
  15.                 break;
  16.             case 75://TIPKA K nedeluje
  17.                 kam1y -= 1;
  18.                 break;
  19.             case 79://Tipka O premik kamere po z
  20.                 kam1z += 1;
  21.                 break;
  22.             case 80://Tipka P premik kamere po z
  23.                 kam1z -= 1;
  24.                 break;
  25.             default:
  26.  
  27.  
  28.  
  29. function drawLoop()
  30. {
  31.         gl.enable(gl.DEPTH_TEST);//prekrivanje objektov
  32.         gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
  33.         // nastavi viewport
  34.         // nastavi projekcijo in kamero
  35.        
  36.         gl.useProgram(program);
  37.         gl.bindBuffer(gl.ARRAY_BUFFER, bufferTrikotniki);
  38.         gl.enableVertexAttribArray(0);
  39.         gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 4*3, 0);//OGLIŠČA * x,y,z
  40.         {
  41.             //KOCKA
  42.             var proj_matrix = mat4.create();
  43.             mat4.perspective(proj_matrix, glMatrix.toRadian(80), myCanvas.width / myCanvas.height, 0.1, 1000);
  44.  
  45.             var model_matrix=mat4.identity(mat4.create());
  46.            
  47.             var view_matrix = mat4.create();//Kamera pogleda (premikanje kamere)
  48.             mat4.identity(view_matrix);
  49.             view_matrix = mat4.translate(mat4.create(), view_matrix, vec3.fromValues(premKamereX, premKamereY, premKamereZ));//premik kamere po sceni x,y,z
  50.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1x), vec3.fromValues(0, 1, 0));
  51.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1y), vec3.fromValues(1, 0, 0));
  52.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1z), vec3.fromValues(0, 0, 1));
  53.            
  54.             //premikanje objektov
  55.             model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(translateX, translateY, translateZ));//translacija objekta
  56.             model_matrix = mat4.scale(mat4.create(), model_matrix, vec3.fromValues(skalX, skalY, skalZ));//translacija objekta
  57.             model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleY), vec3.fromValues(0, 1, 0));
  58.             model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleX), vec3.fromValues(1, 0, 0));
  59.             //model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleZ), vec3.fromValues(0, 0, 1));
  60.  
  61.             var zanka=2;
  62.             while(zanka!=0)
  63.             {
  64.  
  65.                 gl.useProgram(program);
  66.                 model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(0, 0, 0));//translacija objekta
  67.                 var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  68.                 gl.uniformMatrix4fv(gl.getUniformLocation(program, "PVM"), false, PVM);
  69.                 gl.drawArrays(gl.TRIANGLES, 0, 12*3);//OGLIŠČA
  70.                 zanka--;
  71.             }
  72.             zanka=1;
  73.             while(zanka!=0)
  74.             {
  75.                 gl.useProgram(program1);
  76.                 model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(2, 0, 0));//translacija objekta
  77.                 var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  78.                 gl.uniformMatrix4fv(gl.getUniformLocation(program1, "PVM"), false, PVM);
  79.                 gl.drawArrays(gl.TRIANGLES, 0, 12*3);//OGLIŠČA
  80.                 zanka--;
  81.             }
  82.             zanka=1;
  83.              while(zanka!=0)
  84.             {
  85.                 gl.useProgram(program2);
  86.                 model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(-2, 0, 2));//translacija objekta
  87.                 var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  88.                 gl.uniformMatrix4fv(gl.getUniformLocation(program2, "PVM"), false, PVM);
  89.                 gl.drawArrays(gl.TRIANGLES, 0, 12*3);//OGLIŠČA
  90.                 zanka--;
  91.             }
  92.             zanka=1;
  93.             while(zanka!=0)
  94.             {
  95.                 gl.useProgram(program3);
  96.                 model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(2, 0, 0));//translacija objekta
  97.                 var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  98.                 gl.uniformMatrix4fv(gl.getUniformLocation(program3, "PVM"), false, PVM);
  99.                 gl.drawArrays(gl.TRIANGLES, 0, 12*3);//OGLIŠČA
  100.                 zanka--;
  101.             }
  102.             zanka=1;
  103.             while(zanka!=0)
  104.             {
  105.                  gl.useProgram(program4);
  106.                 model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(-1, 2, -1));//translacija objekta
  107.                 var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  108.                 gl.uniformMatrix4fv(gl.getUniformLocation(program4, "PVM"), false, PVM);
  109.                 gl.drawArrays(gl.TRIANGLES, 0, 12*3);//OGLIŠČA
  110.                 zanka--;
  111.             }
  112.         }
  113.         //gl.disableVertexAttribArray(0);
  114.         //TLA
  115.         gl.useProgram(program);
  116.         gl.bindBuffer(gl.ARRAY_BUFFER, buffertla);
  117.         gl.enableVertexAttribArray(0);
  118.         gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);//OGLIŠČA * x,y,z
  119.        
  120.        
  121.        
  122.         {
  123.             var proj_matrix = mat4.create();
  124.             mat4.perspective(proj_matrix, glMatrix.toRadian(80), myCanvas.width / myCanvas.height, 0.1, 1000);
  125.  
  126.             var model_matrix=mat4.identity(mat4.create());
  127.  
  128.             var view_matrix = mat4.create();//Kamera pogleda (premikanje kamere)
  129.             mat4.identity(view_matrix);
  130.             view_matrix = mat4.translate(mat4.create(), view_matrix, vec3.fromValues(premKamereX, premKamereY, premKamereZ));//premik kamere po x,y,z
  131.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1x), vec3.fromValues(0, 1, 0));//sucemo
  132.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1y), vec3.fromValues(1, 0, 0));
  133.             view_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(kam1z), vec3.fromValues(0, 0, 1));
  134.  
  135.             //premikanje objektov
  136.             //model_matrix = mat4.translate(mat4.create(), model_matrix, vec3.fromValues(translateX, translateY, translateZ));//translacija objekta
  137.             //model_matrix = mat4.scale(mat4.create(), model_matrix, vec3.fromValues(skalX, skalY, skalZ));//translacija objekta
  138.             //model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleY), vec3.fromValues(0, 1, 0));
  139.             //model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleX), vec3.fromValues(1, 0, 0));
  140.             //model_matrix = mat4.rotate(mat4.create(), model_matrix, glMatrix.toRadian(angleZ), vec3.fromValues(0, 0, 1));
  141.  
  142.             var PVM = mat4.multiply(mat4.create(), proj_matrix, mat4.multiply(mat4.create(), view_matrix, model_matrix));
  143.  
  144.             gl.uniformMatrix4fv(gl.getUniformLocation(program, "PVM"), false, PVM);
  145.         }
  146.         gl.drawArrays(gl.TRIANGLES, 0, 6);//OGLIŠČA
  147.            
  148.         var e = gl.getError();
  149.         if (e)
  150.         {
  151.             //alert("Draw error: " + e);
  152.         }
  153.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement