En mi previous question, se estableció que, al texturizar un quad, la cara se divide en triángulos y las coordenadas de textura se interpolan de manera afín.Textura lineal/no lineal Asignación de un Quad distorsionado
Lamentablemente, no sé cómo solucionarlo. El provided link fue útil, pero no da el efecto deseado. El autor concluye: "Tenga en cuenta que la imagen se ve como si fuera un cuadrángulo rectangular largo que se extiende en la distancia ... Puede llegar a ser bastante confuso ... debido a la" falsa percepción de profundidad "que esto produce".
Lo que me gustaría hacer es que la textura mantenga la escala original de la textura. Por ejemplo, en el caso trapezoidal, quiero que el espaciado vertical de los téxeles sea el mismo (ejemplo creado con el programa de pintura):
Observe que, en virtud del espaciado vertical que es idéntico, la distorsión obvia del cuadrante , las líneas rectas en el espacio de textura ya no son líneas rectas en el espacio mundial. Por lo tanto, creo que el mapeo requerido no es lineal.
La pregunta es: ¿esto es posible incluso en la tubería de función fija? Ni siquiera estoy seguro de cuál es la "respuesta correcta" para quads más generales; Imagino que las funciones de interpolación pueden ser muy complicadas muy rápido, y me doy cuenta de que "preservar la escala original" no es exactamente un algoritmo. Los triángulos mundo-espacio ya no son lineales en el espacio de textura.
Dicho sea de paso, no lo sé realmente entienden el 3 rd y 4 º coordina textura; si alguien pudiera indicarme un recurso, sería genial.