Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

мультитекстура (directX)

378
01 декабря 2006 года
KurL
171 / / 01.08.2005
у меня есть картинка (текстура) - хочу наложить на неё "рамочку" - рисую рамочку на белом фоне (jpg)

накладываю:

m_pd3dDevice->SetTexture( 0, pShoosenPicTextura ); // картинка

m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);


m_pd3dDevice->SetTexture( 1, cn_TextureFrame ); // рамка

m_pd3dDevice->SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 0 );
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE);


m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 8 + i*4, 2 );

на картинке - результате цвет рамки зависит от цвета фона (на белом фоне - всё гут, на чёрном - не видно ничего)
как побороть? хочу, чтоб рамка рисовалась поверх картинки и не меняла свой цвет в з-ти от фона
378
07 декабря 2006 года
KurL
171 / / 01.08.2005
вдруг кому ещё интересно - рисуем рамку в пнг (внутренность не белую, а прозрачную) и вперёд:

m_pd3dDevice->SetTexture( 0, pChoicenPicTextura );
m_pd3dDevice->SetTexture( 1, cn_TextureFrame );

m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);

m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

m_pd3dDevice->SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 0 );
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT);
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_BLENDTEXTUREALPHA);

m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 8 + i*4, 2 );

m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_DISABLE);
m_pd3dDevice->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог