不使用“纹理矩形”方法绘制图像

时间:2016-03-27 21:37:42

标签: html5 canvas webgl

有没有其他方法如何绘制纹理矩形(2个三角形)的图像?

我想迭代图像的像素,并在画布上绘制我想要的像素。

我的目标是计算每个像素的位置(坐标)以获得圆柱投影图像。

是否有可能,请您知道怎么样?

1 个答案:

答案 0 :(得分:1)

这并不是WebGL的工作原理。

See this article on how WebGL works

基本上,WebGL绘制三角形(以及线条和四边形/点)。你没有决定每个像素的去向,而是你决定把三角形的顶点放在哪里,webgl然后光栅化每个三角形,询问你用什么颜色来制作像素。

因此,对于极坐标,您需要向后工作。鉴于您可以知道WebGL要绘制的像素,如果使用极坐标,可以计算出在该像素上绘制的内容。

否则,您可以通过绘制纹理圆(使用许多三角形)来模拟极坐标,并在圆周周围绘制纹理。然后,您首先绘制纹理,只是假装X和Y是您的极坐标,最后将该纹理渲染到圆上。

不幸的是,从纹理中心越远,分辨率越差越差。尽管使用足够大的纹理,这可能不会有问题。至少在最简单的解决方案中也是如此。