Compartir a través de


Estado de combinación alfa (Direct3D 9)

El valor alfa de un color controla su transparencia. La habilitación de la combinación alfa permite combinar colores, materiales y texturas en una superficie con transparencia en otra superficie.

Para obtener más información, vea Combinación de texturas alfa (Direct3D 9) y Mezcla de texturas (Direct3D 9).

Las aplicaciones escritas en C++ usan el estado de representación de D3DRS_ALPHABLENDENABLE para habilitar la combinación de transparencia alfa. La API de Direct3D permite muchos tipos de combinación alfa. Sin embargo, es importante tener en cuenta que el hardware 3D del usuario podría no admitir todos los estados de mezcla permitidos por Direct3D.

El tipo de combinación alfa que se realiza depende de los estados de representación de D3DRS_SRCBLEND Y D3DRS_DESTBLEND . Los estados de combinación de origen y destino se usan en pares. En el ejemplo de código siguiente se muestra cómo se establece el estado de mezcla de origen en D3DBLEND_SRCCOLOR y el estado de mezcla de destino se establece en D3DBLEND_INVSRCCOLOR.

// This code example assumes that d3dDevice is a
// valid pointer to an IDirect3DDevice9 interface.

// Set the source blend state.
d3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);

// Set the destination blend state.

d3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

La modificación de los estados de mezcla de origen y destino puede dar la apariencia de objetos emisivos en una atmósfera niebla o polvorienta. Por ejemplo, si la aplicación modela llamas, campos de fuerza, vigas de plasma o objetos radiantes similares en un entorno de niebla, establezca los estados de mezcla de origen y destino en D3DBLEND_ONE.

Otra aplicación de mezcla alfa es controlar la iluminación en una escena 3D, también denominada asignación de luz. Establecer el estado de mezcla de origen en D3DBLEND_ZERO y el estado de combinación de destino en D3DBLEND_SRCALPHA oscurece una escena según la información alfa de origen. El primitivo de origen se usa como un mapa claro que escala el contenido del búfer de fotogramas para oscurecerlo cuando corresponda. Esto produce una asignación de luz monocromática.

Puede lograr la asignación de luz de color estableciendo el estado de combinación alfa de origen en D3DBLEND_ZERO y el estado de combinación de destino en D3DBLEND_SRCCOLOR.

Estados de representación