본문 바로가기

Shader19

HLSL_04 const float PI = 3.14159265; float map(vec3 p) { return length(p) - .4; } // aka calc gradient vec3 calcNormal(vec3 p) { return normalize(vec3( map(p + vec3(.001, .0, .0)) - map(p - vec3(.001, .0, .0)), map(p + vec3(.0, .001, .0)) - map(p - vec3(.0, .001, .0)), map(p + vec3(.0, .0, .001)) - map(p - vec3(.0, .0, .001)) )); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 screen_po.. 2021. 8. 19.
HLSL_03 const float PI = 3.14159265; void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 screen_pos = ((4.0 * fragCoord.xy) - iResolution.xy) / iResolution.xy; float x = screen_pos.x; float y = screen_pos.y; float n=7.; float m=2.; float a=1.; float b=-1.; float s = (a * sin(PI * n * x) * sin(PI * m * y)) + (b * sin(PI * m * x) * sin(PI * n * y)); vec3 col = vec3(1. - abs(s)); fragColor = vec.. 2021. 8. 19.
HLSL_02 ShaderToyTest void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; vec3 col = vec3(uv.x, uv.y, 0.); fragColor = vec4(col, 1.0); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; vec3 col = vec3(uv.x * uv.y); fragColor = vec4(col, 1.0); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 .. 2021. 8. 19.
HLSL_01 1. 노드만 이용한 경우 2. HLSL 코드를 이용 HLSL 코드 같은 결과지만 위에는 121 instructions 밑에 HLSL코드를 사용하면 120 instructions로 확실히 결과가 줄어들었다. 용량을 줄이기 위해 코드를 이용하는 것도 하나의 방법이다. 2021. 8. 19.