지난 시간에 뎁스 버퍼까지 하여, 렌더링과 관련된 기초적인 기능들을 모두 구현해보았음


오늘은 지금까지 익힌 것들을 바탕으로 카메라와 그림자(빛)을 한번 구현해볼 생각임


일단, 정사각형 바닥과 정육면체 버텍스를 다음과 같이 만듦


https://gist.github.com/erenengine/500f1b541300d2258ba42dded748cc08


지면과 정육면체 버텍스

지면과 정육면체 버텍스. GitHub Gist: share code, notes, and snippets.

gist.github.com




그리고, 다음과 같이 빛과 카메라 행렬을 계산해서 구현함


ac5939a70001b942813e33669735c1bcc2a977c21c773585f0dabed5e42e074dc2d2552d4ea3fd29cba114c2d1971e9ed185c8da59e47e22102cf2964341f80fae389c720c9e99a02e7f619eb91c



카메라

ac5939a70001b942813e33669735c1bcc2a977c21c773585f0dabed5e42e074dc2d2552d4ea3fd29cba114c2d1971e9ed185c8da59e47e22102cf2964549f80f5ae20cf23179a2cb2708179c0f31




이제 렌더 패스들(쉐이더 프리패스, 메인 패스)을 만들고 돌리면...


다음과 같이 정육면체의 그림자가 지면에 표시되는 장면을 구현할 수 있음





웹에서는 다음 경로에서 확인 가능함ㅇㅇ


- WGPU: https://erenengine.github.io/eren/eren_render_shared/examples/test_shadow.html

- WebGL: https://erenengine.github.io/erenjs/eren-webgl-render-shared/examples/test-shadow/index.html



관련 코드들


- vulkan 구현: https://github.com/erenengine/eren/tree/main/eren_vulkan_render_shared/examples/test_shadow

- wgpu 구현: https://github.com/erenengine/eren/tree/main/eren_render_shared/examples/test_shadow

- webgpu 구현: https://github.com/erenengine/erenjs/tree/main/eren-webgpu-render-shared/examples/test-shadow

- webgl 구현: https://github.com/erenengine/erenjs/tree/main/eren-webgl-render-shared/examples/test-shadow




결과물은 별거 아닌데, 첨부터 구현할려니 쉽지많은 않네...ㅋㅋㅋ 힘들당...


그럼 다들 오늘도 홧팅...!!


츄릅