(D3D) Create d3d_alpha_blend_texture_enable_func

This commit is contained in:
twinaphex 2015-04-10 07:24:13 +02:00
parent 93cbdebd37
commit ee79299f3a
3 changed files with 16 additions and 5 deletions

View File

@ -977,11 +977,7 @@ static bool texture_image_render(d3d_video_t *d3d,
d3d_vertex_buffer_unlock(out_img->vertex_buf);
d3d_enable_blend_func(d3d->dev);
/* Also blend the texture with the set alpha value. */
d3d->dev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
d3d->dev->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE);
d3d->dev->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE);
d3d_enable_alpha_blend_texture_func(d3d->dev);
/* Draw the quad. */
d3d_set_texture(d3dr, 0, out_img->texture_buf);

View File

@ -379,6 +379,19 @@ void d3d_enable_blend_func(void *data)
dev->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
}
void d3d_enable_alpha_blend_texture_func(void *data)
{
LPDIRECT3DDEVICE dev = (LPDIRECT3DDEVICE)data;
if (!dev)
return;
/* Also blend the texture with the set alpha value. */
dev->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
dev->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE);
dev->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE);
}
void d3d_disable_blend_func(void *data)
{
LPDIRECT3DDEVICE dev = (LPDIRECT3DDEVICE)data;

View File

@ -89,4 +89,6 @@ void d3d_disable_blend_func(void *data);
void d3d_set_vertex_declaration(void *data, void *vertex_data);
void d3d_enable_alpha_blend_texture_func(void *data);
#endif