Shader

Mandelbulb Ray Marching #

1. Shaders
Shaders # function disableScroll(canvas){ canvas.onwheel = function(event){ event.preventDefault(); }; canvas.onmousewheel = function(event){ event.preventDefault(); }; } Son programas que se ejecutan en la GPU encargada de definir el color de los pixeles. Existen 3 tipos de shaders: Vertex shader: se ejecutan por cada vértice del elemento que se quiere renderizar. Retornan la posición del vértice deseada. Fragment Shader: se ejecutan por cada fragmento visible de la imagen. Retornan el color de cada pixel.
2. Ray Marching
Mandelbulb con RayMarching # function disableScroll(canvas){ canvas.onwheel = function(event){ event.preventDefault(); }; canvas.onmousewheel = function(event){ event.preventDefault(); }; } Ray casting # Es el uso da la intersección de un rayo con una superficie para solucionar diferentes problemas, como determinar el primer elemento interceptado por un rayo, determinar caras ocultas, renderización volumetrica. Ray tracing # Técnica de renderizado aplicando una solución analítica al problema de la intersección del rayo con la superficie.
3. Sdfs
Signed distance fields # function disableScroll(canvas){ canvas.onwheel = function(event){ event.preventDefault(); }; canvas.onmousewheel = function(event){ event.preventDefault(); }; } SDFs Primitivas # SDFs primitivas 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 //Esfera float sdSphere( vec3 p, float s ) { return length(p)-s; } //Caja float sdBox( vec3 p, vec3 b ) { vec3 q = abs(p) - b; return length(max(q,0.
4. Iluminacion
Iluminacion # function disableScroll(canvas){ canvas.onwheel = function(event){ event.preventDefault(); }; canvas.onmousewheel = function(event){ event.preventDefault(); }; } function getControlPanel(){ return document.getElementsByClassName("control-container")[0]; } Calculo de normales # Los vectores normales o perpendiculares a la superficie son necesarios para calcular el comportamiento de las luces direccionales en la escena. La técnica más común para hallar los normales de un SDF es utilizar el gradiente \(n = normalize(\nabla f(p))\) La definicion de gradiente es
5. Volumetrico
Ray Marching volumetrico # "