[GPU] Coordinate System (좌표 변환 순서)

Graphic API를 사용해서 이미지를 Rendering 하면 여러 연산 과정을 거치게 된다. 그중 Vertex Shader 연산은 물체(Object)의 좌표값을 계산하는 작업을 수행한다. 좌표 계산을 위해서 여러 번의 Transform(변환) 연산을 수행한다. 이번 글에서는 좌표의 변환 순서에 대해서 정리할 예정이다. MK: 예전에는 Vertex 연산 과정에서 Light 등을 고려해서 색상을 결정하는 연산도 같이 수행하였다고 한다. 그래서 Vertex Shader 라는 이름이 … Read more

[Linux-Ubuntu] 윈도우 공유 폴더 Mount 하기 (cifs-utils)

실험환경: Ubuntu 18.04 + Window 10 윈도우 공유 폴더를 Ubuntu Linux에 Mount해서 사용할 경우 아래와 같이 작업을 수행하면 된다. 먼저 아래 CMD를 실행해서 cifs-utils을 설치한다.  $sudo apt-get install cifs-utils 다음으로 아래 CMD를 사용해서 윈도우 공유 폴더(192.168.0.1의 D 드라이브를 의미)를 Linux의 “/home/mkblog/database/”에 마운트하게 된다. 앞에 작성한 PATH는 단순한 예제이다. 원하는 위치에 Mount를 하면 된다. $sudo mount -t … Read more

[Linux] SELinux: Enforcing vs. Permissive Modes

SELinux는 미국 국가안보국(NSA – National Security Agency)이 개발한 Flask 라는 보안 커널을 리눅스에 이식한 커널 레벨의 보안 모듈이다. NSA는 리눅스에 강제 접근 통제를 구현하기 위해 리눅스 커널의 많은 부분을 수정했으며 그 결과물을 리눅스 커뮤니티에 기증하여 2003년부터 2.6 버전의 커널에 공식 포함되게 되었다 (출처 1).  SELinux를 Enabled 또는 Disabled로 설정할 수 있다. Disabled된 경우 DAC (Discretionary … Read more

[CUDA RT Series 5] Manage Your Memory

목차: Series 1 – Index + Methodology (Link)이전 글: Series 4 – Classing Up the GPU (Link)다음 글: Series 6 – It’s All Random (Link) 이번 장에서는 여러 개의 Sphere(구) 정보를 GPU 메모리에 저장하고 해당 정보를 활용해서 Sphere를 Rendering 할 예정이다. 이러한 과정에서 GPU 메모리를 관리하는 방법에 관해서 설명한다. 먼저 기존에 CPU에서 작성한 hitable, hitablelist, sphere Class를 GPU가 사용할 수 … Read more