2010-08-27 3 views
0

Я работаю в галерее o3d (версия плагина), и мне нужно сделать фотографии прозрачными. Фотографии находятся на hud. Вот некоторая информация:Текстуры и прозрачность 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 фото не отображается (полным прозрачным)

Так как для того чтобы достигнуть промежуточного результата?

ответ

0

Учитывая, что плагин O3D устарел в пользу WebGL-based O3D, это вариант для вас migrate to the latter?

Если это так, вы можете узнать в discussion group о проблеме прозрачности (если она все еще существует в O3D-WebGL). Разработчики очень отзывчивы.

Смежные вопросы