KR20240140624A - 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 - Google Patents
고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 Download PDFInfo
- Publication number
- KR20240140624A KR20240140624A KR1020230035237A KR20230035237A KR20240140624A KR 20240140624 A KR20240140624 A KR 20240140624A KR 1020230035237 A KR1020230035237 A KR 1020230035237A KR 20230035237 A KR20230035237 A KR 20230035237A KR 20240140624 A KR20240140624 A KR 20240140624A
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- rendering
- vertex
- vfx
- smart
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 41
- 239000012634 fragment Substances 0.000 claims abstract description 26
- 230000000007 visual effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 206010034960 Photophobia Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 208000013469 light sensitivity Diseases 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/08—Digital computers in general; Data processing equipment in general using a plugboard for programming
- G06F15/10—Tabulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
본 발명은 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법에 관한 것으로서, 전역 좌표계 상에서 주어진 픽셀의 모든 꼭지점이 픽셀 그리드 평면에 투영된 이미지 내부에 존재하는지 여부를 판단하는 단계; 상기 픽셀이 다수의 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 상기 픽셀 조각의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및 상기 픽셀 조각의 각 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 상기 픽셀의 색상을 구하는 단계를 포함하고, 랜더링 클라이언트에서 실제 면적 평균을 사용하여 색상을 계산하는 앤티앨리어싱 방법이다.
Description
기하 기반 랜더링(Geometry based rendering: 이하, 'GBR'이라 칭함)은 3차원 그래픽 객체(Graphic Object)의 기하학적 모델(Geometric Model)에 근거하여 만들어진 와이어 프레임 메쉬 모델(Wire Frame Mesh Model)을 카메라로 찍어낸 것처럼 합성하는 기법을 말한다. 일반적으로 3차원 컴퓨터 그래픽은 GBR을 지칭하며, 실사적인 GBR은 기하학적 모델의 복잡성 및 디스플레이하는 상세도(Level of Detail)에 따라 많은 연산과 메모리 액세스를 필요로 한다.
최근의 컴퓨터 그래픽은 GBR뿐만 아니라 이미지 기반 랜더링(Image Based Rendering: 이하, 'IBR'이라 칭함)도 포함한다. IBR은 미리 캡쳐된 다수의 이미지를 이용하여 새로운 카메라의 위치, 시간 및 환경에 따라 이미지를 만들어내는 기법을 말한다. 이때, 캡쳐된 이미지들을 이용하여 랜더링되는 장면에 적합한 이미지를 합성할 때, 좌표이동, 확대 및 수축 회전 등을 고려하여 이미지 워핑(Image Warping), 이미지 모핑(Image Morphing) 및 투시 변환(Perspective Transformation)(영상의 시각에 따른 변환)이 가장 흔히 사용된다.
더욱 빠르고, 사실적인 랜더링을 위하여 점차 IBR과 GBR이 혼합되어 사용되는 추세이다. 특히, 애니메이션의 경우 물체나 카메라가 움직일 때, 매번 새 프레임을 새로 랜더링하는 것보다 과거에 만들어진 프레임을 업데이트하는 것이 효율적이다.
GBR에서 물체(Geometric Object, Triangle, Polygon)를 랜더링할 때, 물체의 물질 특성에 따라 이미지를 합성하는 것보다, 미리 캡쳐된 이미지를 랜더링하려는 물체의 표면에 자리를 맞추어 부착시키는 방법이 자주 사용된다. 이러한 기법을 텍스쳐 매핑(Texture Mapping)이라 하며, 이때 이미지는 주어진 시각에 따라 투시 보정(Perspective Correct)되어야 한다. 이러한 면에서, 텍스쳐 매핑은 IBR과 매우 비슷한 연산을 하게 된다.
한편, 컴퓨터 그래픽을 빠른 속도로 랜더링하기 위해서, 종래에는 도 1과 같은 하드웨어 기반의 가속기인 그래픽 처리 파이프라인(Graphics Processing Pipeline)을 사용한다.
도 1을 참조하면, 종래의 그래픽 처리 파이프라인은 랜더링하려는 물체 예컨대, 삼각형의 세 꼭지점을 카메라를 원점으로 하는 4차원 동차 좌표 기반의 정규 뷰 볼륨(Canonical View Volume) 상의 좌표로 변환하고(S110), 이 좌표로 표기된 이미지들에서 뷰 볼륨 외부에 있는 부분을 잘라내는 클리핑(Clipping)(S120) 과정을 거친 후, 이를 화면 상에 투영하며(S130), 화면에 투영된 이미지들의 세 꼭지점에 부여된 색상을 이용하여 선형 보간(Linear Interpolation)으로 이미지 내부의 색상을 계산(Rasterization)(S140)하여 스크린으로 보낸다.
기존의 그래픽 처리 파이프라인은 하드웨어의 복잡성을 줄이기 위하여 기하학적인 데이터를 모두 카메라 또는 눈을 원점으로 하는 정규 시각 공간(Canonical Eye Space)으로 좌표변환하고, 물체를 3차원 공간에서 2차원 공간으로 투영할 때 3차원 공간을 4차원으로 연장한 동차 공간(Homogeneous Space)을 사용한다. 동차 공간을 사용하면, 투시 투영(Perspective Projection)에 필요한 모든 좌표변환을 묶어 하나의 4 x 4 행렬을 곱하여 연산할 수 있는 장점이 있다. 한편, 동차 투영(Homogeneous Projection)의 특성상, 랜더링하기 전에 카메라 뒤에 있는 물체가 뒤집어져 나타나는 현상을 방지하기 위하여, 랜더링되는 공간인 뷰 프러스텀(View Frustum)을 정의하고, 이 공간 외부에 있는 물체를 미리 잘라주는 뷰 프러스텀 클리핑(View Frustum Clipping)이 선행되어야 한다. 동차 공간에서는 하드웨어 기반의 가속기로 클리핑을 쉽게 수행할 수 있다.
3차원 공간에서 주어진 와이어 프레임은 그 표면이 수많은 삼각형의 조각으로 구성되며, 각 와이어 프레임의 꼭지점(Vertex)마다 물체의 특성에 따라 여러 가지의 속성(색, 밝기, texture, 투명도 및 반사도 등)이 주어진다. 여기서, 주어진 속성은 물체의 주위 환경, 광원 특성, 광원의 수에 따라 색, 밝기 등이 달라진다. 기존의 그래픽 처리 파이프라인에서는 비교적 간단한 조명모델(Illumination Model)을 사용하며, 필요에 따라 여러 차례의 연산으로 쉐이더(Shader)를 사용하여 1차 랜더링된 것을 보완하게 된다.
래스터화(Rasterization) 단계에서는 2차원 공간으로 투영되는 삼각형 내부에 들어오는 각 픽셀마다 삼각형의 세 꼭지점에서 정의된 속성 데이터를 사용하여 적절한 색상을 결정하고, 스크린 버퍼(Screen Buffer)에 기록하게 된다. 이 단계는 하드웨어 기반의 가속기를 사용하며, 간단한 연산자를 사용하여 세 꼭지점의 색을 선형 보간(Linear Interpolation)으로 계산한다. 선형 보간에 의한 계산은, 물체가 가까이 있고 넓은 시각에 분포되어 있는 경우에는, 원근 왜곡이 심하게 되기 때문에, 이를 해결하려면 투시 보정 보간(Perspective Correct Interpolation)을 사용하여야 한다. 이러한 왜곡은 특히 텍스쳐 매핑의 경우를 포함하며, 사용자에게 거부감을 준다.
한편, 반도체 기술의 발전으로 그래픽 처리 장치(Graphics Processing Unit: GPU)의 연산속도 및 성능이 급속히 증가되며, 랜더링 기술도 SIMD(Single Instruction Multiple Data) 구조를 가지는 프로그램 쉐이더(Programmable Shader)가 핵심을 이루게 되었고, 더욱 현실적인 랜더링을 위하여 많은 연산이 사용되는 광추적(Raytracing) 기법이 보편화되는 추세이다.
광추적 기법은 카메라에서 화면을 통하여 물체로 직진하는 광선을 내보내어 물체와의 교점을 구하고, 여러 광원으로부터 그 교점에 도달하는 빛이 반사되어 픽셀에 도달하는 광 강도(Light Intensity) 및 색상의 합계를 계산하여 샘플링한다.
광추적 기법은 물체가 투명체, 반투명체 및 반사체인 경우에도 적용된다. 광선이 이러한 물체와 만나면, 그 점에서 굴절 혹은 반사의 법칙을 이용하여 새 광선의 진로(Path, Direction)를 정해 새로운 광선을 내보내고, 이 새로운 광선과 다른 물체와의 교점을 구하고 이러한 과정을 반복하여 최종 색상을 구할 수 있다. 또한, 교점에서 색상을 계산할 때 광원에서 출발한 빛이 그 교점에 비추어지는 정도(Light Source Visibility)에 따라 명암 및 색상을 조정하게 된다.
하지만, 광추적 기법 역시 포인트 샘플링(Point Sampling)에 의한 값을 사용하여 앨리어싱(Aliasing)이 발생 가능하기 때문에, 이를 해결하는 방법으로 한 픽셀당 여러 광선을 내보내 픽셀 평균치를 사용하는 슈퍼 샘플링(Super Sampling)이 안티앨리어싱 방법으로 주로 사용된다.
본 발명은 저전력 소모를 요구하는 모바일 장치 환경에서, IBR과 GBR을 하나의 플랫폼으로 효율적으로 수행하여 투시 보정(Perspectively Correct)하고, 실제 면적 평균(True Area Average)을 이용하는 안티앨리어싱을 수행함으로써, 고품질의 이미지를 랜더링하는 알고리즘, 하드웨어 소프트웨어 아키텍쳐를 구현하기 위한 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 제공한다.
멀티미디어 단말기용 콘텐츠들이 고급화 및 다양화됨에 따라 모바일 멀티미디어 SoC(System on Chip)는 낮은 전력소모로 빠른 시간 내에 시각적으로 충실한 화질의 영상을 만들어내는 고성능을 요구하고 있다. 고화질의 멀티미디어 단말기의 응용분야로 게임, 애니메이션 및 네비게이션 등은 전송 대역폭을 줄이기 위하여 압축된 3차원 그래픽 데이터의 형태로 멀티미디어 단말기로 전송되며, 멀티미디어 단말기에서는 압축된 데이터를 이용하여 이미지를 구현하게 된다.
한편, 그래픽 랜더링은 특정 카메라에 보여지는 것처럼 장면을 합성하는 것이다. 이때 합성된 이미지의 픽셀 데이터는 각 픽셀의 중심점 샘플이 아니라, 카메라의 광 민감도 특성을 고려하여 각 픽셀에 도달하는 광 강도(Light Intensity)와 각 픽셀 면적 상의 평균값을 사용해야 한다.
만약, 광 강도가 이미지 샘플링 포인트 간격보다 적은 공간에서 빠르게 변화한다면, 포인트 샘플로 구성된 이미지는 빠른 변화에 의한 효과를 바르게 나타내지 못하고, 시각적으로 거북하게 느껴질 수 있다.
이러한 앨리어싱(Aliasing)은 충분한 샘플링을 통하여 줄일 수 있지만, 포인트 샘플링에서는 이미지의 픽셀 크기보다 더 작은 공간에서의 변화로 인해 언제든지 앨리어싱이 생길 수 있으며, 물체 간 경계선에 날카로움이 생기거나, 주기가 빠르게 변하는 영역에서는 심한 왜곡이 생기고, 특히 애니메이션의 경우 픽셀 점멸 현상이 나타나게 된다. 이러한 원근 왜곡을 배제하려면 포인트 샘플이 아닌 영역 샘플이 사용되어야 한다.
이러한 앨리어싱을 없애기 위해, 고정 함수 그래픽 파이프라인(Fixed Function Graphics Pipeline)에서는 래스터화 후, 후처리 필터(Post Processing Filter)를 사용하여 처리하거나 각 픽셀당 여러 샘플을 취하여 평균값을 구하는 슈퍼 샘플링(Super Sampling) 방법이 사용된다.
하지만, 슈퍼 샘플링 역시 경우에 따라 앨리어싱 현상이 나타날 수 있고, 래스터화 단계에서 삼각형 내의 색, 밝기를 결정할 때, 꼭지점 데이터를 사용한 선형 보간(Linear Interpolation)을 사용하면, 물체가 가까이 있고 넓은 시각에 분포되어 있는 경우, 원근감을 바르게 나타내지 못하여 원근 왜곡(Perspective Distortion) 현상이 생기며, 이를 해결하려면 원근감을 바르게 다루는 투시 보정 매핑(Perspective Correct Mapping)을 사용하여야 한다. 또한, IBR 기법이 보편화, 다양화되면서, 이에 필요한 원근 보정 연산을 필요로 한다.
따라서, 종래에는 그래픽 처리로 랜더링하는 데 많은 연산을 필요로 하고, 많은 데이터 액세스를 필요로 하며, 이는 바로 전력소모 및 성능저하로 이어지는 문제점이 있었다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 컴퓨터 그래픽을 랜더링할 때, 연산량을 줄여주기 위한 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적은 컴퓨터 그래픽을 랜더링할 때, 이미 액세스된 데이터를 최대한 재사용하여 메모리 액세스를 줄여주고, 여러 병렬 연산자를 사용하는 경우 각 연산자 간의 데이터 상관관계를 줄여 메모리 액세스 경합을 줄여주기 위한 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 제공한다.
본 발명의 다른 목적은 저전력 소모를 요구하는 모바일 장치 환경에서, IBR과 GBR을 하나의 플랫폼으로 효율적으로 수행하여 고품질의 이미지를 랜더링하기 위한 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 제공한다.
본 발명의 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템은 전역 좌표계 상에서 꼭지점 쉐이딩을 통하여 3차원으로 표시된 물체의 기하학적 모델의 각 꼭지점의 속성을 결정하고, 상기 각 꼭지점의 속성을 나타내는 꼭지점 데이터를 생성하는 랜더링 서버; 및상기 생성된 꼭지점 데이터와 기저장된 이미지를 이용하여 랜더링을 수행하고 새로운 이미지를 생성하는 다수의 랜더링 클라이언트;를 포함한다.
또한, 상기 다수의 랜더링 클라이언트는 고정 소수점 산술 프로세서(Fixed Point Arithmetic Processor)를 사용하는 것을 특징으로 한다.
또한, 상기 다수의 랜더링 클라이언트는 주어진 장면의 시점, 시각 및 화면 영역에 따라 각각 선택적으로 사용되는 것을 특징으로 한다.
본 발명의 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법은 전역 좌표계 상에서 주어진 픽셀의 모든 꼭지점이 픽셀 그리드 평면에 투영된 이미지 내부에 존재하는지 여부를 판단하는 단계;상기 픽셀이 다수의 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 상기 픽셀 조각의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및상기 픽셀 조각의 각 꼭지점의 색상값의 합을 (픽셀 조각의 면적 *픽셀 조각의 꼭지점 개수)로 나누어 상기 픽셀의 색상을 구하는 단계;를 포함한다.
이상에서 설명한 바와 같이 본 발명에 의하면, IBR과 GBR을 하나의 플랫폼으로 랜더링을 수행하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 제공함으로써, 고품질의 이미지를 효율적으로 처리하는 효과가 있다.
또한, 컴퓨터 그래픽을 랜더링할 때 고정 소수점 산술 프로세서를 사용함으로써, 랜더링을 저전력 소모로 효율적으로 수행할 수 있다.있다
도 1은 종래의 그래픽 처리 파이프라인의 처리 과정을 나타낸 도면,
도 2는 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템을 나타낸 도면,
도 3은 전역 좌표계 상에서 픽셀을 통과하는 광선과 투영된 삼각형의 교점을 구하는 방법을 설명하기 위한 도면,
도 4는 본 발명의 픽셀 조각의 길이와 면적과의 관계를 나타낸 그래프,
도 5는 전역 좌표계 상에서 픽셀에 의해 분할되는 교점을 계산하는 방법을 설명하기 위한 도면,
도 6은 본 발명의 일실시예에 따른 앤티앨리어싱 광추적 기반의 래스터화 방법을 나타낸 알고리즘,
도 7은 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템을 나타낸 도면,
도 3은 전역 좌표계 상에서 픽셀을 통과하는 광선과 투영된 삼각형의 교점을 구하는 방법을 설명하기 위한 도면,
도 4는 본 발명의 픽셀 조각의 길이와 면적과의 관계를 나타낸 그래프,
도 5는 전역 좌표계 상에서 픽셀에 의해 분할되는 교점을 계산하는 방법을 설명하기 위한 도면,
도 6은 본 발명의 일실시예에 따른 앤티앨리어싱 광추적 기반의 래스터화 방법을 나타낸 알고리즘,
도 7은 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 나타낸 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
실시예
도 2는 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템을 나타낸 도면이다.
도 2에 도시된 바와 같이, 본 발명에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템(200)은 랜더링 서버(210)와 랜더링 클라이언트(220)로 분할된다.
본 발명에 따른 랜더링 클라이언트(220)는 랜더링 서버(210)에서 주어지는 압축 데이터와 기저장된 데이터 즉, 이미지를 이용하여 새로운 이미지를 만들어내고, 랜더링 서버(210)의 일부 기능을 포함할 수도 있다.
랜더링 클라이언트(220)는 랜더링을 저전력 소모로 효율적으로 수행하도록 고정 소수점 산술 프로세서(Fixed Point Arithmetic Processor)를 사용한다.
본 발명에 따른 랜더링 서버(210)는 응용 프로그램 인터페이스를 통하여 애니메이션이나 게임 등과 같은 응용 프로그램과 인터페이스되고, 기하학적 모델을 랜더링 클라이언트(220)에서 랜더링할 수 있도록 미리 처리하여, 랜더링 클라이언트(220)가 필요로 하는 데이터를 압축하여 전송하고, 랜더링 클라이언트(220)의 랜더링 동작에 따라 랜더링 클라이언트(220)가 필요로 하는 데이터를 미리 전송할 수도 있다.
본 발명에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템(200)은 랜더링 서버(210)를 기하학적 엔진(Geometry Engine), 랜더링 클라이언트(220)를 랜더링 엔진(Rendering Engine)으로 정의하고, 적어도 하나 이상의 랜더링 클라이언트를 포함하여, 랜더링 클라이언트에서 랜더링 서버(210)의 일부 기능을 수행할 수도 있다.
본 발명에 따른 랜더링 서버(210)와 랜더링 클라이언트(220)에서는, 랜더링 서버(210) 하나가 주어진 장면을 여러 개의 다른 시점, 다른 시각, 다른 화면 영역으로 각각 사용하는 다수의 랜더링 클라이언트를 가질 수 있다.
랜더링 서버(210)는 전역 좌표계(World Coordinate System; WCS) 상에서 조명모델 및 주위환경을 고려하여 주어진 데이터의 각 꼭지점에 색, 밝기, 텍스쳐 및 투명도 등을 포함하는 속성을 결정한다. 이러한 기능은 꼭지점 쉐이더(Vertex Shader) 및 쉐도윙(Shadowing)을 복합한 것으로 볼 수 있다.
랜더링 서버(210)는 이러한 꼭지점 쉐이딩을 끝내고, 각 랜더링 클라이언트(220)에 맞게 은면(Hidden Surface)이 제거된 꼭지점 데이터(Vertex Data)를 보낸다.
본 발명에 따른 랜더링 클라이언트(220)는 랜더링 서버(210)에서 카메라 데이터를 기반으로 샘플링 그리드(Sampling Grid)를 정하여 기하학적 엔진에 의해 전달된 꼭지점 데이터에 의거하여 랜더링을 수행하게 된다. 랜더링 클라이언트(220)에서 꼭지점 데이터를 이용하여 랜더링을 수행하는 구체적인 방법에 대해서는 도 3 내지 도 5에서 후술하기로 한다.
도 3은 전역 좌표계 상에서 픽셀을 통과하는 광선과 투영된 이미지의 교점을 구하는 방법을 설명하기 위한 도면이다.
도 3은 전역 좌표계 상에서 3차원으로 표시된 물체(310)의 꼭지점 및 카메라 좌표를 사용하고, 카메라의 픽셀들을 통과한 빛이 물체에서 반사되어 카메라의 픽셀에 투영되는 관계를 나타낸다. 즉, 물체(310) 내의 임의의 점에서 출발한 빛이 카메라로 진행할 때, 디스플레이 화면(320) 상에 투영되는 점을 나타낸다.
도 3을 참조하면, 단위 벡터 ez는 카메라의 시선 방향을 정의하는 단위 벡터이며, ey는 카메라 공간의 위쪽 방향(y축)을 정의하는 단위 벡터이고, ex는 카메라 공간의 수평축(x축)을 정의하는 단위 벡터로서, 카메라 공간의 세 개의 단위 기초 벡터를 이룬다.
이 카메라 공간의 단위 벡터들을 전역 좌표계의 좌표로 표기하고, 스크린(320) 상의 샘플 포인트 x축, y축 인덱스값을 kx, ky라 하면, S(kx, ky)는 전역 좌표계로 표기된 스크린 샘플 포인트(Screen Sample Point)가 된다. 광추적이란 카메라 원점(E)에서 출발하여 픽셀(kx, ky)를 통과하는 시선이 물체와 만나는 교점(Ray-triangle Intersection)의 색상을 계산하는 방법을 의미한다.
도 4는 본 발명의 픽셀 조각의 길이와 면적과의 관계를 나타낸 그래프이다.
도 4를 참조하면, 주어진 픽셀에 여러 이미지가 걸쳐있는 경우, 픽셀 조각의 길이(λ) 및 면적(a)을 직선(410)과 픽셀 중심(420) 간의 거리(d')로 표기한 그래프로서, 이 조각의 길이 함수(430)와 면적 함수(440)는 직선(410)의 기울기(m)에 따라 다르게 변화하는데, 이 함수는 미리 계산하여 룩업 테이블(Look up Table)로 만들어, 픽셀의 색상을 구할 때 사용된다.
도 5는 전역 좌표계 상에서 픽셀에 의해 분할되는 교점을 계산하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 물체의 투영된 이미지 경계가 픽셀 내부를 통과할 때 여러 개의 픽셀 조각이 생기는 것을 나타내며, 이러한 픽셀 조각의 모든 꼭지점의 좌표를 계산한다.
모든 픽셀 조각의 꼭지점에서의 색상도 원래의 이미지의 꼭지점 값을 이용하여 연산 가능하다. 전역 좌표계로 표기된 3차원 공간에 정의된 직선이 화면의 x축 픽셀 그리드에 의하여 공간 분할하는 평면과의 교점을 계산하는 방법을 보여준다. 같은 방법으로 모든 픽셀 그리드의 x-화면 방향, y-화면 방향에서 계산되며, 시각적으로 바르게 계산된다. Nx는 kx 픽셀 그리드 평면의 법선 벡터(Unit Normal Vector)이고, RA, RB는 전역 좌표계의 3차원 좌표, E는 전역 좌표계 상의 카메라 위치를 나타낸다. 교점에서의 색상 계산은 점 A와 점 B의 색상을 선형 보간으로 계산한다.
도 6은 본 발명의 일실시예에 따른 앤티앨리어싱 광추적 기반의 래스터화 방법을 나타낸 알고리즘이다.
도 6을 참고하면, 본 발명은 픽셀 코너 샘플링(Pixel Coner Sampling)을 사용하는 광추적 기법을 기반으로 하는 래스터화를 제시한다. 즉, 픽셀이 투영된 다수의 이미지에 의해 나눠지는 경우 나눠진 픽셀 조각의 각 꼭지점의 색, 밝기를 보간하여 각 꼭지점의 색상값을 계산하고, 모든 꼭지점의 색상값과 픽셀 조각의 면적을 이용하여 픽셀의 색상 면적평균값을 산출한다.
도 7은 본 발명의 일실시예에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법을 나타낸 흐름도이다.
본 발명에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법은 기존의 동차 좌표계(Homogeneous Coordinate System)를 사용하지 않고, 전역 좌표계(World Coordinate System, 이하, 'WCS'라 칭함)로 표시된 데이터를 사용하여 광추적(Ray Tracing) 기법과 기존의 래스터화(Rasterization)의 장점을 사용하여 높은 화질의 화면을 빠른 속도로 랜더링하게 된다. WCS를 사용하기 때문에 카메라 뒤에 있는 물체를 미리 클리핑(Clipping)하지 않고, 4차원 연산이 아닌 3차원 벡터 연산을 사용하여 랜더링에 필요한 계산을 수행한다.
즉, 본 발명에 따른 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법은 클라이언트 디스플레이 화면 영역 즉, 2차원 공간 영역을 임의로 여러 개로 겹치지 않게 분할하고, 분할된 영역마다 병렬 벡터 연산자를 사용하여 기하 기반 랜더링(Geometry based rendering: 이하, 'GBR'이라 칭함)과 이미지 기반 랜더링(Image Based Rendering: 이하, 'IBR'이라 칭함)을 수행함으로써, 랜더링하는 병렬처리 기법이다.
도 7을 참조하면, 조명모델 및 주위환경을 고려하여 전역 좌표계(World Coordinate System; WCS) 상에 주어진 픽셀의 네 꼭지점이 투영된 이미지의 내부에 존재하는지 여부를 판단하고(S710), 주어진 픽셀의 네 꼭지점이 투영된 이미지 내부에 존재하는 경우, 픽셀의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 픽셀의 각 꼭지점의 색상값을 계산하며(S712), 픽셀의 각 꼭지점의 색상값의 평균치를 계산하여 픽셀의 색상을 구한다(S714).
단계 S710에서 주어진 픽셀이 여러 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간으로 픽셀 조각의 각 꼭지점의 색상값을 계산한다(S720). 여기서, 기설정된 물체와의 거리, 깊이 폭 및 시각 분포에 따라 물체가 가까이 있고 넓은 시각에 분포되어 있는 투시 보정 모드(Perspective Correct Mode)를 만족하는 경우, 투시 보정 보간(Perspective Correct Interpolation)을 사용하여 픽셀 조각의 각 꼭지점의 색상값을 계산하고, 물체가 멀리 있고 좁은 시각에 분포되어 있는 약 투시 모드(Weak Perspective Mode)를 만족하는 경우, 선형 보간(Linear Interpolation)을 사용하여 픽셀 조각의 각 꼭지점의 색상값을 계산한다. 즉, 투영된 이미지와 물체 간의 깊이 편차(다양한 시점에서 투영된 이미지 면적과 물체 면적 간의 평균 편차)가 1/10 이상인 경우, 원근 보정 보간(Perspective Correct Interpolation)하고, 투영된 이미자와 물체 간의 깊이 편차가 1/10 미만인 경우 선형 보간(Linear Interpolation)하여 픽셀 조각의 각 꼭지점의 색상값을 구한다.
이어서, 픽셀 조각의 모든 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 해당 픽셀의 색상 면적평균값 즉, 색상을 구한다(S730). 즉, 픽셀이 여러 이미지에 걸쳐 있는 경우, 각 이미지별로 픽셀 조각은 언제나 삼각형이나 사각형이 되며, 사각형이 되는 경우에는 다시 삼각형과 평행사변형(마름모, 직사각형 등)으로 분할할 수 있다. 따라서, 이러한 삼각형, 마름모의 모든 꼭지점의 색, 밝기를 보간하여 계산할 수 있고, 삼각형, 평행사변형의 면적에 의한 색상 면적평균값을 정확하게 계산할 수 있다. 자세하게는, 삼각형에 의한 색상 면적평균값은 세 꼭지점의 색, 밝기의 합을 삼각형 면적의 3배수로 나누어서 구할 수 있고, 정사각형, 직사각형, 마름모에 의한 색상 면적평균값은 네 꼭지점의 합을 면적의 4배수로 나누어서 구할 수 있다. 이러한 방법으로 각 픽셀의 색상 면적평균값을 계산하여 픽셀의 색상을 구할 수 있다.
본 발명에 의한 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법은 계산해야되는 샘플의 수가 센터를 샘플링하는 경우와 비교하여, (가로 픽셀 수)*(세로 픽셀 수)에서 (가로 픽셀 수+1)*(세로 픽셀 수+1)로 증가되는데, 이는 1/(가로 픽셀 수)+1/(세로 픽셀 수)의 확률로 증가하여, 전체 픽셀 수가 증가하면 무시할 수 있는 정도이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (6)
- 전역 좌표계 상에서 꼭지점 쉐이딩을 통하여 3차원으로 표시된 물체의 기하학적 모델의 각 꼭지점의 속성을 결정하고, 상기 각 꼭지점의 속성을 나타내는 꼭지점 데이터를 생성하는 랜더링 서버; 및
상기 생성된 꼭지점 데이터와 기저장된 이미지를 이용하여 랜더링을 수행하고 새로운 이미지를 생성하는 다수의 랜더링 클라이언트;
를 포함하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템. - 제1항에 있어서,
상기 다수의 랜더링 클라이언트는 고정 소수점 산술 프로세서(Fixed Point Arithmetic Processor)를 사용하는 것을 특징으로 하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템. - 제1항에 있어서,
상기 다수의 랜더링 클라이언트는 주어진 장면의 시점, 시각 및 화면 영역에 따라 각각 선택적으로 사용되는 것을 특징으로 하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 시스템. - 전역 좌표계 상에서 주어진 픽셀의 모든 꼭지점이 픽셀 그리드 평면에 투영된 이미지 내부에 존재하는지 여부를 판단하는 단계;
상기 픽셀이 다수의 이미지에 걸쳐있는 경우, 픽셀 조각의 각 꼭지점의 속성을 이용한 보간(Interpolation)으로 상기 픽셀 조각의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및
상기 픽셀 조각의 각 꼭지점의 색상값의 합을 (픽셀 조각의 면적 * 픽셀 조각의 꼭지점 개수)로 나누어 상기 픽셀의 색상을 구하는 단계;
를 포함하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법 - 제4항에 있어서,
상기 픽셀의 모든 꼭지점이 상기 투영된 이미지의 내부에 존재하는 경우, 상기 픽셀의 각 꼭지점의 속성을 이용한 보간으로 상기 픽셀의 각 꼭지점의 색상값을 계산하는 래스터화 단계; 및
상기 픽셀의 각 꼭지점의 색상값의 평균치를 계산하여 상기 픽셀의 색상을 구하는 단계
를 더 포함하는 것을 특징으로 하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법 - 제5항에 있어서, 상기 래스터화 단계에서,
기설정된 물체와의 거리, 깊이 폭 및 시각 분포에 따라 투시 보정 모드(Perspective Correct Mode)를 만족하는 경우 투시 보정 보간(Perspective Correct Interpolation)을 사용하고, 약 투시 모드(Weak Perspective Mode)를 만족하는 경우 선형 보간(Linear Interpolation)을 사용하여 래스터화를 수행하는 것을 특징으로 하는 고품질 VFX 구현을 위한 스마트 CG 랜더링 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230035237A KR20240140624A (ko) | 2023-03-17 | 2023-03-17 | 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230035237A KR20240140624A (ko) | 2023-03-17 | 2023-03-17 | 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240140624A true KR20240140624A (ko) | 2024-09-24 |
Family
ID=92924296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230035237A KR20240140624A (ko) | 2023-03-17 | 2023-03-17 | 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240140624A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220130000A (ko) | 2021-03-17 | 2022-09-26 | 주식회사 디엠랩 | 인공지능 아바타에 기초한 인터랙션 서비스 방법 및 장치 |
-
2023
- 2023-03-17 KR KR1020230035237A patent/KR20240140624A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220130000A (ko) | 2021-03-17 | 2022-09-26 | 주식회사 디엠랩 | 인공지능 아바타에 기초한 인터랙션 서비스 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
US10915981B2 (en) | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters | |
US6903741B2 (en) | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene | |
US7755626B2 (en) | Cone-culled soft shadows | |
US6437782B1 (en) | Method for rendering shadows with blended transparency without producing visual artifacts in real time applications | |
US7982734B2 (en) | Spatially-varying convolutions for rendering soft shadow effects | |
US8115783B2 (en) | Methods of and apparatus for processing computer graphics | |
US7970237B2 (en) | Spatially-varying convolutions for rendering glossy reflection effects | |
US20100060640A1 (en) | Interactive atmosphere - active environmental rendering | |
CN114581589A (zh) | 图像处理方法及相关装置 | |
US6518968B1 (en) | Method and apparatus for performing H-space bump mapping suitable for implementation with H-space lighting in a graphics pipeline of a computer graphics display system | |
JPH0683979A (ja) | 影の生成を伴うコンピュータ図形表示の方法及びシステム | |
EP4213102A1 (en) | Rendering method and apparatus, and device | |
US7158133B2 (en) | System and method for shadow rendering | |
US10621707B2 (en) | Table reprojection for post render latency compensation | |
JP2004005452A (ja) | 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
JP4584956B2 (ja) | グラフィックスプロセッサおよび描画処理方法 | |
US6906729B1 (en) | System and method for antialiasing objects | |
US20140160124A1 (en) | Visible polygon data structure and method of use thereof | |
US7116333B1 (en) | Data retrieval method and system | |
KR20240140624A (ko) | 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법 | |
JP2004054634A (ja) | 画像処理装置およびその方法 | |
US20240249461A1 (en) | Vector graphic texture engine | |
WO2009018487A1 (en) | Spatially varying convolution for rendering effects |