ํฌ์ŠคํŠธ

๐ŸŒ” Shader

@ TODO : ๊ธ€ ์ •๋ฆฌ

  • HLSL (High Level Shading Language) ๊ฐ€์žฅ ์œ ๋ช…ํ•˜๊ณ  ๋ณดํŽธ์ ์œผ๋กœ ๋„“๊ฒŒ ์“ฐ์ž„
  • GLSL (OpenGL Shading Language) OpenGL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด
  • CG (C for Graphics) ์—”๋น„๋””์•„๊ฐ€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๋งŒ๋“  ์–ธ์–ด
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ฒ˜๋Ÿผ ํ•˜๋‚˜๋งŒ ์ž˜ ๋ฐฐ์›Œ๋‘๋ฉด ๋‚˜๋จธ์ง€๋Š” ์‰ฝ๊ฒŒ ํ„ฐ๋“ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์œ ๋‹ˆํ‹ฐ๋Š” CG ์–ธ์–ด๋ฅผ ์‚ฌ์šฉ, URP ๋ถ€ํ„ฐ๋Š” HLSL ์‚ฌ์šฉ (์–ธ๋ฆฌ์–ผ๋„ HLSL)
  • ์œ ๋‹ˆํ‹ฐ๋Š” ์ถ”๊ฐ€์ ์œผ๋กœ ์–ธ์–ด๋ฅผ ์ œ์ž‘ ์ง€์›
  • Shader Lab ํ˜ธํ™˜์„ฑ์€ ๊ฐ€์žฅ ๋†’์ง€๋งŒ, ๊ทธ๋งŒํผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ์ œํ•œ์ 
  • Surface Shader ๊ฐ€์žฅ ์‰ฝ๊ณ  ๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ์—์„œ ์ž˜ ๋Œ€์‘๋˜๋Š” ์…ฐ์ด๋”, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ๋ฐฐ์šฐ๊ธฐ ์‰ฌ์šด ๊ฐœ๋…, ์•„ํ‹ฐ์ŠคํŠธ ๋ ˆ๋ฒจ์—์„œ ๋ฐฐ์šฐ๋Š”
  • โ†’ Shader Lab ์ด๋ผ๋Š” ์Šคํฌ๋ฆฝํŠธ ์•ˆ์— CG ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ํ˜•์‹, ์ด๊ฑธ ๋ฐฐ์›Œ๋‘๋ฉด Vertax & Fragment Shader ๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ , ๋žœ๋” ๋ชฝํ‚ค๋กœ๋„ ๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ๋…ธ๋“œ๋กœ๋„ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค
  • Vertax & Fragment Shader, Surface Shader์˜ ์ƒ์œ„ ๋ฒ„์ „, CG๋ฅผ ๋” ๋””ํ…Œ์ผํ•˜๊ฒŒ ๋‹ค๋ฃธ, Surface Shader๊ฐ€ ์˜คํ†  ๋ชจ๋“œ๋ผ๋ฉด. Vertax & Fragment Shader๋Š” ์ˆ˜๋™์ด๋ผ๋Š” ๋Š๋‚Œ

  • Swizzling (= mix up)
    • ํœ˜๋ชฐ์•„์น˜๋Š”, ์ปดํ“จํ„ฐ ์šฉ์–ด๋กœ๋Š” ๋ฒกํ„ฐ์˜ ๊ตฌ์„ฑ ์š”๋กœ๋ฅผ ์ž„์˜๋กœ ์žฌ์ •๋ ฌํ•˜๊ณ  ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฒกํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ (CG์—์„œ)

    • Shader์—์„œ๋Š”
      • ๊ทธ ์™ธ์—๋„ Pointer Swizzling ์ด๋ผ๋Š” ๊ฒƒ๋„ ์žˆ์Œ
      • ํฌ์ธํ„ฐ๋กœ ๋งํฌ๋œ ์ž๋ฃŒ ๊ตฌ์กฐ ๋‹จ์œ„๋ฅผ, ID๋‚˜ ์ด๋ฆ„ ๋“ฑ์œผ๋กœ ๋Œ€์ฒดํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ์„ฑ๊ณต์ ์œผ๋กœ ํŒŒ์ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œ, ์—ญ์ง๋ ฌํ™” ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•
    • (๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ์˜ ํœ˜๋ชฐ์•„์น˜๋Š” ์นผ๋‚ ์€ Sweeping)
  • The Unity Shaders Bible
  • ๋””๋”๋ง
  • ์Šคํฌ๋ฆฐ ์ŠคํŽ˜์ด์Šค ์‰์ด๋”
  • ์Šคํ…์‹ค ์‰์ด๋”
  • sssShader
  • CatLikeCoding
  • Graph ๊ทธ๋ฆฌ๊ธฐ, Position์— ๋”ฐ๋ฅธ Color
  • Surface Shader (๋ˆˆ)
  • Shadertoy
  • ๊ฐ€์งœ ํˆฌ๋ช…๋„, ๋””๋”๋ง
  • ์‰์ด๋”์™€ ๋จธํ…Œ๋ฆฌ์–ผ
  • ์•Œ๋ฒ ๋„, ์ด๋ฏธ์…˜, ๋””ํ“จ์ฆˆ

  • Scene Depth : ์นด๋ฉ”๋ผ๋ถ€ํ„ฐ ์—ฐ์‚ฐ์„ ์‹œ์ž‘ํ•˜๋Š” ์ ๊นŒ์ง€์˜ ๊นŠ์ด?
    • Transparent๋Š” ํ†ต๊ณผํ•˜๋Š” ๋“ฏ..?

https://darkcatgame.tistory.com/79
https://blog.naver.com/hram01/221489477514
https://gall.dcinside.com/mgallery/board/view?id=game_dev&no=126408





Tiling Vs Hex Tiling

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.