์์ :)
https://github.com/eazuooz/YamYamEngine/commit/553cd747d498851b5ed23370015a7a68b333bedc
cameras rendering · eazuooz/YamYamEngine@553cd74
Show file tree Showing 16 changed files with 198 additions and 39 deletions.
github.com
๊ฒ์ ํ๋ก๊ทธ๋๋ฐ์์ ๋ฉํฐ ์นด๋ฉ๋ผ ์์คํ
์ ๊ฒ์ ์ธ๊ณ์ ๋ค์ํ ์์ ์ ํ๋ฉด์ ๋์์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ์ ์
๋๋ค. ์ด ๊ธฐ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ฒ์์์ ํ๋ ์ด์ด๊ฐ ์์ ์ ๋ ์ ์ ์ดํ๊ณ ๊ฒ์์ ์๊ฐ์ ๋งค๋ ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๋ฉํฐ ์นด๋ฉ๋ผ ์์คํ
์ ์ผ๋ฐ์ ์ผ๋ก ๊ฒ์ ์๋ ๋ด์์ ์๋ก ๋ค๋ฅธ ์์น์ ๊ฐ๋์ ๋ฐฐ์น๋ ์ฌ๋ฌ ๋์ ๊ฐ์ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ์นด๋ฉ๋ผ๋ ๊ฒ์ ์ฝ๋ ๋๋ ํ๋ ์ด์ด์ ์
๋ ฅ์ ํตํด ์ ์ดํ์ฌ ์นด๋ฉ๋ผ ์ฌ์ด๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
๋ฉํฐ ์นด๋ฉ๋ผ ์์คํ
์ ์ผ๋ฐ์ ์ธ ์ฉ๋ ์ค ํ๋๋ ๋ถํ ํ๋ฉด ๋ฉํฐํ๋ ์ด์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก, ๊ฐ ํ๋ ์ด์ด๊ฐ ํ๋ฉด์์ ๊ฐ์์ ์นด๋ฉ๋ผ ๋ทฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์ฉ๋๋ก๋ ์ปท์ ์ด๋ ํน์ ๊ฒ์ํ๋ ์ด ์๊ฐ์ ์ฌ๋ฌ ์นด๋ฉ๋ผ๋ฅผ ์ ํํ์ฌ ํ๋ ์ด์ด๊ฐ ์ก์
์ ๋ ์ ๋ณผ ์ ์๋๋ก ํ๋ ๊ฒ์
๋๋ค.
๋ฉํฐ ์นด๋ฉ๋ผ ์์คํ
์ ๊ตฌํ์ ์ฌ์ฉ ์ค์ธ ๊ฒ์ ์์ง๊ณผ ๊ฒ์์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ํญ์ ํ์ฑํ๋์ด ๊ฒ์ ์๋์ ์ฌ๋ฌ ๋ถ๋ถ์ ๋ ๋๋งํ๋ ์ฌ๋ฌ ๋์ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ์นด๋ฉ๋ผ๋ ํ๋ ์ด์ด ์บ๋ฆญํฐ์ ์ด์ ์ ๋ง์ถ๊ณ ๋ค๋ฅธ ์นด๋ฉ๋ผ๋ ๊ฒ์ ํ๊ฒฝ์ ์ด์ ์ ๋ง์ถ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฌํ ์นด๋ฉ๋ผ ๋ทฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ธ๋ ๋ฉํ์ฌ ๋งค๋๋ฌ์ด ๋ฉํฐ ์นด๋ฉ๋ผ ํ๊ฒฝ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ฌ์ ๋ ๋๋ง์ ์ด์ฉํ์ง ์๊ณ ์ง๊ธ๋ถํฐ๋ ์นด๋ฉ๋ผ์๊ฒ ๋ชจ๋ ๋ ๋๋ง ์์ ์ ์์ํ๊ฒ ๋์ด๋ฒ๋ฆฐ๋ค.
์ฌ๋ฌ๋์ ์นด๋ฉ๋ผ๊ฐ ์กด์ฌํ๊ณ ๊ทธ ์นด๋ฉ๋ผ๊ฐ ๋ฌผ์ฒด๋ฅผ ์ง์ ๋ ๋๋งํ๋ ๋ฐฉ์์ด๋ค.
void Render()
{
eSceneType type = SceneManager::GetActiveScene()->GetSceneType();
for (Camera* cam : cameras[(UINT)type])
{
if (cam == nullptr)
continue;
cam->Render();
}
cameras[(UINT)type].clear();
}
'๐ Development Study > ๐ผ GameProgramming 2D' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Grid ์ค๋ธ์ ํธ (0) | 2023.03.02 |
---|---|
๊ณ์ธต ๊ตฌ์กฐ (0) | 2023.02.07 |
World View Projection ๋ณํ (0) | 2023.01.11 |
Material ๋ฉํ ๋ฆฌ์ผ (0) | 2023.01.02 |
Sampler ์ํ๋ฌ (0) | 2023.01.02 |
๋๊ธ