2020 이전 81

접선공간(tangent space)

한 점의 법선(normal)벡터, 그리고 접선(tangent)벡터, 그리고 법선과 접선을 외적한 바이노멀(binormal)벡터를 축으로 하는 공간이다. 왜 tangent space라고 부르나요? 평면을 옆에서 봤을 때 밑면과 이루는 탄젠트 값이 즉 이 평면의 기울기를 결정하기 때문에 tangent space 라고 부른다. 폴리곤의 평면에서 수직인 법선(normal)로 폴리곤의 기울기 값을 만들고, 접선의 나머지 두 축으로 어느방향으로 기울었는지를 나타내어, 이 세개의 축을 가지고 만든 좌표계를 접선 좌표계라고 부르고 이 좌표계가 존재하는 공간을 접선 공간(tangent space)이라고 한다. 계산 참고: https://mgun.tistory.com/1289 tangent space, 접선 공간 접선 공..

2020 이전/DirectX 2019.07.11

해시 버켓 사이즈 비교 실험

Release mode 매 문자열마다(길이 별로 달라질 때) 해쉬 테이블 생성시, Hash bucket 사이즈 1000 매 문자열마다(길이 별로 달라질 때) 해쉬 테이블 생성시, Hash bucket 사이즈 10000 모든 문자열(길이 통합)에 하나의 해쉬 테이블 생성시, Hash bucket 사이즈 1000 모든 문자열(길이 통합)에 하나의 해쉬 테이블 생성시, Hash bucket 사이즈 10000 버켓 사이즈 2000 : 버켓 사이즈 500:

2020 이전/C++ 2019.07.06

비쥬얼 스튜디오 그래픽 디버깅

1. 디버그 모드에서 그래픽 디버깅 시작을 누른다 2. 프레임 캡처 버튼 또는 print screenshot 키를 눌러서 프레임 캡쳐 3. 원하는 프레임의 빨간 부분을 누른 4. 해당 프레임이 그려지는 순서를 확인할 수 있다. 5. 눌러서 정보를 확인할 수 있다. 디퍼드 렌더링이기때문에 Albedo, Normal, Depth, Material 4개의 렌더타겟 뷰들이 있다. 셰이더 코드에서 vDepth 텍스처의 X,Y,Z에는 투영창에서의 z값/w를, 알파에는 뷰공간 상에서의 z값 깊이를 저장하고있다. 그래픽 디버깅에서는 위와같 해당 오브젝트가 그려진 렌더타겟 픽셀 값을 확인할 수 있다.

2020 이전/DirectX 2019.06.13

Vulkan 튜토리얼 0. Overview

영어공부도 할 겸사겸사 튜토리얼 야매번역 원문: https://vulkan-tutorial.com/Overview Overview - Vulkan Tutorial This chapter will start off with an introduction of Vulkan and the problems it addresses. After that we're going to look at the ingredients that are required for the first triangle. This will give you a big picture to place each of the subsequent chapters vulkan-tutorial.com 0. Overview Origin of Vulkan 이전..

스텐실 버퍼를 이용한 라이트 볼륨 디퍼드 렌더링

디퍼드 렌더링. 다수의 광원을 처리하기 위해서 효율성을 위해 GBuffer(Albedo, Normal, Depth, Material)를 만들고 그 위에 라이팅을 처리한다. 문제점. 각 조명을 리스트를 돌면서 전체 픽셀에 대해서 체크한다는것 점광같은 경우, 빛의 영향을 주는 범위를 r이라고 했을때 파란색 영역은 빛이 닿지 않음에도 일단 픽셀셰이더로 들어가게 된다는 단점이 있다. 이것을 개선하기 위한 방법 중 하나인 Tiled deferred shading은 화면을 타일로 나누어 타일별 조명 리스트를 작성하여 타일별로 처리하는 방법이다. 하지만 렌더하기전 매 프레임 각 타일별 조명 리스트를 작성을 요구한다. light volume with deferred rendering 라이트 볼륨 디퍼드 셰이딩은 각 라..

2020 이전/DirectX 2019.06.05