GPT Image 2.5 Flare & Sunburst ya están disponibles en EvoLinkProbar GPT Image 2.5
Un plano de vidrio separa las superficies lisas y facetadas de una esfera metálica
Casos de uso

Cómo depurar errores de renderizado con código y capturas

EvoLink Team
EvoLink Team
Equipo de producto
16 de octubre de 2026
7 min de lectura

Su objeto aparece en el lugar equivocado, pero el sombreador se compila. Una captura de pantalla muestra el síntoma; el código muestra varias causas plausibles. Pedirle a la IA que "arregle la imagen" sin la cámara, las matrices o el resultado esperado fomenta una suposición convincente.

Proporcione una escena reproducible y solicite una hipótesis comprobable a la vez. Compare los píxeles y el estado de ejecución de la misma revisión, luego use una prueba numérica o de renderizado para decidir si la solución propuesta soluciona el defecto.

Prepare un paquete de evidencia de renderizado

Incluya el renderizador/API, las etapas de sombreado relevantes, los valores de las variables uniform, la geometría, la ventana gráfica, la cámara, el resultado esperado, el fotograma real y la acción de reproducción. Registre los errores de gráficos y compile/vincule diagnósticos como observaciones, no como un resumen que diga "todo está bien".

EvidenciaContenido útilLo que una captura de pantalla por sí sola no puede establecer
Fotograma esperado y obtenidoMisma cámara y resolución, región afectada marcada¿Qué transformación o estado causó la diferencia?
Shader y variables uniformRevisión exacta, convención matricial, valoresSi la aplicación cargó los valores previstos
Configuración de dibujadoGeometría, diseño de atributos, estados de profundidad, culling y mezcla¿Qué objetos fueron realmente dibujados?
ReproducciónEscena y pasos mínimosSi un parche sugerido soluciona otra escena

Una textura faltante y una iluminación incorrecta pueden parecer similares en tamaño de miniatura. Proporcione un recorte sin comprimir cuando sea práctico y evite cambiar la cámara entre fotogramas de comparación.

Un ejemplo de orden de transformación con una expectativa verificable

La escena ficticia utiliza la multiplicación de vectores columna. Las posiciones deben moverse desde el espacio de objetos a través de transformaciones de modelo, vista y proyección, en ese orden. La expresión deseada es projection * view * model * position, y se aplica primero la transformación situada más a la derecha.

Supongamos que el sombreador contiene:

gl_Position = uProjection * uModel * uView * vec4(position, 1.0);
El contrato suministrado dice que el modelo traslada x en 2, la vista gira 90 grados alrededor de z y la proyección escala x e y en 0,2. Para el punto local (1,0,0,1), el resultado de recorte previsto es (0,0.6,0,1):
Model:      (1,0) -> (3,0)
View:       (3,0) -> (0,3)
Projection: (0,3) -> (0,0.6)
Wrong order: View (1,0)->(0,1), Model ->(2,1), Projection ->(0.4,0.2)
Esta aritmética prueba la hipótesis proporcionada independientemente de si la imagen parece atractiva. Khronos describe las etapas de transformación del vértice. El diseño de la matriz en la memoria del host y las convenciones de multiplicación aún necesitan su propia verificación; cambiar el orden no es una reparación universal para todos los renderizadores.

Solicite hipótesis, reproducción y parche mínimo.

Investigue la discrepancia en la representación proporcionada.
Utilice el sombreador, el estado del host, el comportamiento esperado, el fotograma real y la revisión.
Trate las imágenes como observaciones, no como prueba de una causa raíz en particular.

Retorno:
1. síntoma observado y la evidencia que lo respalda;
2. hipótesis clasificadas, con una prueba discriminante para cada una;
3. la prueba más pequeña para la hipótesis principal;
4. un parche sólo si la prueba respalda la afirmación;
5. Faltan uniformes, estado o contexto que impiden una conclusión.

Utilice la convención de matriz/vector indicada.
No reescriba el renderizador ni cambie la cámara para ocultar el defecto.
No afirme que ha ejecutado pruebas si solo las ha propuesto.
Entradas: paquete de evidencia y contrato de transformación requerido.

Para este ejemplo, el parche candidato es:

gl_Position = uProjection * uView * uModel * vec4(position, 1.0);
En la página de EvoLink Gemini 4, utilice la ruta del Agente o API para la revisión del código. Adjunte el fotograma real únicamente utilizando el formato de imagen documentado. Puedes comparar otro modelo a través del mismo portal con el mismo paquete de pruebas; La coincidencia entre modelos no reemplaza la prueba.

Aporte la convención matricial y el shader defectuoso. Pida una hipótesis y un parche mínimo; distinga (0,0.6) de (0.4,0.2) con la prueba numérica antes de revisar el render real.

Ejecute una pequeña verificación numérica antes de juzgar el fotograma.

El siguiente JavaScript refleja la parte bidimensional de las transformaciones de este ejemplo:

const model = ([x, y]) => [x + 2, y];
const view = ([x, y]) => [-y, x];
const projection = ([x, y]) => [x * 0.2, y * 0.2];
const correct = projection(view(model([1, 0])));
const wrong = projection(model(view([1, 0])));
if (Math.abs(correct[0]) > 1e-9 || Math.abs(correct[1] - 0.6) > 1e-9) {
  throw new Error("Unexpected reference transform");
}
if (Math.abs(wrong[0] - correct[0]) < 1e-9 &&
    Math.abs(wrong[1] - correct[1]) < 1e-9) {
  throw new Error("Fixture does not distinguish transform order");
}
Esto valida la aritmética, no la carga de las variables uniform de la GPU o el renderizado entregado. Para WebGL, verifique la API de matrices uniform real y sus requisitos de diseño. Luego renderice la escena mínima con cámara, resolución y estado fijos, comparando el punto de prueba y la posición del objeto antes y después.

Cuando la misma captura de pantalla podría significar otro error

SíntomaPrueba para distinguir causas
Cambios de posición con el movimiento de la cámaraVerificar transformaciones y valores cargados con respecto a un punto conocido
El objeto desaparece de un ladoInspeccionar el orden de los vértices y el culling y ver la orientación
Posición correcta pero oclusión incorrectaInspeccionar el estado de conexión, limpieza y comparación de profundidad
Una textura parece estirada o invertidaInspeccionar las coordenadas UV, la orientación de la imagen y los datos del muestreador
Sólo se diferencian las pantallas de alta densidadComparar el tamaño del búfer de dibujo con el tamaño de la ventana gráfica y CSS

Cambie una condición a la vez. Desactivar el culling puede hacer visible la geometría, pero no establece que desactivarla sea la solución final correcta. Guarde el experimento y su interpretación por separado.

Mantenga una escena de regresión con la solución

Mantener un caso en el que la traslación y la rotación no conmuten; Las matrices de identidad ocultarían el error en este ejemplo. Agregue movimiento normal de la cámara y geometría representativa después de que pase el caso mínimo. Compare la misma revisión de la escena y anote cualquier artefacto restante como un tema aparte.

Si la disputa es sobre si el hallazgo de un revisor es válido, utilice el flujo de trabajo de verificación de revisión de código.

Preguntas frecuentes

¿Puede una captura de pantalla identificar la causa raíz exacta?

Generalmente proporciona un síntoma y una ubicación. El código, el estado y la reproducción distinguen causas en competencia.

¿Un sombreador compilado demuestra que las matemáticas son correctas?

No. Las expresiones válidas pueden aplicar transformaciones en el orden incorrecto.

¿Debería probar todos los parches sugeridos a la vez?

Utilice una hipótesis y pruébela a la vez para que el resultado tenga una causa interpretable.

¿La verificación de JavaScript verifica la salida de la GPU?

Comprueba la aritmética indicada. La representación y la validación del estado del host son pasos separados.

¿Debería el modelo recibir todo el repositorio?

Comience con la escena y el estado relevante necesarios para reproducir la discrepancia. Agregue dependencias cuando una hipótesis las requiera.

¿Qué pertenece al registro final de errores?

Revisión, entradas, comportamiento esperado y observado, experimento, parche aceptado, comprobaciones de regresión e incertidumbre restante.

Fuentes

Integra modelos de IA mediante una API unificada

Compara modelos y precios actuales y sigue la documentación de la API para integrar el modelo que mejor se adapte a tu tarea.