Project

General

Profile

test_p2j.canvas_renderer_webgl.js.patch

Sergey Ivanovskiy, 12/24/2020 04:04 PM

Download (4.01 KB)

View differences:

src/com/goldencode/p2j/ui/client/gui/driver/web/res/p2j.canvas_renderer_webgl.js 2020-12-24 20:44:18 +0000
263 263
         "     //c.w = 0.0;\n" +
264 264
         "     gl_FragColor = c;\n" +
265 265
         "  }\n" +
266
         "  else\n" +
267
         "  {\n" +
268
         "     if (dash == 1.0)\n" +
269
         "     {\n" +
270
         "        if (m <= dash_pattern.x)\n" +
271
         "        {\n" +
272
         "           gl_FragColor = v_color / 255.0;\n" +
273
         "        }\n" +
274
         "        else\n" +
275
         "        {\n" +
276
         "           discard;\n" +
277
         "        }\n" +
278
         "     }\n" +
279
         "     else\n" +
280
         "     {\n" +
281
         "        gl_FragColor = v_color / 255.0;\n" +
282
         "     }\n" +
266
         "  else if (dash == 1.0)\n" +
267
         "  {\n" +
268
         "    if (m <= dash_pattern.x)\n" +
269
         "    {\n" +
270
         "      gl_FragColor = v_color / 255.0;\n" +
271
         "    }\n" +
272
         "    else\n" +
273
         "    {\n" +
274
         "      discard;\n" +
275
         "    }\n" +
276
         "  } else if (dash == 0.0)\n" +
277
         "  {\n" +
278
         "    gl_FragColor = v_color / 255.0;\n" +
283 279
         "  }\n" +
284 280
         "}\n";
285 281
      /*
......
1667 1663
   this.triangles = [];
1668 1664
   this.cacheTextureData = new Uint8ClampedArray(p2j.screen.webgl.canvas.width * p2j.screen.webgl.canvas.height * 4);
1669 1665
   this.imageTextureData = new Uint8ClampedArray(p2j.screen.webgl.canvas.width * p2j.screen.webgl.canvas.height * 4);
1666
   gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);
1670 1667
   gl.clear(gl.COLOR_BUFFER_BIT);
1671

  
1668
   //var trgSet = new Map();
1672 1669
   if (numTriangles > 0)
1673 1670
   {
1674 1671
      var numVertices = 3 * numTriangles;
......
1676 1673
      //Fill array buffer
1677 1674
      var dv = new DataView(buffer);
1678 1675
      var j = 0;
1676
      
1679 1677
      for (var i = 0; i < numTriangles; i++)
1680 1678
      {
1681 1679
         var t = triangles[i];
......
1685 1683
         var y2 = t[3];
1686 1684
         var x3 = t[4];
1687 1685
         var y3 = t[5];
1686
//         var trg = [x1, y1, x2, y2, x3, y3];
1687
//         const reducer = (accumulator, currentValue) => 2*accumulator + currentValue;
1688
//         var h = trg.reduce(reducer);
1689
//         var inds = trgSet.get(h);
1690
//         if (!inds)
1691
//         {
1692
//            inds = [];
1693
//            trgSet.set(h, inds);
1694
//         }
1695
//         inds.push(i);
1688 1696
         var c1 = t[6];
1689 1697
         var c2 = t[7];
1690 1698
         var c3 = t[8];
......
1802 1810
      var count = numVertices;
1803 1811
      gl.drawArrays(primitiveType, offset, count);
1804 1812
   }
1805

  
1813
   
1814
//   function logMapElements(value, key, map)
1815
//   {
1816
//      if (value.length && value.length > 1)
1817
//      {
1818
//         var trg = triangles[value[0]];
1819
//         console.debug("common triangle: " + trg[0] + ", " + trg[1] + " -> " +  trg[2] + ", " + trg[3] +
1820
//               " -> " + trg[4] + ", " + trg[5]);
1821
//         for (var k = 0; k < value.length; k++)
1822
//         {
1823
//            var t = triangles[value[k]];
1824
//            console.debug("triangle: " + t[0] + ", " + t[1] + " -> " +  t[2] + ", " + t[3] +
1825
//                  " -> " + t[4] + ", " + t[5] + " has these attributes:");
1826
//            var styleObj = t[10];
1827
//            console.debug("color: " + t[6] + ", " + t[7] + ", " +  t[8] + ", " + t[9] + " lineStyle -> dash " + ((styleObj) ? "on" : "off"));
1828
//         }
1829
//      }
1830
//   };
1831
//   
1832
//   trgSet.forEach(logMapElements);
1833
   
1806 1834
   this.screenCtx.save();
1807 1835
   this.screenCtx.globalAlpha = 1;
1808 1836
   this.screenCtx.globalCompositeOperation = "source-over";
......
2912 2940
   this.setStrokeStyleId(strokeStyleId);
2913 2941
   this.setStrokeWidth(width);
2914 2942
   this.strokesManager.applyStrokeToCanvas(this.offscreenCtx, strokeStyleId, width);
2943
   //to prevent combo box issues
2944
   //this.flash(); // this call causes that some areas become hidden and repainted if the mouse pointer is over them
2915 2945
};
2916 2946

  
2917 2947
/**