PDA

Просмотр полной версии : [Помогите!] Альфа-прозрачность


pia3333(4)
12.04.2012, 22:15
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Вот хочу сделать немного прозрачную менюшку! Но ничего не выходит:confused:
Вот цвет:
#define BLACK D3DCOLOR_ARGB(150, 000, 000, 000)

Что делать?:bow:

zero54321
12.04.2012, 22:48
000 это вроде не прозрачный.....

nik0902
12.04.2012, 22:58
вродибы так D3DCOLOR_RGBA(0, 0, 0, (255/5)*4)

pia3333(4)
13.04.2012, 07:24
вродибы так D3DCOLOR_RGBA(0, 0, 0, (255/5)*4)
/okay

#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
Это ничем не отличается:bl:

Awiion
13.04.2012, 07:31
У тебя не будет Прозрачная менюшка!...

nik0902
13.04.2012, 14:52
/okay

#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
Это ничем не отличается:bl:

Смысл не RGBA а в (0, 0, 0, (255/5)*4)

pia3333(4)
14.04.2012, 18:31
Смысл не RGBA а в (0, 0, 0, (255/5)*4)

Не робит

крайслер
14.04.2012, 19:23
(0, 0, 0, (255/5)*4)
Могу ошибаться, но этот код в ARGB, а коофицент "(255/5)*4" выражает заливку фона при растягивании меню.... Или я все же ошибаюсь?

Dimedrol1536
14.04.2012, 19:29
Надо сам код менять.

warl0ck
14.04.2012, 20:27
а на д3д тесте как?

Dimedrol1536
14.04.2012, 21:23
а на д3д тесте как?
Без прозрачности.
Есть боксы в Д3ДТесте прозрачные, а в игре не прорисовуются.

pia3333(4)
14.04.2012, 21:41
Без прозрачности.
Есть боксы в Д3ДТесте прозрачные, а в игре не прорисовуются.

Угу. Только в пб не робит:bayan:

pia3333(4)
16.04.2012, 15:14
ап

Dimedrol1536
16.04.2012, 15:40
pia3333(4), думаю надо самому искать в интеренете.

warl0ck
16.04.2012, 22:22
Угу. Только в пб не робит:bayan:

хм.. попробуй этот код добавить в дип. он для нормального отображения менюшек, когда спрайт выше текста, мб поможет...

if(watch == false)
{
pDevice->SetRenderState(D3DRS_LIGHTING, false); //direct3d lighting off
pDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_ARGB(255,255 ,255,255)); // use all colors for best effect
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
watch = true;
}

Dimedrol1536
16.04.2012, 22:54
void cMenu::DrawBox( int x, int y, int w, int h, D3DCOLOR Color, LPDIRECT3DDEVICE9 pDevice)
{
struct Vertex
{
float x,y,z,ht;
DWORD Color;
}V[4] = {
{x,y+h, 0.0f, 0.0f, Color},
{x,y, 0.0f, 0.0f, Color},
{x+w,y+h, 0.0f, 0.0f, Color},
{x+w,y, 0.0f, 0.0f, Color}
};
pDevice->SetTexture(0, NULL);
pDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1);
pDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,true);
pDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPH A);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Ver tex));
return;
}
Вот тут что-то.

CaspeR94
17.04.2012, 15:01
if(watch == false)
{
pDevice->SetRenderState(D3DRS_LIGHTING, false); //direct3d lighting off
pDevice->SetRenderState(D3DRS_AMBIENT,D3DCOLOR_ARGB(255,255 ,255,255)); // use all colors for best effect
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_NEVER);
pDrawIndexedPrimitive(pDevice, Type, BaseVertexIndex, MinVertexIndex, NumVertices, startIndex, primCount);
pDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZFUNC,D3DCMP_LESSEQUAL);
watch = true;
}

Этот код больше для текстур подходит, чем для прозрачности.

Возьмите исход прозрачных боксов в самоинжекторном вх, и доведите их до ума.
P.S: Чтоб не выходило ошибок при построении проекта, подключите библиотеку d3dx9core.h.

Ruslanaries$
17.04.2012, 17:46
D3DCOLOR_RGBA(34, 41, 56, (255/4)*3) оно должно работать самоинжете попробывал,

Dimedrol1536
17.04.2012, 23:04
D3DCOLOR_RGBA(34, 41, 56, (255/4)*3) оно должно работать самоинжете попробывал,
Они и так там прозрачные.