es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mis primitivas en crudo no pueden ser visualizadas en Raymarching.

Me encontré con un problema muy extraño mientras aprendía Raymarching. Mi ecuación no se puede mostrar correctamente. Puede mostrarse bien en Matlab. Pero no se puede mostrar en Shadertoy en absoluto.

Mi ecuación:

f(x,y,z) = (x^2+y^2+z^2)^2+2y(x^2+y^2+z^2)+2*(x^2+z^2);

Código en Matlab:

f =@(x,y,z) (x.^2+y.^2+z.^2)^2+2y(x.^2+y.^2+z.^2)+2*(x.^2+z.^2);
fimplicit3(f)

Matlab muestra una imagen normal.

Código en Shadertoy:

float sdRound(vec3 p)
{
float lengthXYZ = (p.x * p.x+p.y * p.y+p.z * p.z);
return lengthXYZ * lengthXYZ+2.0 * p.y * lengthXYZ+2.0 * (p.x * p.x+p.z * p.z);
}

Aprendí, practiqué y modifiqué el código de iq (https://www.shadertoy.com/view/Xds3zN).

Pero no se puede mostrar normalmente.

No sé dónde ocurrió el problema. Por favor, ayúdame. Me ha estado molestando durante mucho tiempo.

Perdone mi pobre inglés. Uso Google Translate.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con la implementación de la ecuación en el código del shader. Sin más información sobre los problemas específicos que está encontrando, es difícil proporcionar una explicación precisa del problema.

    Sin embargo, algunos problemas comunes a tener en cuenta al traducir ecuaciones matemáticas de MATLAB a GLSL incluyen diferencias en la sintaxis y el orden de las operaciones entre ambos lenguajes, problemas de precisión y rango con la aritmética de punto flotante y la necesidad de normalizar y escalar adecuadamente los vectores utilizados en las operaciones de raymarching.

    Para solucionar este problema específico, podría intentar probar ecuaciones más simples para ver si se muestran correctamente en Shadertoy, y luego ir gradualmente hacia la ecuación más compleja en la que esté trabajando. También podría experimentar con varios ajustes relacionados con la posición de la cámara, la iluminación y otros parámetros de renderizado para ver si afectan la visualización de la ecuación.

    Finalmente, podría considerar publicar su código y pregunta en foros o comunidades en línea dedicadas al raymarching y la programación de shaders para obtener comentarios y consejos de otros expertos en el campo.

Comments are closed.