Computer Graphics/Project

VulkanRT - 0. 시작

surkim 2025. 4. 1. 18:16

https://github.com/Very-Real-Engine/ALEngine

 

GitHub - Very-Real-Engine/ALEngine: This is an GAME ENGINE made by 42 Very-Real-Engine Team.

This is an GAME ENGINE made by 42 Very-Real-Engine Team. - Very-Real-Engine/ALEngine

github.com

 

지난 프로젝트에서는 Vulkan을 사용하여 게임 엔진을 개발했습니다. 
전체적인 구조는 크게 물리 엔진, UI, 코어, 스크립트, 애니메이션, 렌더링 파트로 나누어 작업을 진행했습니다. 
그 중에서 저는 렌더링 파트를 담당했습니다.

렌더링 파트의 파이프라인 구조는 다음과 같았습니다:

Shadowmap 생성
배경 생성
G-Buffer 생성
Lighting 계산
GUI 렌더링

 

당시에는 구현에 급급하여 특별한 기능 없이 기본적인 렌더링만 구현했고, 

전체적으로 러프한 형태로 작업이 진행되었습니다. 
이제는 그동안 구축한 시스템을 기반으로 좀 더 업그레이드하여 성능과 시각적 퀄리티를 향상시키고자 합니다.

Vulkan을 사용하면서 Ray Tracing (RT) 기술에 대해 자연스럽게 관심이 생겼습니다. 
이에 따라, RT Reflection을 시작으로 Global Illumination을 도입하려고 합니다. 
또한 이미 PBR 을 구현해 놓았기 때문에
이를 RT와 결합하여 보다 사실적인 렌더링을 목표로 하고 있습니다.


Ray Tracing Reflection
먼저 RT Reflection을 구현하여, 
현실감 있는 반사 효과를 도입할 계획입니다. 
기존의 방식으로는 표현하기 어려운 고급 반사 효과를 Ray Tracing을 통해 구현할 수 있습니다. 
특히, PBR의 반사 모델과 결합하면 물체의 표면 상태에 따라 반사가 자연스럽게 변하는 효과를 만들 수 있습니다.

RT Global Illumination (GI) 도입
그 다음에는 Global Illumination을 도입해 빛의 간접적인 영향을 처리할 것입니다. 
RT GI를 사용하면 빛의 반사와 확산 효과를 더 정교하게 구현할 수 있어, 
보다 자연스럽고 사실적인 조명 효과를 얻을 수 있습니다. 

 

우선 위의 엔진을 그대로 받아오기에는

불안정한점이 많아

물리엔진, 스크립트, 애니메이션부분을 제거하고

코드 리펙토링을 먼저 진행한 후 작업에 들어갈 예정입니다.

  

앞으로의 프로젝트는 여기에 올립니다.

https://github.com/ksro0128/vulkanRT

 

ksro0128/vulkanRT

Contribute to ksro0128/vulkanRT development by creating an account on GitHub.

github.com

 

'Computer Graphics > Project' 카테고리의 다른 글

20250409  (0) 2025.04.09
20250408  (0) 2025.04.08
20250407  (0) 2025.04.07
20250403  (0) 2025.04.04
20250402  (0) 2025.04.03