HLSL
-
float getRectangleMask(float2 uv, float x, float y, float w, float h) { float lineX, lineY; lineX = smoothstep(x + w, 1, uv.x) + smoothstep(x - w,0, uv.x); lineY = smoothstep(y + h, 1, uv.y) + smoothstep(y - h,0, uv.y); float2 norm = float2(lineX, lineY); return length(norm); }
[HLSL] Smoothness Rectangle Maskingfloat getRectangleMask(float2 uv, float x, float y, float w, float h) { float lineX, lineY; lineX = smoothstep(x + w, 1, uv.x) + smoothstep(x - w,0, uv.x); lineY = smoothstep(y + h, 1, uv.y) + smoothstep(y - h,0, uv.y); float2 norm = float2(lineX, lineY); return length(norm); }
2021.09.17 -
파라미터 Tex : Texture2D UV : float2 float4 luminance = float4(0.30, 0.59, 0.11, 1); float2 dim; Tex.GetDimensions(dim.x, dim.y); float texH = dim.y; float texW = dim.x; // TOP ROW float s11 = dot(Texture2DSample(Tex, TexSampler, UV + float2(-1.0f / texW, -1.0f / texH)), luminance); float s12 = dot(Texture2DSample(Tex, TexSampler, UV + float2(0, -1.0f / texH)), luminance); float s13 = dot(Texture2DS..
[HLSL] Edge Detection - Sobel파라미터 Tex : Texture2D UV : float2 float4 luminance = float4(0.30, 0.59, 0.11, 1); float2 dim; Tex.GetDimensions(dim.x, dim.y); float texH = dim.y; float texW = dim.x; // TOP ROW float s11 = dot(Texture2DSample(Tex, TexSampler, UV + float2(-1.0f / texW, -1.0f / texH)), luminance); float s12 = dot(Texture2DSample(Tex, TexSampler, UV + float2(0, -1.0f / texH)), luminance); float s13 = dot(Texture2DS..
2021.09.16 -
float3 getNormalFromTexture(Texture2D t, SamplerState s, float strength, float2 offset, float2 uv) { offset = pow(offset, 3) * 0.1f; float2 offsetU = float2(uv.x + offset.x, uv.y); float2 offsetV = float2(uv.x, uv.y + offset.y); float normalSample = t.Sample(smp, uv).a; float uSample = t.Sample(s, offsetU).a; float vSample = t.Sample(s, offsetV).a; float3 va = float3(1.0f, 0.0f, (uSample - norma..
[HLSL] Simple Texture Normalfloat3 getNormalFromTexture(Texture2D t, SamplerState s, float strength, float2 offset, float2 uv) { offset = pow(offset, 3) * 0.1f; float2 offsetU = float2(uv.x + offset.x, uv.y); float2 offsetV = float2(uv.x, uv.y + offset.y); float normalSample = t.Sample(smp, uv).a; float uSample = t.Sample(s, offsetU).a; float vSample = t.Sample(s, offsetV).a; float3 va = float3(1.0f, 0.0f, (uSample - norma..
2021.09.16 -
아래는 ShaderED에서 사용하기 위한 함수 float2 random2(float2 p) { return frac(sin(float2(dot(p, float2(127.1f, 311.7f)), dot(p, float2(269.5f, 183.3f))))*43758.5453f); } float3 voronoiNoise(float2 uv, float scale, float2 resolution, float animateOffset) { float3 color; float2 st = uv * (resolution.x/resolution.y) * scale; float2 i_st = floor(st); float2 f_st = frac(st); float m_dist = 1; for (int y=-1;y
[HLSL] Noise - Voronoi Shader아래는 ShaderED에서 사용하기 위한 함수 float2 random2(float2 p) { return frac(sin(float2(dot(p, float2(127.1f, 311.7f)), dot(p, float2(269.5f, 183.3f))))*43758.5453f); } float3 voronoiNoise(float2 uv, float scale, float2 resolution, float animateOffset) { float3 color; float2 st = uv * (resolution.x/resolution.y) * scale; float2 i_st = floor(st); float2 f_st = frac(st); float m_dist = 1; for (int y=-1;y
2021.09.16