texcrd - ps
Copia los datos de coordenadas de textura del registro del iterador de coordenadas de textura de origen como datos de color en el registro de destino.
Sintaxis
texcrd dst, src |
---|
where
- dst es el registro de destino.
- src es un registro de origen.
Comentarios
Versiones del sombreador de píxeles | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texcrd | x |
Esta instrucción interpreta los datos de coordenadas como datos de color (RGBA).
Esta instrucción no muestrea ninguna textura. Solo las coordenadas de textura establecidas en esta fase de textura son relevantes.
Al usar texcrd, tenga en cuenta los siguientes detalles sobre cómo se copian los datos del registro de origen en el registro de destino. El registro de coordenadas de textura de origen (t#) contiene datos en el intervalo [-D3DCAPS9. MaxTextureRepeat, D3DCAPS9. MaxTextureRepeat], mientras que el registro de destino (r#) solo puede contener datos en el intervalo (probablemente más pequeño) [-D3DCAPS9. PixelShader1xMaxValue, D3DCAPS9. PixelShader1xMaxValue]. Tenga en cuenta que para la versión del sombreador de píxeles 1_4, D3DCAPS9. PixelShader1xMaxValue debe ser un mínimo de ocho. Es probable que la instrucción texcrd, en el proceso de sujetar los datos de origen que están fuera del intervalo del registro de destino, se comporte de forma diferente en otro hardware. El primer hardware de sombreador de píxeles versión 1_4 del mercado realizará una fijación especial para los valores fuera del intervalo. Esta abrazadera está diseñada para generar un número que puede caber en el registro de destino, pero también para conservar el comportamiento de direccionamiento de texturas para los datos fuera del intervalo (consulte D3DTEXTUREADDRESS) si los datos se usaron posteriormente para el muestreo de texturas. Sin embargo, es posible que el nuevo hardware de diferentes fabricantes no muestre este comportamiento y podría simplemente cortar datos para ajustarse al intervalo de registro de destino. Por lo tanto, el curso de acción más seguro al usar la versión del sombreador de píxeles 1_4 texcrd es proporcionar datos de coordenadas de textura solo en el sombreador de píxeles que ya está dentro del intervalo [-8,8] para que no se base en la forma en que se sujeta el hardware.
A diferencia de texcoord_, texcrd no fija los valores entre 0 y 1.
Reglas para usar texcrd :
- El mismo modificador .xyz o .xyw debe aplicarse a cada lectura de un registro t(n) individual dentro de una instrucción texcrd o texld.
- El cuarto resultado del canal de texcrd es unset/undefined en todos los casos.
- El tercer canal no está definido para el caso de xyw_dw.
Ejemplos
A continuación se muestra el conjunto completo de sintaxis permitida para texcrd, teniendo en cuenta todas las combinaciones válidas de modificador/selector y máscara de escritura de destino. Tenga en cuenta que la notación .rgba y .xyzw se pueden usar indistintamente.
Copia los tres primeros canales del registro de iterador de coordenadas de textura, t(n), en r(m). El cuarto canal de r(m) no está inicializado.
texcrd r(m).rgb, t(n).xyz
// Produces the same result as the previous instruction
texcrd r(m).rgb, t(n)
Coloca primero, segundo y cuarto componentes de t(n) en los tres primeros canales de r(m). El cuarto canal de r(m) no está inicializado.
texcrd r(m).rgb, t(n).xyw
Este es un ejemplo de división projectiva mediante el modificador _dw.
En este ejemplo se copian x/w y/w de t(n) en los dos primeros canales de r(m). Los canales tercero y cuarto de r(m) no están inicializados. Los datos escritos previamente en el tercer canal de r(m) se perderán. Los datos del cuarto canal de r(m) se pierden debido al marcador de fase. Para la versión 1_4, se omite la marca de D3DTTFF_PROJECTED.
texcrd r(m).rg, t(n)_dw.xyw
Temas relacionados