본문 바로가기

All250

NVIDIA Parallel developer.nvidia.com/blog/thinking-parallel-part-i-collision-detection-gpu/ Thinking Parallel, Part I: Collision Detection on the GPU | NVIDIA Developer Blog This series of posts aims to highlight some of the main differences between conventional programming and parallel programming on the algorithmic level, using broad-phase collision detection as an… developer.nvidia.com 파트 1,2,3,4 나누어서 할 예정.. 2021. 4. 28.
광선 추적(Ray Tracing)은 무엇인가? - (2) woo-dev.tistory.com/241 광선 추적(Ray Tracing)은 무엇인가? - (1) 광선 추적(Ray Tracing)은 가상적인 광선이 물체의 표면에서 반사되어, 카메라를 거쳐 다시 돌아오는 경로를 계산하는 것이다. 위키피디아에선 광선 추적을 위와 같이 설명하고 있다. 아래는 디 woo-dev.tistory.com 위 포스팅에 이어지는 글 틀린 부분이 있다면 알려주세요~ RT Core? RT Core는 RTX 시리즈의 그래픽 카드를 구성하는 Ray tracing을 위한 핵심 unit이다. 이전 포스팅에서 실시간 레이 트레이싱의 병목 지점은 트리를 Traversal하는 부분(교차 테스트가 이를 포함)이라 했다. 이를 CUDA같은 GPGPU 기법을 사용하더라도 SW로 구현되는 이상 한계가 있.. 2021. 4. 27.
광선 추적(Ray Tracing)은 무엇인가? - (1) 광선 추적(Ray Tracing)은 가상적인 광선이 물체의 표면에서 반사되어, 카메라를 거쳐 다시 돌아오는 경로를 계산하는 것이다. 위키피디아에선 광선 추적을 위와 같이 설명하고 있다. 아래는 디즈니 유튜브에서 가져온 광선 추적을 표현한 그림 광선 추적에 대해 알아보기 전에 간단하게 조명(lighting)에 대한 설명 게임 또는 컴퓨터 그래픽에서 현실 세계를 반영하기 위해 빼 놓을 수 없는 요소 중 하나가 조명(lighting)이다. 빛이라는 것은 크게 두 종류로 나뉜다. 태양이나 전구와 같은 광원이 방사하는 빛이 물체에 직접적으로 닿을 경우 이 빛을 직접광 혹은 직접 조명(Direct illumination)이라고 한다. 위의 그림을 예로 들면 4번 지점이 5번의 광원으로부터 받는 빛이 직접광이다. 그.. 2021. 4. 23.
다른 사람의 Repo를 내 Repo로 가져오기 (Github) 내 Github에 가져올 Repo의 이름과 동일한 새 Repo를 생성. 이때, README, gitignore, license는 모두 초기화하지 않는다. 가져올 Repo를 내 PC(local)에 다음과 같이 clone 한다. git clone https://github.com/other-account/other-repository.git clone한 local repo를 1번에서 만든 새 Repo와 연결 git remote add origin http://github.com/my-account/my-repo.git git branch -M main git push -u origin main 3번부턴 그냥 아래처럼 github에 나와있는 대로 따라하면 됨 2021. 4. 20.
[DX11] UpdateSubresource 와 map은 각각 언제? GPU에 어떤 자원을 업데이트 할 때 필요한 함수로 UpdateSubresource와 map이 있다. 차이점은 우선 UpdateSubresource는 src와 dest가 같은 포맷(단위)이 동일할 때 그 단위로 복사해주는 함수이다. 반면 map은 read/write 하려는 GPU 메모리 영역에 Lock을 걸고 그 주소를 얻어와서 이 주소를 통해 하고 싶은 동작을 수행하는 것이다. 그러나 실제로 map은 GPU 메모리 영역의 주소를 주는 것이 아니라 그 영역을 시스템(CPU) 메모리에 mapping한 주소를 준다. 만약 read가 필요한 경우, 해당되는 GPU 메모리 영역을 시스템 메모리에 copy 후 시스템 메모리의 주소를 반환하기 때문에 복사 및 mapping만큼의 오버헤드가 있다. 만약 write 용.. 2021. 4. 18.
assimp를 이용하여 3D 메쉬 가져와서 렌더링 해보기 Assimp라는 asset importer를 이용하여 3D 메쉬를 로드하고 렌더링 해 보았다. Importer란 메쉬의 정점과 인덱스, 노멀 등의 데이터가 저장되어 있는 파일을 읽어서 우리가 직접 그 데이터들을 사용할 수 있도록 해주는 역할을 한다. 여기서 사용한 3D 오브젝트(메쉬) 파일은 .obj 포맷이다. 또 .fbx란 포맷도 있는데 차이점은 obj는 정점, 인덱스, 노멀, uv와 같은 기본적인 데이터만 저장 가능하고, fbx는 더 많은 정보들의 저장이 필요할 때 사용한다고 한다. 애니메이션을 표현해야 할 경우 fbx를 사용해야 한다고 한다. 아래는 Importer를 통해 obj 파일을 읽어 오는 예이다. 두 번째 인자 중에 첫 번째 플래그는 프리미티브를 결정하는데, 면을 이루는 기본 단위를 삼각형.. 2021. 4. 8.