Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 다중상속
- c++class
- 렌더몽키
- 공부
- 화살표 함수
- 이득우
- 배열문제
- c#
- 그림자 효과
- 3차원배열
- C++
- 파이썬
- 언리얼
- 비주얼스튜디오
- 게임만들기
- visualstudio2022
- uidesign
- 가변배열
- swipe
- 셰이더
- Unity
- 표창던지기
- premake5
- 화살표 메서드
- IMGUI
- 유니티
- rendermonkey
- python
- 이득우언리얼
- 화살피하기
Archives
- Today
- Total
신입 개발자 공부 과정
DirectX11 3D 그림자 효과 구현하기 본문
light component에 라이트 카메라 오브젝트를 만들어서 빛의 방향에서 그림자를 출력할 수 있도록 한다.

- light cam의 투영방식은 원근투영 그리고 비율은 1:1로 필요한 맵부분에만 추가하면 되도록 한다.
- 방향성 광원인 경우 그림자 처리를 위해서 광원카메라로 투영시킬 수 있게 View * Proj 행렬을 전달한다.
render시 light cam으로 그림자 오브젝트를 분류하고(DynamicShadow가 true인지) 그 오브젝트를 출력한다.
- MRT를 사용하고있기 때문에 Shadow MRT추가
- DepthMap shader 및 mtrl추가
- Directlight.fx - 그림자를 판정하기위해 출력하려고하는 오브젝트의 worldPos를 이용하여 Lightcam의 입장으로 투영한다.w 로 나누어 실제 xy 투영좌표를 구한 후 샘플링을 하기 위해서 NDC->UV로 변환한다.
lightcam에 기록된 깊이보다 물체의 깊이가 더 멀때 그림자 판정

- Depthmap.fx - fOut = _in.vProjPos.z / _in.vProjPos.w;
'C++ > 공부' 카테고리의 다른 글
프로그래머스 하샤드 수 C++ (0) | 2023.11.07 |
---|---|
IMGUI 툴 디자인 하기 (0) | 2023.07.16 |
코테용 알고리즘 정리해보기 (0) | 2023.05.09 |
코테용 알고리즘 정리해보기 (0) | 2023.05.09 |
알고리즘 (0) | 2023.05.01 |