私はiOSで手書きアプリケーションに取り組んでいます。OpenGL ESで実装されているサンプルプロジェクト「GLPaint」をiOSのドキュメントから見つけ、これに手を加えてみました。
タッチポイントを追跡し、ポイント間の曲線を計算し、粒子のイメージだけを曲線に描画して、指が通過したように見せます。
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% のイメージに置き換えます。
ブレンドには何か問題があります。
半透明のパーティクル イメージを使用して 3 つの点を描画します。交差領域は 50% の透明度を維持する必要があります。
解決策は何ですか?