我正在iOS上开发手写应用程序。我在iOS文档中找到了一个名为“GLPaint”的示例项目,它是由OpenGL ES实现的,并对其进行了一些修改。
我跟踪触摸点并计算点之间的曲线,然后沿着曲线绘制粒子图像,使其看起来像手指经过的轨迹。
我得到的是一条实线,看起来非常好。但现在我想画半透明的高亮线而不是实线。所以我用50%透明度的粒子图像替换了原来的图像,而没有改变代码。
我跟踪触摸点并计算点之间的曲线,然后沿着曲线绘制粒子图像,使其看起来像手指经过的轨迹。
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, brushData); // burshData is from CGImage, it is
// vertexBuffer is generated based on the calculated points, it's just a sequence of point where need to draw image.
glVertexPointer(2, GL_FLOAT, 0, vertexBuffer);
glDrawArrays(GL_POINTS, 0, vertexCount);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
我得到的是一条实线,看起来非常好。但现在我想画半透明的高亮线而不是实线。所以我用50%透明度的粒子图像替换了原来的图像,而没有改变代码。
混合物有问题。
我使用半透明粒子图像绘制了三个点,交集区域应该保持50%的透明度。
有什么解决方案吗?