Recent posts

Memory Layout

July 14 2020

C/C++ ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ Text segment ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜๋œ ์‹คํ–‰์ฝ”๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ or obj์— ์ €์žฅ

Casting

July 14 2020

static_cast ๋…ผ๋ฆฌ ํ˜•๋ณ€ํ™˜ ์ฃผ๋กœ Scalar Type๋“ค ๊ฐ„์˜ ์บ์ŠคํŒ… ํ˜• ๋ณ€ํ™˜ ํ•จ์ˆ˜๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉด ์ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ ์‹คํ–‰ ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์„ ํ†ตํ•˜์—ฌ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•œ ์ž๋ฃŒํ˜•์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค ์ปดํŒŒ์ผ ํƒ€์ž„์—์„œ ์บ์ŠคํŒ…

JEngine v2

May 30 2020

์ปค์Šคํ…€ 3D ํ”„๋ ˆ์ž„์›Œํฌ - v2

๋™๊ธฐ/๋น„๋™๊ธฐ & ๋ธ”๋ก/๋…ผ๋ธ”๋ก

February 08 2020

๊ฐœ๋… ๋™๊ธฐ vs ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž‘์—…๋“ค์„ ์–ด๋– ํ•œ โ€˜ํ๋ฆ„โ€™์œผ๋กœ ์ฒ˜๋ฆฌ ํ•  ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ๊ด€์  ๋ธ”๋กœํ‚น vs ๋…ผ๋ธ”๋กœํ‚น ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” (ํ•˜๋‚˜์˜) ์ž‘์—…์ด, ์ „์ฒด์ ์ธ ์ž‘์—… โ€˜ํ๋ฆ„โ€™์„ ๋ง‰๋А๋ƒ ์•ˆ๋ง‰๋А๋ƒ์— ๋Œ€ํ•œ ๊ด€์ 

3D Picking

February 08 2020

Painterโ€™s Algorithm ๊ฐ object๋งˆ๋‹ค ๊ณ ์œ  ์ƒ‰๊น”์„ ์ง€์ • offline buffer (screen์— ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š” ๋ฒ„ํผ)๋ฅผ ๊ธฐ๋ณธ framebuffer size๋งŒํผ ์‚ฌ์šฉ Two pass ์‚ฌ์šฉ picking pass (1st pass) offline color ๋ฒ„ํผ์— ๊ณ ์œ  ...

Skybox

February 04 2020

Reflection

Forward Rendering & Deferred Rendering

February 04 2020

ํฌ์›Œ๋“œ ๋ Œ๋”๋ง(Forward Rendering) ๊ฐ€์žฅ ๋ณดํŽธ์ ์ด๊ณ  ์ผ๋ฐ˜์ ์ธ ๋ Œ๋”๋ง ๋ฐฉ๋ฒ• ํ”ฝ์…€ ๋‹น ์‰์ด๋”ฉ๊ณผ ๋ผ์ดํŒ… ์—ฐ์‚ฐ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹ ๊ฐ fragment shader์—์„œ ์—ฐ์‚ฐ ๋น›์˜ ๊ฐœ์ˆ˜ ๋งŒํผ ํ•จ ํˆฌ๋ช…๋„ ์ฒ˜๋ฆฌ, ์•ˆํ‹ฐ์–ผ๋ผ์ด์ง• ๊ฐ€๋Šฅ ๋ผ์ดํŒ… ๋ฐ ์‰์ด๋”ฉ ์—ฐ์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ

Finite-State Machine

February 04 2020

Finite-State Machine ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ์— ์“ฐ์ด๋Š” ์ˆ˜ํ•™์  ๋ชจ๋ธ ์—์ด์ „ํŠธ๋Š” ํ•œ ๋ฒˆ์— ๋‹จ ํ•˜๋‚˜์˜ state์—๋งŒ ๋จธ๋ฌด๋ฅผ ์ˆ˜ ์žˆ๋‹ค ๋ผ์šฐํ„ฐ๋กœ๋ถ€ํ„ฐ ์—์ด์ „ํŠธ๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ›๊ณ , ์—์ด์ „ํŠธ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๋…ํ•˜๊ณ  ์ด์— ๋”ฐ๋ผ ์ž์‹ ์˜ state๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค ์—์ด์ „ํŠธ์˜ ํ”ผ๋“œ๋ฐฑ์€ router๋กœ ๋‹ค์‹œ ์ „์†ก๋œ๋‹ค