PFND3DDDI_SETSTREAMSOURCEFREQ función de devolución de llamada (d3dumddi.h)
La función SetStreamSourceFreq establece el divisor de frecuencia de un origen de flujo enlazado a un búfer de vértices.
Sintaxis
PFND3DDDI_SETSTREAMSOURCEFREQ Pfnd3dddiSetstreamsourcefreq;
HRESULT Pfnd3dddiSetstreamsourcefreq(
HANDLE hDevice,
const D3DDDIARG_SETSTREAMSOURCEFREQ *unnamedParam2
)
{...}
Parámetros
hDevice
Identificador del dispositivo de visualización (contexto de gráficos).
unnamedParam2
pData [in]
Puntero a una estructura de D3DDDIARG_SETSTREAMSOURCEFREQ que especifica cómo se establece el divisor de frecuencia para el origen de flujo.
Valor devuelto
SetStreamSourceFreq devuelve S_OK o un resultado de error adecuado si el divisor de frecuencia de la parte del origen de flujo de vértices no se ha establecido correctamente.
Observaciones
Un controlador de pantalla en modo de usuario para un dispositivo que admita la versión 3.0 del sombreador de vértices y versiones posteriores debe implementar la división de frecuencia de flujo de vértices. Para la versión 2.0 y los modelos anteriores del sombreador de vértices (incluida la función fija), el sombreador de vértices se llama una vez para cada vértice. Para cada llamada, los registros de vértices de entrada se inicializan con elementos de vértices únicos de los flujos de vértices. Sin embargo, si el controlador usa la división de frecuencia de flujo de vértices, se puede llamar al sombreador de vértices (3.0 y versiones posteriores) para inicializar los registros de entrada aplicables a una velocidad menos frecuente.
Después de establecer el divisor de frecuencia de la secuencia( por ejemplo, en 2- el controlador debe capturar datos de la secuencia y pasar estos datos a los vértices de entrada aplicables registra cada 2 vértices. Este divisor afecta a cada elemento de la secuencia.
El controlador usa el divisor de frecuencia para calcular el desplazamiento del vértice en el búfer de vértices según la fórmula siguiente:
VertexOffset = ((VertexIndex / Divider) * StreamStride) + StreamOffset
Para cada secuencia de vértices que se usa, si el controlador recibe un valor de inicio-vértice durante una llamada a la función DrawPrimitive del controlador, el controlador también divide este valor de vértice de inicio por el divisor de frecuencia y factores el resultado en la fórmula. Este valor de vértice inicial se proporciona en el miembro VStart de la estructura de D3DDDIARG_DRAWPRIMITIVE. La fórmula siguiente incluye el valor start-vértice:
VertexOffset = (StartVertex / Divider) +
((VertexIndex / Divider) * StreamStride) + StreamOffset
Tenga en cuenta que las fórmulas anteriores usan la división de enteros.
El controlador omite la configuración del divisor de frecuencia de una secuencia para primitivos indexados o si el controlador solo admite un modelo de sombreador de vértices anterior a la versión 3.0 (incluida la función fija).
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
de la plataforma de destino de | Escritorio |
encabezado de | d3dumddi.h (incluya D3dumddi.h) |