greentec's blog game designer, scripter, researcher

en kr

Shadertoy 'Bleepy blocks' ๋ถ„์„

โ€œBleepy blocksโ€ by Daedelus ย  ๋„์ž… ๊ฑฐ์˜ 2๋…„ ๋ฐ˜ ๋งŒ์— Shadertoy ๊ด€๋ จ ํฌ์ŠคํŒ…์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋งŽ์€ ์ผ์ด ์žˆ์—ˆ์ง€๋งŒ ๋‹คํ–‰ํžˆ creative coding์˜ ์„ธ๊ณ„์— ๋Œ์•„์˜ค๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ฐ„๋‹จํžˆ ์†์„ ํ’€์–ด๋ณด๋Š” ์˜๋ฏธ์—์„œ ์•ฝ๊ฐ„ ์งง์€ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ถ„์„ํ•  ์ฝ”๋“œ๋Š” โ€˜Bleepy blocksโ€™์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” Three.js ๊ธฐ์ดˆ ํŠœํ† ๋ฆฌ์–ผ์˜ ์‰์ด๋”ํ† ์ด(Shadertoy) ํ™œ์šฉํ•˜๊ธฐ์—๋„ ์‚ฌ์šฉ๋  ๋งŒํผ ์œ ๋ช…ํ•œ...

ใ€Ž์‹œ์ž‘ํ•˜์„ธ์š”! ํ…์„œํ”Œ๋กœ 2.0 ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€ ์žฌ๊ณ  ์ถ”์  ์ž๋™ํ™”

ย  ๋„์ž… ์ž๋™ํ™”(Automation)๋Š” ์‚ฌ๋žŒ์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์—…๋ฌด๋ฅผ ์‚ฌ๋žŒ์˜ ๊ด€์—ฌ๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ฒซ๋ฒˆ์งธ ๊ธฐ์ˆ  ์„œ์ ์„ ์ง‘ํ•„ํ•œ ํ›„ ์ด ์ฑ…์˜ ์žฌ๊ณ  ์ƒํ™ฉ์„ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ต๋ณด๋ฌธ๊ณ ์˜ ์ฑ… ์†Œ๊ฐœ ํŽ˜์ด์ง€1์— ์ž์ฃผ ์ ‘์†ํ•ด์„œ ์žฌ๊ณ ์˜ ํ˜„ํ™ฉ์„ ๋ˆˆ์—ฌ๊ฒจ๋ณด๋‹ค๊ฐ€, ์ด๋ฅผ ์ž๋™ํ™”ํ•˜๋ฉด ์–ด๋–จ๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๊ณ  ์ผ๋ จ์˜ ์ž‘์—…์œผ๋กœ ์ด๋ฅผ ์ž๋™ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. โ€ป ์ฃผ์˜:...

ใ€Ž์‹œ์ž‘ํ•˜์„ธ์š”! ํ…์„œํ”Œ๋กœ 2.0 ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€ ์ง‘ํ•„ ํ›„๊ธฐ

ย  ๋„์ž… ๋ฉฐ์น  ์ „์ธ 2020๋…„ 1์›” 15์ผ, ์ €๋Š” ์ธ์ƒ ์ฒซ ๊ธฐ์ˆ ์„œ์ ์ธ ใ€Ž์‹œ์ž‘ํ•˜์„ธ์š”! ํ…์„œํ”Œ๋กœ 2.0 ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€์„ ์ง‘ํ•„ํ–ˆ๊ณ  ๋ฌด์‚ฌํžˆ ์ถœ๊ฐ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์–ด๋–ค ์ž‘์—…์„ ํ•  ๋•Œ ์–ธ์ œ๋‚˜ ์ž‘์—… ์ผ์ง€ ๊ฐ™์€ ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š”๋ฐ, ๋‚ ์งœ๋ณ„๋กœ ๊ทธ ๋‚  ์žˆ์—ˆ๋˜ ๋ฌธ์ œ, ํ•ด๊ฒฐ์ฑ…, ๋Š๋‚Œ ๊ฐ™์€ ๊ฒƒ์„ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ํ˜•์‹์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ๋Š์Šจํ•˜๊ฒŒ ์จ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ง‘ํ•„ ๊ณผ์ •์„...

CoG 2019 ์ฐธ์„ ํ›„๊ธฐ

์ง€๋‚œ ์ฃผ์— ๋Ÿฐ๋˜ QMUL ๋Œ€ํ•™์—์„œ ๊ฐœ์ตœ๋˜์—ˆ๋˜ CoG(Conference on Games) 2019 ์— ๋…ผ๋ฌธ์ด Accept๋˜์–ด ์ฐธ์„ํ•˜๊ณ  ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค. ์ƒ์•  ์ฒซ ํ•™ํšŒ ์ฐธ์„์— ์˜์–ด ๋ฐœํ‘œ๋„ ์ฒ˜์Œ์ด๋ผ ๊ธด์žฅ์ด ๋งŽ์ด ๋˜์—ˆ์ง€๋งŒ ์ผ๋‹จ ์ค€๋น„ํ•œ ๋‚ด์šฉ์€ ๋‹ค ํ•˜๊ณ  ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ์„ธ๊ณ„์ ์ธ ์—ฐ๊ตฌ์ž๋“ค์˜ ๋ฐœํ‘œ๋ฅผ ๋ณด๊ณ  ์ž๊ทน์ด ๋งŽ์ด ๋˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ธฐ์–ต์ด ํฌ๋ฏธํ•ด์ง€๊ธฐ ์ „์— ์ฐธ์„ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค. ย  Conference on...

๊ฐ•ํ™”ํ•™์Šต ์•Œ์•„๋ณด๊ธฐ(5) - ๋ฌธ๊ณผ ์—ด์‡ ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ ํ’€๊ธฐ

์ง€๋‚œ ๊ธ€์—์„œ๋Š” Grid World ์˜ ball-find-3 ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ Actor-Critic, A2C, A3C ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ  ์—์ด์ „ํŠธ๊ฐ€ ํ™˜๊ฒฝ์„ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์•ก์…˜ ์‹œ๊ฐํ™”๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. A3C๋Š” ํ•˜๋‚˜์˜ ์—์ด์ „ํŠธ ๋Œ€์‹ ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—์ด์ „ํŠธ๋ฅผ ์“ด๋‹ค๋Š” ๊ฐ„๋‹จํ•œ ์•„์ด๋””์–ด๋กœ ๋†’์€ ํผํฌ๋จผ์Šค๋ฅผ ๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ง€๊ธˆ๊นŒ์ง€ ํ’€์–ด์™”๋˜ ball-find-3๋ฅผ ๋ฒ—์–ด๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ์— A3C ์•Œ๊ณ ๋ฆฌ์ฆ˜์„...

๊ฐ•ํ™”ํ•™์Šต ์•Œ์•„๋ณด๊ธฐ(4) - Actor-Critic, A2C, A3C

์ง€๋‚œ ๊ธ€์—์„œ๋Š” Grid World ์˜ ball-find-3 ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ DQN ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํผํฌ๋จผ์Šค๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•๋“ค๊ณผ Deep SARSA ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ball-find-3 ์—์„œ ์•ž์„  ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์„ ํฌ๊ฒŒ ๋›ฐ์–ด๋„˜๋Š” ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” Actor-Critic ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ , ์—์ด์ „ํŠธ์˜ ์•ก์…˜์„ ์‹œ๊ฐํ™”ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋” ๋ฐœ์ „์‹œํ‚จ A3C ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ย  Actor-Critic ์•Œ๊ณ ๋ฆฌ์ฆ˜, A2C...

๊ฐ•ํ™”ํ•™์Šต ์•Œ์•„๋ณด๊ธฐ(3) - DQN ๊ฐœ์„ , Deep SARSA

์ง€๋‚œ ๊ธ€์—์„œ๋Š” Deepmind ์—์„œ ๊ฐœ๋ฐœํ•˜์—ฌ Atari ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜์—ˆ๋˜ DQN ์„ Grid World ์—์„œ ํ•™์Šต์‹œ์ผœ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋žœ๋ค ์•ก์…˜ ์—์ด์ „ํŠธ๊ฐ€ -14~-17 ์ •๋„์˜ avg. reward ๋ฅผ ์–ป์€ ๋ฐ ๋น„ํ•ด DQN ์—์ด์ „ํŠธ๋Š” -11~-12 ์ •๋„์˜ avg. reward ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•™์Šต์‹œํ‚จ ์—์ด์ „ํŠธ๋ฅผ Run ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์›€์ง์—ฌ๋ณด๋ฉด ๋ชฉํ‘œ ์•ž์—์„œ ํ—ค๋งค๋Š” ๋“ฑ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์›€์ง์ž„์„ ๋ณด์—ฌ์ฃผ์ง€๋Š”...

๊ฐ•ํ™”ํ•™์Šต ์•Œ์•„๋ณด๊ธฐ(2) - DQN

ย  ๊ฐ€์น˜ ํ•จ์ˆ˜, ๊ฐ๊ฐ€์œจ ์ง€๋‚œ ๊ธ€์—์„œ๋Š” ๊ฐ•ํ™”ํ•™์Šต์— ๋Œ€ํ•ด ์ฒ˜์Œ์œผ๋กœ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„๊ณผ ํ•จ๊ป˜ ๊ฐ๊ฐ€์œจ(discount rate), ๊ฐ€์น˜ ํ•จ์ˆ˜(value function) ๋“ฑ์˜ ๊ฐœ๋…์„ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐœ๋…์„ ๋‹ค์‹œ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ€์œจ : ๋ฏธ๋ž˜์˜ ๋ณด์ƒ์€ ํ˜„์žฌ์˜ ๋ณด์ƒ๋ณด๋‹ค ๊ฐ€์น˜๊ฐ€ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์ƒ์— ๋ฏธ๋ž˜ ์‹œ์ ์˜ time step ๋งŒํผ ๊ณฑํ•ด์ฃผ๋Š” 0.0~1.0 ์‚ฌ์ด์˜ ์‹ค์ˆ˜ ๊ฐ’ ๊ฐ€์น˜ ํ•จ์ˆ˜ :...

๊ฐ•ํ™”ํ•™์Šต ์•Œ์•„๋ณด๊ธฐ(1) - ๊ฐ€์น˜ ํ•จ์ˆ˜

ย  ๊ฐ•ํ™”ํ•™์Šต์ด๋ž€? 2016๋…„์— ์žˆ์—ˆ๋˜ ๋”ฅ๋งˆ์ธ๋“œ์˜ ์•ŒํŒŒ๊ณ (AlphaGo)์™€ ์ด์„ธ๋Œ 9๋‹จ์˜ ๋Œ€๊ตญ์€ ์ธ๊ณต์ง€๋Šฅ์ด ์„ธ๊ณ„ ์ตœ์ดˆ๋กœ ํ”„๋กœ ์ตœ๊ณ ์ˆ˜๊ธ‰์˜ ์ธ๊ฐ„์„ ๋ฐ”๋‘‘์—์„œ ์ด๊ธด ์‚ฌ๊ฑด์œผ๋กœ ํ™”์ œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2018๋…„์—๋Š” 5๋Œ€ 5๋กœ ํŒ€์„ ๋‚˜๋ˆ  ์‹ธ์šฐ๋Š” ํ˜‘๋™ ๊ฒŒ์ž„์ธ DOTA2 ์—์„œ OpenAI ์˜ ์—ฐ๊ตฌ์ง„์ด ์ •ํ•ด์ง„ ์˜์›… ์กฐํ•ฉ์œผ๋กœ ํ”„๋กœ์— ๊ทผ์ ‘ํ•œ ์•„๋งˆ์ถ”์–ด ํŒ€์„ ์ด๊ฒผ๊ณ , 2019๋…„์—๋Š” ๋”ฅ๋งˆ์ธ๋“œ์˜ ์•ŒํŒŒ์Šคํƒ€(AlphaStar)๊ฐ€ ์Šคํƒ€ํฌ๋ž˜ํ”„ํŠธ2์—์„œ ๊ฐ™์€ ์ข…์กฑ์ „(Protoss)์œผ๋กœ ํ”„๋กœ ์ตœ๊ณ ์ˆ˜๋ฅผ ์ด๊ธฐ๋Š”...

Shadertoy ๋น—๋ฐฉ์šธ ํšจ๊ณผ ๋ถ„์„

โ€œHeartfeltโ€ by BigWIngs ย  ๋„์ž… ์˜ค๋Š˜์€ Shadertoy ์— ๋งŽ์ด ๋ณด์ด๋Š” ํšจ๊ณผ ์ค‘ ํ•˜๋‚˜์ธ ๋น—๋ฐฉ์šธ ํšจ๊ณผ๋ฅผ ๋ถ„์„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ถ„์„ํ•  ์ฝ”๋“œ๋Š” โ€˜Rain drops on screenโ€™์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ์ฃผ์„์ด ๊ผผ๊ผผํ•˜๊ฒŒ ๋‹ฌ๋ ค ์žˆ์–ด์„œ ๋ถ„์„ํ•˜๋Š” ๋ฐ์— ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. โ€˜Rain drops on screenโ€™ by eliemichel ย  Texture ์ž…๋ ฅ ์˜ˆ์ „์— Shadertoy ๋ถˆ ์‰์ด๋” ๋ถ„์„ ์—์„œ...

Shadertoy 'Creation' ๋ถ„์„

โ€œCreation by Silexarsโ€ by Danguafer ย  ๋„์ž… ์˜ค๋Š˜์€ Shadertoy ์˜ ์ธ๊ธฐ ์‰์ด๋” ์ค‘ ํ•˜๋‚˜์ธ โ€˜Creationโ€™ ์„ ๋ถ„์„ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์„์„ ๋นผ๋ฉด ์ด 19ํ–‰์˜ ์งง์€ ์ฝ”๋“œ์ด์ง€๋งŒ ์œ„์˜ ์ด๋ฏธ์ง€์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ๋“ฏ์ด ๋‹จ์ˆœํ•˜๋‹ค๋Š” ๋Š๋‚Œ์€ ๋ณ„๋กœ ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Shadertoy ๋ถˆ ์‰์ด๋” ๋ถ„์„์—์„œ ์˜๋„์น˜ ์•Š๊ฒŒ ๋งค์šฐ ๊ธด ๊ธ€์„ ์ผ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ์—๋Š” ์‰ฌ์–ด๊ฐ€๋Š” ์˜๋ฏธ์—์„œ ์กฐ๊ธˆ ์งง์€...

Shadertoy ๋ถˆ ์‰์ด๋” ๋ถ„์„

โ€œPyroclastic fireballโ€ by Duke ย  ๋„์ž… ์˜ค๋Š˜์€ shader ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฒƒ๋“ค ์ค‘ ํ•˜๋‚˜์ธ fire shader ๋ฅผ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ random, noise, fbm, bumpMap ๋“ฑ shader ์˜ ๊ธฐ์ดˆ์ ์ธ ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ์งš์–ด๋ณด๋ฉด์„œ Shadertoy ์— ์‚ฌ์šฉ๋œ fragment shader ์—์„œ ์ด๊ฒƒ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ์— ๋ถ„์„ํ•  Shadertoy ์˜ ์ฝ”๋“œ๋Š”...

Shadertoy ๋ฉ”ํƒ€๋ณผ ๋ถ„์„

โ€œMetaballs++ โ€œ by TheBuoy ย  ๋„์ž… ์ง€๋‚œ ๊ธ€์— ์ด์–ด, ์ด๋ฒˆ์—๋Š” 3D ๊ทธ๋ž˜ํ”ฝ์Šค์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ˜„ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ ๋ฉ”ํƒ€๋ณผ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์˜ ์•„์ด๋””์–ด๋Š” Ryan Geiss ๋ผ๋Š” ๋ถ„์ด ์“ด ์ด ๊ธ€์— ๋งŽ์ด ์˜์กดํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์„ ๋ฏธ๋ฆฌ ๋ฐํ˜€๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋ณด๋‹ˆ ์ด ๋ถ„์€ 2010๋…„๋ถ€ํ„ฐ Google ์—์„œ ์ผํ•˜๊ณ  ์žˆ๋„ค์š”. ์˜ค๋Š˜ ๋ถ„์„ํ•  Shadertoy ์˜...

Shadertoy ๊ธฐ๋ณธ ์‰์ด๋” ๋ถ„์„

โ€œCanyonโ€ by iq ย  ๋„์ž… Shader ๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์˜ ๋ Œ๋”๋ง ํšจ๊ณผ, ์ฃผ๋กœ ๋น›๊ณผ ๊ทธ๋ฆผ์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์— ์“ฐ์ด๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด, ํŠนํžˆ GPU ์˜ ๋ฐœ์ „์œผ๋กœ Shader ๋กœ ์˜ˆ์ „์—๋Š” ์„ฑ๋Šฅ์ƒ์˜ ๋ฌธ์ œ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์—ˆ๋˜ ๋งŽ์€ ๊ฒƒ๋“ค์ด ์ด์ œ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. Shadertoy ๋Š” ์ด ๋ถ„์•ผ์˜ ์„ ๊ตฌ์ž ์ค‘ ํ•œ ๋ช…์ธ Inigo Quilez ๊ฐ€ ์ œ์ž‘์— ์ฐธ์—ฌํ•œ ์˜จ๋ผ์ธ...

์œก๊ฐํ˜•์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋งต ๋งŒ๋“ค๊ธฐ

image link ย  ๋„์ž… ์ง€๊ธˆ์€ ๋ณด์•ˆ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•œ ํ•ดํ‚น์˜ ์œ„ํ—˜ ๋•Œ๋ฌธ์— ์ ์  ์“ฐ๋ฉด ์•ˆ๋˜๋Š” ๊ธฐ์ˆ ์ด ๋˜๊ณ  ์žˆ์ง€๋งŒ, ์•ฝ 10๋…„~15๋…„ ์ „์—๋Š” ํ”Œ๋ž˜์‹œ๊ฐ€ ์ตœ๊ณ ์˜ ์›น ์ปจํ…์ธ  ์ œ์ž‘ ๋„๊ตฌ์˜€์Šต๋‹ˆ๋‹ค. ์•„์ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ •ํ™•ํ•œ ํ‘œ์ค€์„ ์ •ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ต์Šคํ”Œ๋กœ๋Ÿฌ, ํฌ๋กฌ, ์˜คํŽ˜๋ผ ๋“ฑ์˜ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ž‘์„ฑํ•ด์•ผ ํ•  ์ฝ”๋“œ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ผํ•˜๊ฒŒ...

์ž„์˜์˜ ์›ํ˜• ๊ฒฝ๋กœ ๋งŒ๋“ค๊ธฐ

๋„์ž… 2์ฃผ ์ „, ์‚ฌ๊ฐํ˜• Grid ์—์„œ ์ž„์˜์˜ ๊ฒน์น˜์ง€ ์•Š๋Š” ์›ํ˜• ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ์—…๋ฌด๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ์š”๊ตฌ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์ˆœํ™˜ ๊ฒฝ๋กœ (์ฒ˜์Œ == ๋) ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊นจ๋—ํ•œ 1ํ”ฝ์…€์˜ line์œผ๋กœ ์ด์–ด์งˆ ๊ฒƒ (๊ฐ€๊ธ‰์  ์ƒํ•˜์ขŒ์šฐ๋กœ๋งŒ) ์•ฝ๊ฐ„์˜ ๋žœ๋ค์„ฑ ๋ฌธ์ œ ์ •์˜์— ๋”ฐ๋ผ์„œ A* ๊ฐ™์€ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์จ์„œ ๊ตฌํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค๋งŒ, ์ด๋•Œ๋Š” ์ข€ ์‰ฝ๊ณ  procedural...

๋ธ”๋กœ๊ทธ ์‹œ์ž‘

Github Pages ์—์„œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ greentec.github.io ๊ฒฝ๋กœ์— ์žˆ๋˜ ์ž๋ฃŒ๋“ค์€ Sidebar ์˜ Inventory์— ์žˆ์Šต๋‹ˆ๋‹ค.