0

私はo3d(プラグインバージョン)のギャラリーで働いていて、写真を透明にする必要があります。写真はハッドです。ここにいくつかのコードがあります:

g_canvasInfoPict = o3djs.canvas.create(g_pack, g_hudRoot, g_hudViewInfo);

alphaParam = g_canvasInfoPict.transparentState_.getStateParam("o3d.AlphaReference");
alphaParam.value = 0.5;

alphaParam = g_canvasInfoPict.transparentState_.getStateParam("o3d.BlendAlphaEquation");
alphaParam.value = g_o3d.State.BLEND_SUBTRACT;

alphaParam = g_canvasInfoPict.transparentState_.getStateParam("o3d.SourceBlendFunction");
alphaParam.value = g_o3d.State.BLENDFUNC_ONE;

paramOne = g_canvasInfoPict.transparentState_.getStateParam("o3d.DestinationBlendFunction");
paramOne.value = g_o3d.State.BLENDFUNC_DESTINATION_ALPHA;//or BLENDFUNC_SOURCE_ALPHA or BLENDFUNC_SOURCE_ALPHA_SATUTRATE or BLENDFUNC_ONE or BLENDFUNC_ZERO

g_fullPictCanvas = g_canvasInfoPict.createXYQuad(paddingX, paddingY, -14, g_fullPictTexture.width, g_fullPictTexture.height, true);

g_fullPictCanvas.canvas.drawBitmap(g_fullPictTexture, 0, g_fullPictTexture.height);
g_fullPictCanvas.updateTexture();

しかし、うまくいきません。paramOne.value = BLENDFUNC_ZERO 設定時 写真表示(非透過)

paramOne.value = BLENDFUNC_ONE 写真が表示されない (完全に透明)

では、中間結果を達成するにはどうすればよいでしょうか。

4

1 に答える 1

0

O3Dプラグインが廃止されてWebGLベースのO3Dが採用されたことを考えると、後者に移行するオプションはありますか?

その場合は、ディスカッショングループで透明性の問題について問い合わせることができます(O3D-WebGLの下にまだ存在する場合)。開発者は非常に敏感です。

于 2010-09-09T15:36:43.180 に答える