假设画布大小为(wx,wy),则顶点上下左右的确切坐标为(-1 + 1 / wx,-1 + 1 / wy)。 但是当pointSize大于1时,我没有找到公式。
在这个小提琴中,https://jsfiddle.net/3u26rpf0/14/我用gl_Position的以下公式绘制了一些size = 1的像素:
float p1 = -1.0 + (2.0 * a_position.x + 1.0) / wx ;
float p2 = -1.0 + (2.0 * a_position.y + 1.0) / wy ;
gl_Position=vec4(p1,p2,0.0,1.0);
a_position.x从0到wx-1。
a_position.y从0到wy-1。
但是如果您更改顶点的大小值(请参阅小提琴链接) 我的公式不起作用,需要补一些偏移量。
答案 0 :(得分:2)
从OpenGL ES 2.0 spec section 3.3
点光栅化为每个帧缓冲像素产生一个片段,其中心 位于以点(xw,yw)为中心的正方形内,边长等于 点的大小