0

我在 o3d(plagin 版本)的画廊工作,我需要使照片透明。照片在平视显示器上。这是一些代码:

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 回答