--- id: P-REINFORCE-AUTO-C8966B category: "10_Wiki/πŸ’‘ Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - TSL (Three Shader Language)" --- # [[TSL (Three Shader Language)|TSL (Three Shader Language)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > TSL (Three Shader Language)은 Three.js의 λ…Έλ“œ 기반 머티리얼 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€ [1]. 셰이더λ₯Ό ν•œ 번 μž‘μ„±ν•˜λ©΄ WebGPU용 WGSLκ³Ό WebGL용 GLSL둜 μžλ™ μ»΄νŒŒμΌλ˜μ–΄ 싀행될 수 있게 ν•΄μ€λ‹ˆλ‹€ [1, 2]. 둜우 레벨(Raw) 셰이더λ₯Ό 직접 μž‘μ„±ν•˜λŠ” 것을 λŒ€μ²΄ν•˜λ©°, ν–₯ν›„ Three.jsμ—μ„œ μ»€μŠ€ν…€ 셰이더λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ ꢌμž₯ λ°©μ‹μž…λ‹ˆλ‹€ [1, 3]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **ꡐ차 컴파일 및 μžλ™ν™”**: TSL은 GLSLκ³Ό WGSL 두 개의 별도 μ½”λ“œλ² μ΄μŠ€λ₯Ό μœ μ§€ν•  ν•„μš”κ°€ 없도둝 ꡐ차 μ»΄νŒŒμΌμ„ μ§€μ›ν•©λ‹ˆλ‹€ [3]. λ˜ν•œ, μœ λ‹ˆνΌ(Uniform)κ³Ό 속성(Attribute) 데이터 처리λ₯Ό μžλ™μœΌλ‘œ ν•Έλ“€λ§ν•˜μ—¬ 개발 λ³΅μž‘λ„λ₯Ό μ€„μ—¬μ€λ‹ˆλ‹€ [3]. - **동적 λ…Έλ“œ 머티리얼(Node Materials) μ œμ–΄**: TSL 기반의 λ…Έλ“œ 머티리얼은 ν•©μ„±(Composable)이 κ°€λŠ₯ν•˜λ©°, `positionNode`, `colorNode`, `normalNode`와 같은 속성을 톡해 ν”„λ‘œκ·Έλž˜λ° λ°©μ‹μœΌλ‘œ μ œμ–΄ν•  수 μžˆμ–΄ κΈ°μ‘΄ WebGLμ—μ„œλŠ” μ»€μŠ€ν…€ 셰이더가 ν•„μš”ν–ˆλ˜ νš¨κ³Όλ“€μ„ λ™μ μœΌλ‘œ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3, 4]. - **μž¬μ‚¬μš© κ°€λŠ₯ν•œ 셰이더 둜직(Fn νŒ¨ν„΄)**: `Fn` νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ μž¬μ‚¬μš© κ°€λŠ₯ν•œ 셰이더 ν•¨μˆ˜λ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5]. μ΄λ ‡κ²Œ μž‘μ„±λœ ν•¨μˆ˜λŠ” ν•œ 번 컴파일된 ν›„ μ—¬λŸ¬ 머티리얼에 걸쳐 μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€ [5]. - **λ‚΄μž₯ λ…Έμ΄μ¦ˆ ν•¨μˆ˜**: TSLμ—λŠ” MaterialX λ…Έμ΄μ¦ˆ ν•¨μˆ˜κ°€ 기본적으둜 λ‚΄μž₯λ˜μ–΄ μžˆμ–΄, μ™ΈλΆ€ λΌμ΄λΈŒλŸ¬λ¦¬μ— μ˜μ‘΄ν•˜μ§€ μ•Šκ³ λ„ λ…Έμ΄μ¦ˆ 효과λ₯Ό κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5]. - **WebGPU λ„€μ΄ν‹°λΈŒ 포슀트 ν”„λ‘œμ„Έμ‹±**: WebGPU 기반의 ν”„λ‘œμ νŠΈμ—μ„œλŠ” `pmndrs/postprocessing` 라이브러리 λŒ€μ‹  TSL λ…Έλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” Three.js λ‚΄μž₯ 포슀트 ν”„λ‘œμ„Έμ‹±μ„ μ‚¬μš©ν•˜λŠ” 것이 μ»΄ν“¨νŠΈ 셰이더λ₯Ό μ™„λ²½νžˆ μ§€μ›ν•˜λŠ” λ„€μ΄ν‹°λΈŒ ν•΄κ²°μ±…μž…λ‹ˆλ‹€ [6]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Graphics & Performance λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[WebGPU|WebGPU]], [[WebGL|WebGL]], WGSL, GLSL, Node Material - **Projects/Contexts:** [[Three.js|Three.js]] - **Contradictions/Notes:** μ†ŒμŠ€ κ°„μ˜ λͺ¨μˆœμ μ€ μ—†μœΌλ‚˜, μ΄μ „μ˜ λ Œλ”λ§ 방식과 달리 λ³„λ„μ˜ GLSL/WGSL μ½”λ“œλ₯Ό 직접 μž‘μ„±ν•˜λŠ” 것보닀 TSL을 μ‚¬μš©ν•˜λŠ” 것이 μ½”λ“œ μœ μ§€λ³΄μˆ˜ 및 ꡐ차 ν˜Έν™˜μ„± μΈ‘λ©΄μ—μ„œ λͺ…λ°±νžˆ μš°μ›”ν•˜λ‹€κ³  κ°•μ‘°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [3]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/TSL (Three Shader Language).md ---