로봇0301 2023. 1. 10. 02:50

게임 엔진

빠르고 효율적으로 게임을 개발할 수 있게 게임 제작에 필요한 여러 기능을 통합해 제공하는 소프트웨어

게임 엔진의 구성

렌더링

GPU가 처음 나왔을 때 GPU는 렌더링에 관련된 기능만 제공하게끔 설계됐고, 게임 제작에서 렌더링은 모두 GPU의 정해진 공정에 따라 처리됐다.

최근 언리얼 엔진이 발표한 나나이트 기술은 전통적인 GPU의 렌더링 공정을 사용하지 않았다.

언리얼 엔진은 직접 렌더링 방법(나나이트)을 고안해 기존 렌더링 기술의 표현력을 한 단계 진일보시켰다.

렌더링 작업을 GPU에 맡겼던 과거와 달리, 렌더링 자체에 관련된 원천 기술에 대한 가치가 더욱 커졌다.

선형대수학

가상 세계에 관한 수학은 큰 틀에서 보면 선형대수학의 일종이라 볼 수 있다.

일반적인 선형대수학은 해를 구하는데 치중하는 반면, 가상세계에 관한 선형대수학은 렌더링을 위한 공간의 구조를 분석하고 데이터를 다루는 데 고도화되어있다.

컴퓨터 그래픽스

렌더링을 중심으로 선형대수학 이론과 기법을 다루는 학문이다.

실시간 렌더링Realtime rendering

화면에 보이지 않는 불필요한 물체를 걸러내고 보이는 물체의 단면만 빠르게 그려내는 종류의 렌더링

게임 기술이 실시간 렌더링으로 분류된다.

벡터 수학Vector math

가상 공간을 다룰 때 쓰이는 수학을 일컫는다.

언리얼 엔진의 개발사 에픽 게임즈 사에서는 테크니컬 아티스트가 갖춰야 할 첫번쨰 역량으로 벡터수학을 꼽기도 했다.

게임 수학

이 책은 가상 공간을 구축하고, 변환하고 분석하는 데 사용하는 벡터 수학을 정리했다.

또한 벡터 수학 위에서 움직이는 캐릭터를 모니터 화면에 렌더링하기 위해 필요한 이론과 응용방법을 모두 정리했다.

이 과정에서 사용되는 수학을 통틀어 게임 수학이라고 부르기로 했다.

그렇다면 게임 수학은 무엇으로 구성될까

 

 

공간을 다루는 수학 : 벡터 -> 행렬

물체를 다루는 수학 : 점 -> 삼각형

회전을 다루는 수학 : 삼각함수 -> 사원수

 

공간을 다루는 수학

가상 공간을 구축하고 변환하고 분석하는 데 사용되는 수학을 의미한다.

가상 공간은 벡터로 구성되며 행렬이라는 도구를 사용하면 원하는대로 변환이 가능하다.

물체를 다루는 수학

물체의 외형을 설정하고 이를 모니터 화면에 표현하는 데 사용되는 수학을 의미한다.

 

현실 세계에서 그림을 그릴 때에는 선으로 다양한 형태와 질감을 표현하지만, 컴퓨터그래픽은 오로지 삼각형을 사용해 물체를 표현한다.

물체를 구성하는 삼각형을 생성하고 관리하기 위해서는 점으로부터 하나씩 체계를 쌓아나가야한다.

 

추상적인 수들로 구성된 가상공간이 모니터 화면을 구성하는 픽셀Pixel로 변환되게 하려면 일련의 규칙을 설정하고 이를 프로그래밍해야한다.

이를 픽셀화Resterization이라고 부른다.

 

점이 발전해 선이 되고 선이 발전해 삼각형이 되고 삼각형이 모여 물체가 되는 전체 과정은 물론, 이에 관련된 수학 개념과 응용 방법을 이해해야 모니터 화면에 비로소 물체를 그려낼 수 있다.

회전을 다루는 수학

그냥 물체를 자유롭게 회전시킬 수 있게 해주는 수학