KR20010114046A - 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 - Google Patents
지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 Download PDFInfo
- Publication number
- KR20010114046A KR20010114046A KR1020000033962A KR20000033962A KR20010114046A KR 20010114046 A KR20010114046 A KR 20010114046A KR 1020000033962 A KR1020000033962 A KR 1020000033962A KR 20000033962 A KR20000033962 A KR 20000033962A KR 20010114046 A KR20010114046 A KR 20010114046A
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- ray tracing
- value
- pixel
- current
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
본 발명은 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법에 관한 것이다. 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성 기법에 있어서: 렌더링할 물체의 기하 정보 및 물체의 표면속성을 추출하는 단계; ZF-버퍼를 위한 전처리 단계; 광선추적법 본처리 단계; 및 결과 영상 출력 단계로 구성된다.
따라서, ZF-버퍼를 이용하여 광선추적법의 속도를 vista-버퍼에 비해 3배 이상의 속도를 개선함으로써 영상 제작도구에 적용할 경우 영상물 제작시간을 단축할 수 있다.
Description
본 발명은 광선추적법의 속도를 개선하는 방법에 관한 것으로써, 특히 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성기법으로서 생성된 영상의 사실성을 추구하는 기존의 광선추적법에 속도를 개선한 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법에 관한 것이다.
일반적으로, 기존의 광선추적법은 관찰자 시점으로부터 사물을 향하는 빛을 매 화소마다 생성하여 이 빛의 경로를 추적해 가면서 화소의 색상을 결정하는 방법이다. 광선추적법은 빛의 경로 상에 물체가 있는지 여부를 판별하는데 많은 연산이 필요하여 영상물 제작에 많은 시간이 소요되었다. 이를 개선하기 위하여 디렉션 큐브(direction cube,[1]), Vista-버퍼[2]와 같은 기술이 개발되었다. 이는 기본적으로 관찰자 시점에서 빛이 나가는 방향에서 맞닿을 수 있는 물체를 미리 뽑아놓아 교차판별 될 대상의 범위를 줄이는 목적으로 사용한다.
디렉션 큐브란 관찰자 시점에 큐브를 씌우고 이 큐브의 표면 각 방향을 세분하여 관찰자 시점으로부터 출발한 빛이 교차할 수 있는 물체가 열거된 보조 자료를 기록하는 방법이다.
Vista-버퍼는 디렉션 큐브와 비슷하지만 관찰자 시점에 큐브를 씌우는 대신 화면버퍼와 동일하게 구성된 면을 놓아 그 표면에 물체를 투영함으로써 화면 좌표를 인덱스로 그 교차 후보자를 검색할 수 있는 방법이다.
앞서 예로 들은 디렉션 큐브나 Vista-버퍼 등은 교차판별 대상을 줄이기는 하였지만, 빛과 바운딩 볼륨과의 교차여부 판별을 사용하기 때문에 개선된 연산량이 만족스럽지 못했다. 빛이 교차할 바운딩 볼륨이 결정되었어도 물체 자체를 구성하는 요소들과의 교차여부를 판별해야 하는데, 이 또한 많은 연산을 필요로 한다.물체를 구성하고 있는 요소는 바운딩 볼륨보다 교차판별 연산 시간이 오래 걸릴 뿐만 아니라 그 수도 통상 바운딩 볼륨 수보다 많다.
따라서, 광선추적법에 있어서 속도 개선은 근본적으로 물체를 구성하고 있는 요소와 빛과의 교차판별에 드는 시간을 줄이는데 있다. 바운딩 볼륨이란 물체를 대표하면서 교차판별 연산에 시간이 적게 걸리는 또 다른 물체를 말한다. 바운딩 볼륨으로는 물체를 완전히 감쌀 수 있는 구(sphere)나 육면체(cube) 등이 사용되며, 연산 시간을 줄이기 위해 바운딩 볼륨간의 계층 구조를 사용하기도 한다.
그러나, 기존의 광선추적법은 물체와 빛간의 교차판별에 수행시간 대부분을 소비하므로, 이를 개선한 기술도 그 개선 효과가 크지 않아 사용자와 상호작용이 필요한 응용분야에는 적합하지 않는 단점이 있다. 빛과의 교차판별 연산을 수행할 물체의 수는 줄일 수 있지만 물체를 구성하고 있는 구성요소와의 교차판별 문제를 해결하지 못하기 때문이다. 이러한 분야에는 통상 Z-버퍼 렌더링 기법이 사용된다. 사실적인 영상물 제작은 불가능하지만 그 처리 과정이 단순하여 하드웨어 가속기의 적용이 가능하여 실시간적 처리를 보장할 수 있기 때문이다.
그러나, 광선추적법은 그 처리 과정이 복잡하기 때문에 특수 목적적인 하드웨어의 제작이 불가능한 문제점이 있다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 광선추적법의 처리 과정의 일부를 단순화하여 CPU의 연산으로도 충분한 가속 효과가 있지만 현존하는 Z-버퍼 하드웨어를 사용하여 그 효율성을 극대화 할 수 있도록 광선추적법 처리중 시간을 가장 많이 소비하는 교차판별 과정을 개선한 것으로서 결과적으로 광선추적법의 실시간적 처리를 할 수 있는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법을 제공한다.
도 1은 타겟 이미지.
도 2는 Z-버퍼 렌더링과 ZF-버퍼 교차판별 비교.
도 3은 ZF-버퍼 방법의 반사효과를 위한 재귀 반복.
도 4는 평면 P를 기준으로 X의 반대편 대응위치 X′.
도 5는 유타 주전자 영상(다각형 수:9216).
도 6은 거울에 반사된 유타주전자 영상.
도 7a는 본 발명의 일 실시예에 의한 불투명/무반사 물체를 위한 광선추적법을 설명한 흐름도.
도 7b는 본 발명의 일 실시예에 의한 반사/굴절 효과를 위한 재귀적 광선추적법을 설명한 흐름도.
* 도면의 주요 부분에 대한 부호 설명 *
상기한 목적을 달성하기 위해 본 발명은 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성 기법에 있어서: 렌더링할 물체의 기하 정보 및 물체의 표면속성을 추출하는 단계; ZF-버퍼를 위한 전처리 단계; 광선추적법 본처리 단계; 및 결과 영상 출력 단계로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법을 제공한다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명한다.
(1) 1차 광선에 대한 ZF-버퍼 알고리즘
ZF-버퍼란 Z-버퍼와 Face 버퍼(이하 F-버퍼)의 두 가지 버퍼를 의미한다. Z-버퍼, F-버퍼, 그리고 화면은 모두 같은 크기이며 2차원적인 자료구조로 모든 좌표는 1대1 대응관계를 갖는다. Z-버퍼는 기존의 은면 제거에서 사용되는 버퍼이다. 광선추적법의 전처리 단계에서 적용되는 ZF-버퍼 방법은 Z-버퍼에서 결정한 물체의 깊이 값('z'값)의 주인이 되는 면(face) 자료의 식별자(pointer)를 F-버퍼에 수록한다.
도 1에 도시된 바와 같이, 삼각형 그림을 만들기 위한 기존의 Z-버퍼 방법은 도 2(a)와 같이 카메라로부터 물체에 대한 거리를 계산한 후, 도 2(b)와 같이 가시성이 결정된 화소에 쉐이딩 모델을 적용하여 디스플레이 될 화면의 화소값을 결정한다.
그러나, 도 2c에 도시된 바와 같이 ZF-버퍼 방법에서 가까운 화소를 판별하는 과정은 Z-버퍼 방법과 같지만 화소값을 결정하는 대신에 화소를 포함하는 면의 식별자(pointer)를 F-버퍼에 기록한다 . 전처리 과정에서 F-버퍼를 생성하는 알고리즘은 다음 표 1과 같다.
for(모든 화소(x,y)) {Z-buffer[x][y]를 아주 큰 값(무한대)으로 초기화.F-buffer[x][y]를 NULL값으로 초기화. // NULL의 의미는 현재 z값의 주인이 아무도 없음을 나타낸다.}// 좌표계 변환for(모든 정점(vertex)){정점을 시각변환과 투영을 이용해 화면 좌표로 바꾼다.//세계좌표계에서 카메라 좌표계로 정점 변환}//ZF-버퍼의 내용 결정for(모든 면(face)) {모든 면(폴리곤)의 경계설정for(면 상의 모든 화소위치(x,y)) {if(현재 화소의 z값 < Z-buffer[x,y]에 기록된 현재 화소 위치의 z값) {Z-buffer[x][y]에 현재 화소의 z값을 넣는다.F-buffer[x][y]에 현재 면, 즉 폴리곤의 지료구조의 메모리 포인터(pointer)를 넣는다.}}} |
표 1의 과정을 마치면 Z-버퍼에는 화면상에 나타낼 각 화소에 대한 카메라로부터의 거리 정보를 가지게 되고 F-버퍼에는 화면상에 나타낼 각 화소의 주인이 되는 면의 식별자를 가진다. 따라서, 광선추적법의 1차 광선과 만나는 면의 정보는 F-버퍼에 수록된 자료의 식별자를 이용함으로써 쉽게 결정할 수 있다. Z-버퍼는 F-버퍼를 결정하기 위해서 사용되고 렌더링 과정에서는 더 이상 사용되지 않는다.
광선추적법 본 처리 과정에서는 F-버퍼 내용을 이용하여 쉐이딩 기법적용 텍스쳐 매핑 등의 기법을 적용한다. 이 과정은 기존의 광선추적법에서 교차판별이 수행된 후 가장 가까운 물체에 적용되는 기존의 알고리즘과 같으며 이에 대한 알고리즘은 표Ⅱ와 같다. ZF-버퍼는 기본적으로 vista 버퍼와 유사하지만, 바운딩 볼륨을 기록하는 것이 아니라 실제로 화면에 나타날 면의 식별자를 F-버퍼에 기록한다.
따라서, 바운딩 볼륨을 사용했을 때 문제가 되는 추가 교차판별시간을 줄일 수 있고, F-버퍼에 기록된 면의 정보만을 이용하여 1차 광선에 보이는 면의 화소값을 결정할 수 있으므로 매우 빠른 수행시간을 갖는다.
for(화면상의 모든 화소위치(x,y)) {if(F-buffer[x][y]의 값이 NULL이 아니면) {카메라로부터 화소방향으로 나가는 빛을 생성한다.이 빛과 물체가 만나는 위치를 계산한다.if 현재 면이 반사/굴절체 이면{if현재면에 ZF-버퍼가 생성되어 있지 않으면{새로운 카메라를 설정한다.새로운 카메라에 대응되는 화면을 설정한다.새로운 카메라에 대응되는 F-버퍼를 설정한다.이 함수를 재귀실행한다.결과 영상을 현재 면의 텍스쳐 뱁으로 지정한다.}텍스처 맵과 조명 정보를 이용해 반사후 색상을 결정한다.}} |
도 7a는 본 발명의 일 실시예에 의한 불투명/무반사 물체를 위한 광선추적법을 설명한 흐름도이다.
렌더링할 물체의 기하 물체 및 물체의 표면 속성은 컴퓨터 그래픽스에서 표현하는 방법 중 하나로 polygon mesh를 사용한다. 폴리곤(polygon)이란 n개의 정점(vertex)을 연결한 직선으로 구획된 하나의 평면이다. 폴리곤이 여러 개 모여 물체의 모양을 구성한 것을 폴리곤 메쉬(polygon mesh)라고 한다. 물체의 모양과 더불어 물체를 표현하는 또 하나의 요소가 물체의 표면 속성정보이다. 색상이나 무늬 등이 이에 속한다.
물체를 시각화하는 렌더링할 물체의 기하정보 및 물체의 표면속성을 설정하기 위해 모든 화소 위치 (x,y)에 대해 Z-버퍼[x,y]를 무한대로 설정하고 F-버퍼[x,y]를 널(NULL)로 설정하여 ZF-버퍼를 초기화한다(단계 S1).
Z-버퍼와 F-버퍼는 화면과 동일한 크기를 갖는 2차원 배열이다. Z-버퍼는 카메라와 가장 가까운 물체의 깊이 정보를 갖는 배열로서 초기값으로 무한대(혹은 무한대에 가까운 큰 값)를 넣는다. F-버퍼는 카메라와 가장 가까운 물체의 식별자를 갖는 배열로서 초기값으로 아무것도 없음을 의미하는 NULL 값을 넣는다.
모든 정점(vertex)에 대해 물체가 놓일 수 있는 절대 좌표인 세계 좌표계에서 관찰자 시점에서 본 카메라 좌표계(시각 좌표계)로 정점변환을 하는 좌표계를 변환하고(단계 S2) 모든 폴리곤(polygon)의 경계를 설정한다(단계 S3).
폴리곤에 속한 모든 화소 위치(x,y)에 대해 Z-버퍼[x,y]의 값이 현재 화소의 깊이(depth) 값보다 큰지를 체크하여(단계 S4) 크면 Z-버퍼[x,y] 값에 현재 화소의 깊이값을 할당하고 F-버퍼[x,y] 값에 현재 폴리곤 자료구조의 메모리 포인터를 할당한다(단계 S5).
ZF-버퍼의 내용결정은 Z-버퍼 방법으로 빛과 교차할 물체를 결정하는 방법이다. Z-버퍼 방법이란 물체를 렌더링하는 방법 중 하나로서 3차원 물체를 2차원의 화면으로 나타날 때 생기는 차원정보의 소실을 Z-버퍼라는 보조 버퍼를 사용하여 보완하는 방법이다. Z-버퍼는 화면의 각 화소와 1대1 대응관계를 가지며 화면상에 표현된 화소의 깊이 정보를 갖는다.
불투명/무반사 물체를 위한 광선추적법을 사용하는 경우 광선추적법 본처리 단계는 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(단계 S6) 널이 아니면(현재 위치에 면 식별자가 있으면) 카메라로부터 화소방향으로 나가는 빛을 생성, 이 빛과 물체가 만나는 위치 계산, 위치 값과 F-버퍼를 참조하여 얻어진 물체의 표면 속성으로부터 현재 화소의 색상을 결정하고(단계 S7), F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 결정한다(단계 S8).
현재 화소의 색상 결정 후, 결과 영상을 출력한다(단계 S9).
○광선추적법의 본처리
광선추적법이란 카메라로부터 화면상의 모든 화소 방향으로 향하는 빛을 만들어 이와 만나는 물체의 표면 정보로 화소의 색상을 결정하는 방법이다. 이때, 빛과 만나는 물체를 판단하는 과정에서 많은 수행 시간이 요구되는데 이를 전처리 과정에서 만든 F-버퍼의 내용 참조로 속도를 개선하였다. F-버퍼[x,y]에 NULL이 아닌 값이 기록되어 있으면 광선이 어떤 물체와 만나며 F-버퍼에 기록된 값이 그 물체의 식별자이다. F-버퍼[x,y]의 값이 NULL이면 광선이 만나는 물체가 없음을 의미한다.
○재귀적 광선추적법
재귀적 광선추적법이란 반사/굴절체를 표현하기 위하여 반사/굴절의 성질을갖는 물체에 입사된 광선이 반사/굴절되어 새로운 방향으로 나아가 또 다른 물체를 탐색하는 방법이다. ZF-버퍼 방법을 이용한 재귀적 광선추적법은 하나의 폴리곤에 의해 반사/굴절되는 모든 광선을 개별적으로 탐색하는 기존의 방법을 개선하여 폴리곤의 반대편에 새로운 카메라를 위치시켜 렌더링하고 이 결과 영상을 폴리곤에 매핑시키는 방법으로 재귀적 광선추적법을 구현하였다.
(2) 2차 광선에 대한 ZF-버퍼 적용
ZF-버퍼방법은 광선이 나아갈 방향을 미리 예측할 수 있고 또 그 광선이 나아갈 방향을 쉽게 계산할 수 있는 경우에 적용할 수 있는 방법이기 때문에 기본적으로 1차 광선에 대해서만 적용이 가능하다. 그러나, 반사/굴절 등을 위한 2차 이후의 광선에 대해서도 1차 광선과 같은 조건을 만들어줄 경우 ZF-버퍼를 적용할 수 있다. 기존의 광선추적법에서는 1차 광선이 반사체에 닿으면 반사체와 광선의 상관관계에 따라 반사광선을 생성하고 반사광선의 시작점으로부터 동일 과정을 반복함으로써 반사 효과를 구현한다. 이에 반해 ZF-버퍼 방법을 이용한 재귀적 광선추적법은 광선 하나 하나의 반사를 이용하는 것이 아니라 반사면을 새로운 화면으로 설정하고 반사면 뒤에서 새로운 카메라를 설정하여 1차 광선과 같은 과정을 적용하는 것이다.
도 3은 카메라C 0 의 위치에서 반사체의 한 면f를 바라보았을 때 일어나는 반사과정을 나타낸다. 1차 광선을 생성하는 최초의 카메라C 0 에서 생성된 1차 광선이 반사면f를 만나면 2차 광선r을 생성한다.r을 이용하여 반사면f의 반대쪽에생성한 새로운 카메라C 1 은 최초의 카메라C 0 와 동일한 거리의 반대편에 위치하게 된다.C 1 에 의해서 생성된 광선은 최초의 카메라C 0 에 대해서는 면f에 의해 반사된 2차 광선이 되지만, 카메라C 1 에 대해서는 1차 광선이다.C 1 을 구하기 위해서는 임의의 면을 기준으로 주어진 점의 반대편 대응 위치를 구해야 하며 그 과정은 다음과 같다.
도 4를 참조하면,t는X에서 평면P상의 가장 가까운 점이고,X와t와의 거리를 α라고 할 때, 다음 수학식 (1)과 같은 관계를 갖는다.
t는 평면P상의 점이므로 P(t)=0이고 t=x-α*normal(P)이므로 다음 수학식 (2)에 의해 α값을 계산할 수 있다.
또한,이고X'는t를 기준으로P노멀(normal)의 반대 방향이므로 상기 수학식 (3)에 의해 반대방향의 점X'가 결정된다.
이때, 평면P의 식을 ax+by+cz+d이라 하고, 수학식(2)와 (3)을 이용하면, 다음 수학식 (4)가 된다.
그러나, 카메라 좌표계의 축을 나타내는 U, V, N 방향벡터를 계산할 때,P의 평면 방정식 중 d는 의미가 없으므로, 다음 수학식(5)에 의해 위치성분X'와 방향성분X''를 계산한다.
위 식에서 (4)의 식을 f(x), (5)의 식을 g(x)라고 하면, 다음 수학식 (6)을 이용하여 C1의 카메라 행렬을 다음과 같이 결정한다.
위와 같이 결정된 카메라 위치C 1 으로부터 ZF-버퍼 방법을 적용하면C 0 로부터의 반사 효과를 구현할 수 있다. 표 3은 ZF-버퍼 방법의 재귀적 광선추적법을 위한 의사(pseudo) 코드이다.
도 7b는 본 발명의 일 실시예에 의한 반사/굴절 효과를 위한 재귀적 광선추적법을 설명한 흐름도이다.
반사/굴절 효과를 위한 재귀적 광선추적법을 사용하는 경우 상기 광선추적법 본처리 단계는 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(단계 S16) 널이 아니면 카메라로부터 화소 방향으로 나가는 빛을 생성하고 이 빛을 물체가 만나는 위치를 계산하고(단계 S17) 현재면이 반사/굴절체인지를 체크한다(단계 S18).
F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 설정하고(S22) 상기 결과 영상을 출력하는 단계(S23); 및
현재면의 반사/굴절체이면 현재면에 ZF-버퍼가 생성되어 있는지를 체크하여(단계 S19) 상기 ZF-버퍼가 생성되어 있지 않으면 새로운 카메라를 설정, 새로운 카메라에 대응하는 화면 설정, 새로운 카메라에 대응하는 F-버퍼 설정, 이 함수를 재귀 실행, 결과 영상을 현재 면의 텍스쳐 맵으로 지정하고(단계 S20), 상기 ZF-버퍼가 생성되어 있으면 텍스쳐 맵과 조명정보를 이용하여 반사후 색상을 결정한(단계 S21) 다음 상기 결과 영상을 출력한다(단계 S23).
for (화면상의 모든 화소위치(x,y)){if(F-버퍼[x,y]의 값이 NULL이 아니면){카메라로부터 화소방향으로 나가는 빛을 생성한다.이 빛과 물체가 만나는 위치를 계산한다.if(현재 면이 반사/굴절체이면){if(현재면에 ZF-버퍼가 생성되어 있지 않으면){새로운 카메라를 설정한다. 새로운 카메라에 대응되는 화면을 설정한다. 새로운 카메라에 대응되는 F-버퍼를 설정한다. 이 함수를 재귀실행한다. 결과여상을 현재 면의 텍스쳐 뱁으로 지정한다.}텍스쳐 뱁과 조명 정보를 이용해 반사후 색상을 결정한다.}·· |
도 5는 유타 주전자 영상(다각형 수:9216)을 나타내고, 도 6은 거울에 반사된 유타주전자 영상을 나타낸다.
본 발명에 의한 ZF-버퍼를 이용하여 광선추적법은 구현결과 vista-버퍼와 같은 기존 방법에 비해서 다음 표 4 및 표 5와 같은 속도 향상이 있었다. 이는 하드웨어 가속 없이 테스트 한 결과이다.
다각형수 | ZF-버퍼(초) | vista-버퍼(초) | 속도개선(배) |
1248230440969216 | 0.2250.2300.2310.240 | 0.6950.7200.7540.820 | 3.083.133.263.41 |
반사면 크기세계좌표계 \ 다각형수 | 200x200 | 400x400 |
1248230440969216 | 0.741초0.745초0.750초0.760초 | 2.010초2.011초2.015초2.021초(도6) |
따라서, ZF-버퍼를 이용하여 광선추적법의 속도를 vista-버퍼에 비해 3배 이상의 속도를 개선함으로써 영상 제작도구에 적용할 경우 영상물 제작시간을 단축할 수 있어 실시간 처리가 가능하다.
상술한 바와 같이, 본 발명에 의한 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법은 처리 시간에 있어서 vista-버퍼에 비해 3배 이상의 개선이 있었으며 처리하는 개체 수가 많아질수록 속도 개선 효과가 있다.
또한, ZF-버퍼를 이용하여 광선추적법의 속도 개선 기술을 영상제작도구에 적용할 경우 영상물 제작시간 단축이 가능하며, 하드웨어 가속기를 사용할 경우 실시간적인 처리가 가능할 것으로 예측된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (4)
- 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성 기법에 있어서:렌더링할 물체의 기하 정보 및 물체의 표면속성을 추출하는 단계;ZF-버퍼를 위한 전처리 단계;광선추적법 본처리 단계; 및결과 영상 출력 단계로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.
- 제 1 항에 있어서,상기 ZF-버퍼를 위한 전처리 단계는렌더링할 물체의 기하정보 및 물체의 표면속성을 설정하기 위해 모든 화소 위치 (x,y)에 대해 Z-버퍼[x,y]를 무한대로 설정하고 F-버퍼[x,y]를 널(NULL)로 설정하여 ZF-버퍼를 초기화하는 단계(S1);모든 정점(vertex)에 대해 세계좌표계에서 카메라 좌표계로 정점변환을 하는 좌표계를 변환하고(S2) 모든 폴리곤(polygon)의 경계를 설정하는 단계(S3); 및폴리곤에 속한 모든 화소 위치(x,y)에 대해 Z-버퍼[x,y]의 값이 현재 화소의 깊이(depth) 값보다 큰지를 체크하여(S4) 크면 Z-버퍼[x,y] 값에 현재 화소의 깊이값을 할당하고 F-버퍼[x,y] 값에 현재 폴리곤 자료구조의 메모리 포인터를 할당하는 단계(S5)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.
- 제 1 항에 있어서,불투명/무반사 물체를 위한 광선추적법을 사용하는 경우, 상기 광선추적법 본처리 단계는화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(S6) 널이 아니면(현재 위치에 면 식별자가 있으면) 카메라로부터 화소방향으로 나가는 빛을 생성, 이 빛과 물체가 만나는 위치 계산, 위치 값과 F-버퍼를 참조하여 얻어진 물체의 표면 속성으로부터 현재 화소의 색상을 결정하고(S7), F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 결정하는 단계(S8)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.
- 제 1 항에 있어서,반사/굴절 효과를 위한 재귀적 광선추적법을 사용하는 경우, 상기 광선추적법 본처리 단계는화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(S16) 널이 아니면 카메라로부터 화소 방향으로 나가는 빛을 생성하고 이 빛을 물체가 만나는 위치를 계산하고(S17) 현재면이 반사/굴절체인지를 체크하는 단계(S18);F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 설정하고(S22) 상기 결과 영상을 출력하는 단계(S23); 및현재면의 반사/굴절체이면 현재면에 ZF-버퍼가 생성되어 있는지를 체크하여(S19) 상기 ZF-버퍼가 생성되어 있지 않으면 새로운 카메라를 설정, 새로운 카메라에 대응하는 화면 설정, 새로운 카메라에 대응하는 F-버퍼 설정, 이 함수를 재귀 실행, 결과 영상을 현재 면의 텍스쳐 맵으로 지정하고(S20), 상기 ZF-버퍼가 생성되어 있으면 텍스쳐 맵과 조명정보를 이용하여 반사후 색상을 결정한(S21) 다음 상기 결과 영상을 출력하는 단계(S23)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0033962A KR100372901B1 (ko) | 2000-06-20 | 2000-06-20 | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0033962A KR100372901B1 (ko) | 2000-06-20 | 2000-06-20 | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010114046A true KR20010114046A (ko) | 2001-12-29 |
KR100372901B1 KR100372901B1 (ko) | 2003-02-19 |
Family
ID=19672808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0033962A KR100372901B1 (ko) | 2000-06-20 | 2000-06-20 | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100372901B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8692828B2 (en) | 2008-02-27 | 2014-04-08 | Samsung Electronics Co., Ltd. | 3-dimensional image processor and processing method |
WO2017123321A1 (en) * | 2016-01-15 | 2017-07-20 | Intel Corporation | Texture space shading and reconstruction for ray tracing |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101630181B1 (ko) * | 2010-05-12 | 2016-06-14 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
KR102166426B1 (ko) | 2014-07-07 | 2020-10-16 | 삼성전자주식회사 | 렌더링 시스템 및 이의 렌더링 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06176167A (ja) * | 1992-12-04 | 1994-06-24 | Fujitsu Ltd | レイ・トレーシング処理方式 |
KR0170665B1 (ko) * | 1995-02-28 | 1999-03-30 | 김광호 | 3차원 그래픽스용 램 |
KR100273267B1 (ko) * | 1997-12-30 | 2000-12-15 | 김영환 | 선입선출기를 이용한 고속 제트 버퍼 회로 |
JPH11353496A (ja) * | 1998-06-10 | 1999-12-24 | Ken Nishimura | 光線追跡のための交点探索装置 |
-
2000
- 2000-06-20 KR KR10-2000-0033962A patent/KR100372901B1/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8692828B2 (en) | 2008-02-27 | 2014-04-08 | Samsung Electronics Co., Ltd. | 3-dimensional image processor and processing method |
WO2017123321A1 (en) * | 2016-01-15 | 2017-07-20 | Intel Corporation | Texture space shading and reconstruction for ray tracing |
US10354432B2 (en) | 2016-01-15 | 2019-07-16 | Intel Corporation | Texture space shading and reconstruction for ray tracing |
Also Published As
Publication number | Publication date |
---|---|
KR100372901B1 (ko) | 2003-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704863B2 (en) | Watertight ray triangle intersection | |
US7362332B2 (en) | System and method of simulating motion blur efficiently | |
Appel et al. | The haloed line effect for hidden line elimination. | |
US6034691A (en) | Rendering method and apparatus | |
US7030879B1 (en) | System and method of improved calculation of diffusely reflected light | |
US8013857B2 (en) | Method for hybrid rasterization and raytracing with consistent programmable shading | |
US7009608B2 (en) | System and method of using multiple representations per object in computer graphics | |
JP3759971B2 (ja) | 3次元像を陰影付けする方法 | |
US6825840B2 (en) | System and method of adjusting ray origins when shading vertices with rays | |
JPH06223198A (ja) | 光線追跡による画像生成装置及び方法 | |
JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
McLaren et al. | Visualisation of digital terrain models: techniques and applications | |
US8698799B2 (en) | Method and apparatus for rendering graphics using soft occlusion | |
KR102151443B1 (ko) | 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치 | |
US6791544B1 (en) | Shadow rendering system and method | |
Vyatkin et al. | Voxel Volumes volume-oriented visualization system | |
JP3629243B2 (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
KR100372901B1 (ko) | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 | |
KR950025512A (ko) | 굴절 현상에 대해 하드웨어에 근거한 그래픽 워크스테이션 솔루션 | |
KR100256472B1 (ko) | 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링 | |
CN117726496A (zh) | 使用光线剪裁减少假阳性光线遍历 | |
Yu | Efficient visibility processing for projective texture mapping | |
US20110074777A1 (en) | Method For Displaying Intersections And Expansions of Three Dimensional Volumes | |
CN116993894B (zh) | 虚拟画面的生成方法、装置、设备、存储介质及程序产品 | |
CN110827389B (zh) | 严密的光线三角形相交 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |