0

ポイントスプライトでPhotoshopのオーバーレイブレンドモードをエミュレートしようとしています。これはOpenGLESで可能ですか?

4

1 に答える 1

0

編集-これはあなたを助けるかもしれません:

注意:私は以下のコードを信用していません。powervrフォーラムで見つけました:http://www.imgtec.com/forum/forum_posts.asp? TID = 949

uniform sampler2D s_renderTexture;
uniform sampler2D s_overlayMap;
varying mediump vec2 myTexCoord;

void main()

{
     //Get the Texture colour values
     lowp vec3 baseColor = texture2D(s_renderTexture, myTexCoord).rgb;
     lowp float overlayTexture = texture2D(s_overlayMap, myTexCoord).r;
     lowp vec3 finalMix = baseColor + (overlayTexture - 0.5) * (1.0 - abs(2.0 * baseColor - 1.0));

     //Set the Fragments colour

     gl_FragColor = vec4( finalMix, 1.0 );

} 

確かに、ポイントスプライトをレンダリングする前にこれを呼び出します。

glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);

これにより、添加剤がブレンドされます。

さまざまなブレンディングモードの組み合わせに関する視覚的なリファレンスは次のとおりです。http: //zanir.wz.cz/?p = 60&lang = en

古いページですが、参考になります。

opengl-esブレンディングの詳細:http ://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml

于 2012-04-09T15:43:28.157 に答える