Shader

셰이더 공부하기 - 내장 함수 정리

이족보행달팽이 2025. 9. 6. 07:44

https://thebookofshaders.com/glossary/

 

The Book of Shaders

Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.

thebookofshaders.com

셰이더에디터에서 사용되는 내장함수들을 지피티를 활용해 정리를 해보앗다.

 

 

📌 수학 관련 함수

1. 각도 & 삼각함수

  • radians(deg) / degrees(rad)
  • sin(x), cos(x), tan(x)
  • asin(x), acos(x), atan(y, x)

👉 파도, 원형 궤적, 회전 등에 많이 씀.


2. 지수 & 로그

  • pow(x, y) → x^y
  • sqrt(x) / inversesqrt(x) → √x, 1/√x
  • exp(x), log(x), exp2(x), log2(x)

👉 감쇠, 곡선 보정, HDR 톤매핑 등에 사용.


3. 공통 함수

  • abs(x) → 절댓값
  • sign(x) → 부호(-1, 0, 1)
  • floor(x), ceil(x) → 내림, 올림
  • fract(x) → 소수점 부분만 추출
  • mod(x, y) → 나머지
  • min(a,b), max(a,b)
  • clamp(x, min, max)
  • mix(a,b,t) → 선형 보간 (LERP)
    (HLSL/UE: lerp(a,b,t))
  • step(edge,x) → edge 기준 이진 출력
  • smoothstep(edge0,edge1,x) → 부드러운 보간

👉 노이즈, 머티리얼 마스크, 트랜지션, UV 패턴 등에 필수.


4. 벡터/기하 함수

  • length(v) → 벡터 길이
  • distance(a,b)
  • dot(a,b) → 내적 (코사인 유사도)
  • cross(a,b) → 외적 (수직 벡터)
  • normalize(v) → 단위 벡터
  • reflect(I,N) → 반사 벡터 (거울 반사)
  • refract(I,N,eta) → 굴절 벡터 (굴절 셰이더)

👉 노멀 연산, 빛 계산, 카메라 효과 등에 자주 등장.


📌 텍스처 관련

  • texture2D(sampler, uv) (GLSL)
    → 유니티: tex2D(sampler, uv)
    → 언리얼 HLSL: Texture2DSample(Texture, Sampler, uv)
  • textureCube(sampler, dir) → 큐브맵 샘플링

👉 기본적인 알베도, 노멀맵, 환경맵 샘플링에 사용.


📌 파편적이지만 자주 쓰이는 함수

  • dFdx(), dFdy() → 픽셀 간 미분 (Mipmap LOD, 노멀 계산)
  • any(), all() → 벡터 내 조건 체크
  • equal(), notEqual() → 벡터 비교

'Shader' 카테고리의 다른 글

셰이더 공부하기 - 도형그리기  (0) 2025.09.08
셰이더 공부하기 - atan  (0) 2025.09.06
셰이더 공부하기 - 링크 정리  (0) 2025.09.06
셰이더 공부하기 - smoothstep, Step  (0) 2025.09.06
셰이더 공부하기 - Uniform  (0) 2025.07.17