Solo hay que encontrar una manera, mediante el uso de Pixel Shader, de proyectar una textura en un cuadrilátero arbitrario definido por el usuario.Sombreador de píxeles para proyectar una textura en un cuadrilátero arbitrario
aceptará coordenadas de los cuatro lados de un cuadrilátero:
/// <defaultValue>0,0</defaultValue>
float2 TopLeft : register(c0);
/// <defaultValue>1,0</defaultValue>
float2 TopRight : register(c1);
/// <defaultValue>0,1</defaultValue>
float2 BottomLeft : register(c2);
/// <defaultValue>1,1</defaultValue>
float2 BottomRight : register(c3);
pareja trató de algoritmo de interpolación, pero no lograba hacerlo bien.
¿Hay alguna muestra que ustedes piensen que yo pueda modificar para obtener el resultado deseado?
Esto es todo cierto ... pero también es completamente posible esquivar completamente los interpoladores basados en triángulos de HW y definir su propio esquema en quads o polígonos o cosas más complejas incluso si puede dividir su huella en triángulos y obtener cada píxel sombree la información que necesita (específicamente, la posición y los valores de todos los otros vértices, no solo el triángulo local). Por supuesto, esta no es una forma particularmente eficiente de hacer las cosas en comparación con el soporte de interpolación de triángulos dedicado de HW, pero eso no significa que no tenga aplicaciones. – timday
El póster no ha especificado si están tratando de utilizar la interpolación de HW, o de paso lateral. Estoy de acuerdo en que ambos son posibles. Creo que la pregunta original debe ser aclarada y proporcionar más detalles. – voidstar69