PFND3DDDI_CLEAR función de devolución de llamada (d3dumddi.h)
La función Clear realiza la desactivación asistida por hardware en el destino de representación, el búfer de profundidad o el búfer de galería de símbolos.
Sintaxis
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Parámetros
[in] hDevice
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
pData [in]
Puntero a una estructura de D3DDDIARG_CLEAR que describe los parámetros de la operación de borrado asistido por hardware.
unnamedParam3
NumRect [in]
Número de rectángulos de la matriz en pRect que se va a borrar. Si el número de rectángulos se establece en cero, Clear debe borrar todo el destino de representación, el búfer de profundidad y el búfer de galería de símbolos. En esta situación, el contenido de la matriz en pRect no está definido y el controlador no debe intentar leerlos.
unnamedParam4
pRect [in]
Matriz de estructuras RECT que indican las áreas rectangulares del búfer que el controlador debe borrar.
Valor devuelto
Clear devuelve S_OK o un resultado de error adecuado si la operación de borrado asistida por hardware no se realiza correctamente.
Comentarios
La forma en que el controlador realiza la operación clara depende del número de áreas rectangulares especificadas en el parámetro NumRect y de los valores establecidos en el miembro Flags de D3DDDIARG_CLEAR. Los valores de D3DCLEAR_TARGET, D3DCLEAR_STENCIL y D3DCLEAR_ZBUFFER (definidos en D3d8types.h) indican el tipo de búfer que se va a borrar. El valor D3DCLEAR_COMPUTERECTS (definido en D3dhal.h) indica cómo borrar el búfer. La siguiente configuración indica cómo el controlador debe borrar el tipo de búfer especificado:
- Si NumRect se establece en 0 (NumRect== 0) y D3DCLEAR_COMPUTERECTS no se establece en Flags, el controlador borra 0 píxeles (es decir, una operación sin operación).
- Si NumRect se establece en 0 y D3DCLEAR_COMPUTERECTS se establece en Flags, el controlador borra toda la ventanilla (no toda la superficie).
- Si NumRect se establece en un valor mayor que 0 (NumRect!= 0) y D3DCLEAR_COMPUTERECTS se establece en Flags, el controlador recorta las áreas rectangulares que pRect especifica en la ventanilla actual.
Si NumRect se establece en un valor mayor que 0 (NumRect> 0) y D3DCLEAR_COMPUTERECTS se establece en Flags, el controlador recorta las áreas rectangulares especificadas en la ventanilla actual y en el rectángulo scissor si una aplicación estableció previamente D3DRS_SCISSORTESTENABLE. Si no se establece NumRect> 0 y D3DCLEAR_COMPUTERECTS, el controlador determina que el tiempo de ejecución de Direct3D ya ha recortado las áreas rectangulares especificadas en la ventanilla actual y en el rectángulo scissor si una aplicación estableció previamente D3DRS_SCISSORTESTENABLE.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |