1992년 id Software가 최초의 3차원 게임인 Wolfenstein 3D(그림 1)를 선보인 이래, 3차원 게임은 게임 시장에서 주류의 자리를 차지하게 되었다. 저사양의 하드웨어에서 구동되는 모바일 게임을 제외하고는 현재 대부분의 게임이 3차원으로 제작된다고 보아도 무방할 것이다. 이 같은 시장 수요에 부응하여 다수의 3차원 렌더링 엔진이 개발되었는데, 대표적인 것으로는 id Software의 Doom Ⅲ, Criterion의 Renderware, Epic Games의 Unreal Ⅱ 및 Ⅲ, Intrinsic의 Alchemy, NDL의 GameBryo 등이 있다. (중략)
1992년 id Software가 최초의 3차원 게임인 Wolfenstein 3D(그림 1)를 선보인 이래, 3차원 게임은 게임 시장에서 주류의 자리를 차지하게 되었다. 저사양의 하드웨어에서 구동되는 모바일 게임을 제외하고는 현재 대부분의 게임이 3차원으로 제작된다고 보아도 무방할 것이다. 이 같은 시장 수요에 부응하여 다수의 3차원 렌더링 엔진이 개발되었는데, 대표적인 것으로는 id Software의 Doom Ⅲ, Criterion의 Renderware, Epic Games의 Unreal Ⅱ 및 Ⅲ, Intrinsic의 Alchemy, NDL의 GameBryo 등이 있다. (중략)
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 원고에서는 렌더링 엔진을 low-level API, high-level API, 실시간 렌더링 이슈의 세 부분으로 나누어 간략히 고찰해 보았다. 실시간 렌더링 이슈는 매우 방대하여, 다양한 연구 분야가 존재한다.
본 원고에서는 렌더링 엔진을 low-level API, high-level API, 실시간 렌더링 이슈의 세 부분으로 나누어 간략히 고찰해 보았다. 실시간 렌더링 이슈는 매우 방대하여, 다양한 연구 분야가 존재한다.
상용 게임 엔진은 이들 알고리즘의 최적화된 구현물을 제공해야 한다. 본 원고에서는 방대한 분량의 실시간 렌더링 내용을 정리 하는 대신, 'LOD 지형 렌더링'을 예로 들어 실시 간 이슈를 설명하고자 한다.
본 원고에서는 방대한 분량의 실시간 렌더링 내용을 정리 하는 대신, 'LOD 지형 렌더링, 을 예로 들어 실시간 이슈를 설명하고자 한다.
이 절에서 우리는 OpenGL과 DirectX를 기준으로 (shader 코딩 을 포함한) low-level API에 대해 살펴보았다. 하나의 게임 엔진이 OpenGL과 DirectX 중 하나의 API만을 지원한다면, 이식성에서의 문제가 대두된다.
이 절에서 우리는 OpenGL과 DirectX를 기준으로 (shader 코딩 을 포함한) low-level API에 대해 살펴보았다. 하나의 게임 엔진이 OpenGL과 DirectX 중 하나의 API만을 지원한다면, 이식성에서의 문제가 대두된다.
가설 설정
이 같은 방식으로 생성된 지형 LOD 문제점은, 지형 표면의 실제 곡률을 전혀 고려하지 않았다는 데 있다. 예를 들어, 평원 지형에서는 그림 5(b) 오른쪽과 같은 거친 (coarse) LOD를 이용해 렌더링해도 문제가 없겠지만, 산악 지형의 경우는 상세한(fine) LOD를 사용해야 하는데 , 그림 5(b)와 같은 기계적인 방식으로는 이 같은 선별적 (selective) LOD를 달성할 수 없다는 것이다.
이 같은 방식으로 생성된 지형 LOD 문제점은, 지형 표면의 실제 곡률을 전혀 고려하지 않았다는 데 있다. 예를 들어, 평원 지형에서는 그림 5(b) 오른쪽과 같은 거친 (coarse) LOD를 이용해 렌더링해도 문제가 없겠지만, 산악 지형의 경우는 상세한(fine) LOD를 사용해야 하는데 , 그림 5(b)와 같은 기계적인 방식으로는 이 같은 선별적 (selective) LOD를 달성할 수 없다는 것이다.
제안 방법
위에서 기술한 기법은 Lindstrom">이 제안한 것으로, 실제 구현에 있어서는 에러 계산을 근사화 시켜 프레임율을 극대화하였고, 동시에 crack 방지 등을 위한 복잡한 삼각화 기법을 제안하였다.
위에서 기술한 기법은 Lindstrom14)이 제안한 것으로, 실제 구현에 있어서는 에러 계산을 근사화시켜 프레임율을 극대화하였고, 동시에 crack 방지 등을 위한 복잡한 삼각화 기법을 제안하였다. 한편, 실제 게임 개발에 있어서는 Lindstrom 기법보다 더욱 최적화된 다른 기법15,16)들이 사용되지만, 선별적 LOD를 생성하는 근본적인 원리는 동일하다고 볼 수 있다.
성능/효과
또한, 최근 발표된 Unreal Ⅲ 엔진도 DirectX 9.0과 Shader 3.0을 이용하여 매우 사실적인 영상을 실시간에 렌더링할 수 있음을 보여줬는데, 5, 200개 다각형으로 구성된 모델(그림 3: 중앙)을 normal map과 displacement mapping을 사용하여 렌더링하여 마치 2백만개의 다각형으로 구성된 모델(그림 3: 왼쪽)을 렌더링한 것과 같은 효과를 나타내었다(그림 3: 오른쪽).
Doom III에서의 bump mapping, 유명한 Dead or Alive Xtreme (DOAX) Beach Volleyball 게 임의 스키닝 애니메이션, 최근 관심을 끌고 있는 High Dynamic Range 렌더링 및 카툰 렌더링 기법들은 모두 shader program의 결과물이다. 또한, 최근 발표된 Unreal III 엔진도 DirectX 9.0과 Shader 3.0을 이용하여 매우 사실적인 영상을 실시간에 렌더링 할 수 있음을 보여줬는데, 5,200개 다각형으로 구성된 모델(그림 3: 중앙)을 normal map과 displacement mapping을 사용하여 렌더링하여 마치 2백만개의 다각형으로 구성된 모델(그림 3: 왼쪽)을 렌더링한 것과 같은 효과를 나타내었다(그림 3: 오른쪽).
※ AI-Helper는 부적절한 답변을 할 수 있습니다.