본문 바로가기

공부/DirectX113

[DX11] 원뿔 도형 만들기 (Cone Mesh) [DX11] 원뿔 도형 만들기 (Cone Mesh) 스포트라이트를 구현하기 위해 필요한 원뿔 메쉬를 만들어보자. 원뿔 도형은 한 점(0,0,0)에서 같은 길이의 직선으로 원을 그린 모양이다. 높이가 1이고 반지름이 0.5로 설정했다. 원뿔 도형이 실제 빛의 방향과 같게 해주어 계산을 편리하게 하고자 했다. 꼭짓점 (0,0,0) 생성. vecVtx(0)이다. 옆면을 그린다. 꼭짓점과 아래 두점을 연결한 삼각형들 입력한 정보로 새로운 메쉬 생성 (ConeMesh) 최종 결과 코드 // Cone Mesh fRadius = 0.5f; float fHeight = 1.0f; // Top v.vPos = Vec3(0.f, 0.f, 0.f); v.vUV = Vec2(0.5f, 0.f); v.vColor = Vec4(.. 2023. 5. 22.
[DX11] 반사광 방향 벡터 유도하기 [DX11] 반사광 방향 벡터 유도하기 목표 : 광원 방향 벡터와 도형의 정점 normal 벡터만 가지고 반사 벡터를 알아내라. 주어진 상황을 그림으로 정리하면 다음과 같다. 추가적으로 vLight와 vNormal은 방향 단위 벡터로 크기는 1이다. 학창시절에 배운 과학기억을 되살펴보면 빛의 입사각과 반사각은 동일하다는 사실이 생각날것이다. 또한 벡터의 덧셈을 상기해본다면 다음과 같은 두벡터의 합이 우리가 원하는 벡터R이라는 사실도 알게될 것이다. 1. vA를 구해보자. | vA |는 수식을 통해 |vLight|*cosθ 이다. vLight 크기는 1이므로 |vA| = cosθ cosθ 는 내적을 통해서 구할 수 있다. 다만 내적을 할때 주의할 점이 있다. 우리가 원하는 cosθ는 오른쪽 이미지의 각도이.. 2023. 5. 15.
[DX11] ChatGPT로 좌표계 복습하기 [DX11] ChatGPT로 복습하기 아주 오랜만에 블로그 포스팅을 남기는 것 같다. 하루하루 배운 것을 매일 기록하기에는 부족한 사람인지라, 오랜만에 공부기록을 남긴다. 따로 공부한건 여기에 적어도 사람들에게 객관적인 도움을 줄 수 없어서 chatGPT에게 물어봤던 것들 사진 위주가 될 것 같다. 1. POSITION 과 SV_Position의 차이 (출처: ChatGPT) 2. 로컬, 월드, 뷰, 투영 좌표계에 대해 설명해줘. 3. 그러면 카메라가 보는 곳이 뷰 좌표계이고 투영 좌표계는 가려질 수도 있는 것까지 고려하는 곳인가? 4. 그러면 뷰좌표계에선 모델의 크기가 커지거나 작아질 수 있겠네? 예시도 줘. ChatGPT랑 대화하면서 좌표계에 대해 헷갈렸던 부분들을 이해할 수 있었다. 사실 개념은 어.. 2023. 5. 3.