IT 제품 소개 정보 공유

그래픽 API 불칸(Vulkan) 소개

삼색치즈 2024. 4. 24. 18:10
반응형

안녕하세요 땅둘기입니다. 

오늘은 그래픽 API인 Vulkan에 대해서 소개하려고 합니다. 

 

Vulkan에 대하여


Vulkan은 PC 및 콘솔부터 휴대폰 및 임베디드 플랫폼에 이르기까지 다양한 장치에 사용되는 최신 GPU에 대한 고효율 크로스 플랫폼 액세스를 제공하는 차세대 그래픽 및 컴퓨팅 API이에요.

 

Vulkan은 하드웨어에 대한 직접적인 접근을제공하여 개발자가 그래픽 하드웨어를 최대한 활용할 수 있어요. 또한 병렬 처리를 지원하여다중 스레드를 활용하여 작업을 분산시킬 수 있어요. 이는 더 많은 CPU 코어를 활용하여 더 높은 성능을 제공해요!

 

또한, Vulkan은 다양한 플랫폼에서 동작할 수 있도록 설계되었고 비동기 작업을 지원하여 CPU, GPU간의 효율적인 데이터 전송 및 작업 처리를 가능하게 해요. 이를 통해 렌더링 파이프라인 사이에서 병목 현상을 줄이고 성능을 향상시킬 수 있어요.

 

  • Doom 2016


Doom은 플레이어가 지옥의 생명체들과 싸우는 고전적인 FPS로 플레이어는 마르스의 고립된 연구 시설에서 악마와의 전투에 돌입하게 되요.




  • Wolfenstein II : The New Colossus


나치 지배 아래의 미국에서 저항 운동에 합류한 주인공 BJ의 이야기를 다뤄요. 그는 나치에 맞서 싸우고 자유와 평등을 위한 전투를 하게 되요.



  • Warhammer 40,000: Dawn of War III


강력한 전술적 결정과 대규모 전투가 특징인 세력간의 대결을 다뤄요. 플레이어는 세력 간의 전쟁에서 지휘관 역할을 맡아 전략을 계획하고 전투를 진행해요.













  • Vulkan을 시작하는 법

 

https://www.vulkan.org/

 

이 사이트에 접속하세요!


여기서 SDK에 들어가세요.


Find Out More 버튼을 눌러서 들어가세요.


저 그림이 그려진 버튼을 따라서 이동하세요.

 

사용할 플랫폼에 따라서 SDK와 Runtime을 설치해주세요.

실행이 가능한지 확인하기 위해서 Vulkan SDK가 깔린 폴더에 들어가셔서 

VulkanSDK\1.3.280.0\Bin 이 경로로 진입을 해주세요. 

그리고 Cube.exe버튼을 눌러주세요.

지금 보이는 GIF처럼 나오면 해당 컴퓨터에서 Vulkan으로 개발하실 수 있어요!

 

https://www.glfw.org/

 

Vulkan은 GLFW 라이브러리를 사용하여 Window, Linux, Macos를 지원하는 창을 만들어요. 그래서 해당 파일을 다운로드 해주세요.

 

https://github.com/g-truc/glm

 

Vulkan에는 선형 대수 연산을 위한 라이브러리가 따로 포함되어 있지 않아요. 그래서 GLM 라이브러리를 다운로드 해주세요.




https://cmake.org/download/


CMake 사이트에 접속하셔서 OS맞게 프로그램을 다운 받아서 설치해주세요.



다운받은 CMake를 실행하셔서 Glfw 폴더의 압축을 해제하신 다음 다음과 같이 입력해주세요.

Where is the source code는 소스 코드가 위치를 넣으시면 되구요.

Where to build the binaries는 빌드한 코드를 어느 폴더에 둘지 위치를 넣으시면 되요.


Generate 버튼을 클릭하신 다음 설치된 Visual studio 버전에 맞게 설정해주시고 Finish 버튼을 클릭해주세요.

그러면 소스가 이렇게 빌드가 되었어요!

GLFW.sln을 클릭하셔서 파일을 열어서 Debug, Release를 각각 빌드해주세요.


빈 프로젝트를 c++로 하나 만들어주세요. (다른 언어도 지원하지만 저는 C++로 했습니다.)



glm, glfw 각각 폴더에 있는 GLFW, glm 폴더를 VC Project 파일이 있는 위치로 옮겨주세요.

glfw, glfwd는 각각 아까 빌드한 폴더에서 release, debug 폴더에서 가져온 것이에요.

glfwd는 debug 폴더에서 이름을 바꾼것이에요.





Vulkan SDK 폴더로 가셔서 Include, Lib 폴더를 아까 VC Project 파일이 있는 폴더에 복사 붙여넣기 해주세요. glfw, glfwd 파일을 복사한 Lib 파일에 넣어주세요. 그리고 glfw 폴더에 있는 파일들을 밖으로 빼주세요.


언어 표준을 c++ 17로 변경해주세요.


링커 일반탭의 추가 라이브러리 디렉터리에서 ..\Vulkan\Test\Test\Lib\ 경로를 설정해주세요. (.lib 파일이 존재하는경로에요)

 

Vulkan 코드( 블로그에 Vulkan 폴더의 1번 텍스트 파일입니다.)

 

지금까지 Vulkan에 대해서 알아보았는데요. 

개발에 대한 추가적인 사항은 

 

https://github.com/khronosGroup/Vulkan-samples

 

이 사이트에서 확인하시면 되요.

 

이상으로 포스팅을 마칠께요.

감사합니다~!








반응형