KR100372901B1 - Ray-tracing acceleration method using ZF-buffer - Google Patents

Ray-tracing acceleration method using ZF-buffer Download PDF

Info

Publication number
KR100372901B1
KR100372901B1 KR10-2000-0033962A KR20000033962A KR100372901B1 KR 100372901 B1 KR100372901 B1 KR 100372901B1 KR 20000033962 A KR20000033962 A KR 20000033962A KR 100372901 B1 KR100372901 B1 KR 100372901B1
Authority
KR
South Korea
Prior art keywords
buffer
ray tracing
value
pixel
current
Prior art date
Application number
KR10-2000-0033962A
Other languages
Korean (ko)
Other versions
KR20010114046A (en
Inventor
윤경현
김세현
Original Assignee
김세현
윤경현
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김세현, 윤경현 filed Critical 김세현
Priority to KR10-2000-0033962A priority Critical patent/KR100372901B1/en
Publication of KR20010114046A publication Critical patent/KR20010114046A/en
Application granted granted Critical
Publication of KR100372901B1 publication Critical patent/KR100372901B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory 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-버퍼를 위한 전처리 단계; 광선추적법 본처리 단계; 및 결과 영상 출력 단계로 구성된다.The present invention relates to a method for improving the speed of ray tracing using ZF-buffers. An image generation technique using ray tracing in the field of computer graphics, comprising: extracting geometric information of an object to be rendered and surface attributes of an object; Pretreatment step for ZF-buffer; Ray tracing method main processing step; And a resultant image output step.

따라서, ZF-버퍼를 이용하여 광선추적법의 속도를 vista-버퍼에 비해 3배 이상의 속도를 개선함으로써 영상 제작도구에 적용할 경우 영상물 제작시간을 단축할 수 있다.Therefore, by using ZF-buffer, the speed of ray tracing method is more than three times faster than vista-buffer.

Description

지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법{Ray-tracing acceleration method using ZF-buffer}Ray-tracing acceleration using ZF-buffer

본 발명은 광선추적법의 속도를 개선하는 방법에 관한 것으로써, 특히 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성기법으로서 생성된 영상의 사실성을 추구하는 기존의 광선추적법에 속도를 개선한 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법에 관한 것이다.The present invention relates to a method for improving the speed of the ray tracing method. In particular, ZF improves the speed of the conventional ray tracing method which pursues the actuality of the generated image as an image generation technique by the ray tracing method in the field of computer graphics. The present invention relates to a method of improving the speed of ray tracing using a buffer.

일반적으로, 기존의 광선추적법은 관찰자 시점으로부터 사물을 향하는 빛을 매 화소마다 생성하여 이 빛의 경로를 추적해 가면서 화소의 색상을 결정하는 방법이다. 광선추적법은 빛의 경로 상에 물체가 있는지 여부를 판별하는데 많은 연산이 필요하여 영상물 제작에 많은 시간이 소요되었다. 이를 개선하기 위하여 디렉션 큐브(direction cube,[1]), Vista-버퍼[2]와 같은 기술이 개발되었다. 이는 기본적으로 관찰자 시점에서 빛이 나가는 방향에서 맞닿을 수 있는 물체를 미리 뽑아놓아 교차판별 될 대상의 범위를 줄이는 목적으로 사용한다.In general, the conventional ray tracing method is a method of determining the color of the pixel while tracking the light path by generating light toward the object from the observer's point of view every pixel. The ray tracing method requires a lot of calculations to determine whether an object exists on the path of light, and it takes a lot of time to produce an image. To improve this, technologies such as the direction cube [1] and Vista-buffer [2] have been developed. This is basically used to reduce the range of the object to be cross-checked by drawing out objects that can touch in the direction of light exiting from the observer's point of view.

디렉션 큐브란 관찰자 시점에 큐브를 씌우고 이 큐브의 표면 각 방향을 세분하여 관찰자 시점으로부터 출발한 빛이 교차할 수 있는 물체가 열거된 보조 자료를 기록하는 방법이다.The direction cube is a method of covering the cube at the observer's point of view, subdividing each direction of the cube's surface, and recording auxiliary data listing objects that can cross the light from the observer's point of view.

Vista-버퍼는 디렉션 큐브와 비슷하지만 관찰자 시점에 큐브를 씌우는 대신 화면버퍼와 동일하게 구성된 면을 놓아 그 표면에 물체를 투영함으로써 화면 좌표를 인덱스로 그 교차 후보자를 검색할 수 있는 방법이다.The Vista-buffer is similar to the direction cube, but instead of covering the cube at the viewer's point of view, it is a way to search for an intersection candidate by indexing screen coordinates by projecting an object onto the surface by placing a face that is configured identically to the screen buffer.

앞서 예로 들은 디렉션 큐브나 Vista-버퍼 등은 교차판별 대상을 줄이기는 하였지만, 빛과 바운딩 볼륨과의 교차여부 판별을 사용하기 때문에 개선된 연산량이 만족스럽지 못했다. 빛이 교차할 바운딩 볼륨이 결정되었어도 물체 자체를 구성하는 요소들과의 교차여부를 판별해야 하는데, 이 또한 많은 연산을 필요로 한다.물체를 구성하고 있는 요소는 바운딩 볼륨보다 교차판별 연산 시간이 오래 걸릴 뿐만 아니라 그 수도 통상 바운딩 볼륨 수보다 많다.In the previous example, the direction cube and Vista-buffer reduced the cross-discrimination target, but the improved computation amount was not satisfactory because it used the discrimination between light and bounding volume. Even if the bounding volume to cross the light is determined, it must be determined whether to cross the elements constituting the object itself, which also requires a lot of calculations. The elements constituting the object have a longer calculation time than the bounding volume. Not only does it take more than the number of bounding volumes.

따라서, 광선추적법에 있어서 속도 개선은 근본적으로 물체를 구성하고 있는 요소와 빛과의 교차판별에 드는 시간을 줄이는데 있다. 바운딩 볼륨이란 물체를 대표하면서 교차판별 연산에 시간이 적게 걸리는 또 다른 물체를 말한다. 바운딩 볼륨으로는 물체를 완전히 감쌀 수 있는 구(sphere)나 육면체(cube) 등이 사용되며, 연산 시간을 줄이기 위해 바운딩 볼륨간의 계층 구조를 사용하기도 한다.Therefore, the speed improvement in ray tracing method is basically to reduce the time spent on cross- discrimination between the elements constituting the object and light. Bounding volume is another object that represents an object and takes less time to cross-discriminate. As the bounding volume, spheres or cubes are used to completely wrap objects, and hierarchies between bounding volumes are used to reduce computation time.

그러나, 기존의 광선추적법은 물체와 빛간의 교차판별에 수행시간 대부분을 소비하므로, 이를 개선한 기술도 그 개선 효과가 크지 않아 사용자와 상호작용이 필요한 응용분야에는 적합하지 않는 단점이 있다. 빛과의 교차판별 연산을 수행할 물체의 수는 줄일 수 있지만 물체를 구성하고 있는 구성요소와의 교차판별 문제를 해결하지 못하기 때문이다. 이러한 분야에는 통상 Z-버퍼 렌더링 기법이 사용된다. 사실적인 영상물 제작은 불가능하지만 그 처리 과정이 단순하여 하드웨어 가속기의 적용이 가능하여 실시간적 처리를 보장할 수 있기 때문이다.However, the conventional ray tracing method consumes most of the execution time for cross discrimination between an object and light, and thus, the improved technology does not have a significant improvement effect, and thus is not suitable for applications requiring user interaction. This is because the number of objects to perform cross discrimination with light can be reduced, but it does not solve the problem of cross discrimination with the components constituting the object. Z-buffer rendering techniques are commonly used in this field. Although it is impossible to produce realistic video, the process is simple, and hardware accelerator can be applied to guarantee real time processing.

그러나, 광선추적법은 그 처리 과정이 복잡하기 때문에 특수 목적적인 하드웨어의 제작이 불가능한 문제점이 있다.However, the ray tracing method has a problem in that it is impossible to manufacture special purpose hardware because of its complicated process.

본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 제안된 것으로써, 본 발명의 목적은 광선추적법의 처리 과정의 일부를 단순화하여 CPU의 연산으로도 충분한 가속 효과가 있지만 현존하는 Z-버퍼 하드웨어를 사용하여 그 효율성을 극대화 할 수 있도록 광선추적법 처리중 시간을 가장 많이 소비하는 교차판별 과정을 개선한 것으로서 결과적으로 광선추적법의 실시간적 처리를 할 수 있는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법을 제공한다.The present invention has been proposed to solve the above problems of the prior art, and an object of the present invention is to simplify a part of the processing of the ray tracing method so that the operation of the CPU has sufficient acceleration effect, but existing Z-buffer hardware In order to maximize the efficiency by using, we have improved the cross-discrimination process, which consumes the most time during the ray tracing process, and as a result, the ray tracing method using the ZF-buffer which can perform the ray tracing method in real time. It provides a way to improve the speed.

도 1은 타겟 이미지.1 is a target image.

도 2는 Z-버퍼 렌더링과 ZF-버퍼 교차판별 비교.2 is a comparison between Z-buffer rendering and ZF-buffer crossover.

도 3은 ZF-버퍼 방법의 반사효과를 위한 재귀 반복.3 is a recursive iteration for the reflection effect of the ZF-buffer method.

도 4는 평면 P를 기준으로 X의 반대편 대응위치 X′.4 shows the opposite position X ′ of X on the plane P;

도 5는 유타 주전자 영상(다각형 수:9216).5 is a Utah kettle image (polygon number: 9216).

도 6은 거울에 반사된 유타주전자 영상.6 is a Utah kettle image reflected in a mirror.

도 7a는 본 발명의 일 실시예에 의한 불투명/무반사 물체를 위한 광선추적법을 설명한 흐름도.7A is a flow chart illustrating a ray tracing method for an opaque / antireflective object in accordance with one embodiment of the present invention.

도 7b는 본 발명의 일 실시예에 의한 반사/굴절 효과를 위한 재귀적 광선추적법을 설명한 흐름도.7B is a flowchart illustrating a recursive ray tracing method for the reflection / refraction effect according to an embodiment of the present invention.

상기한 목적을 달성하기 위해 본 발명은 컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성 기법에 있어서: 폴리곤 메쉬(polygon mesh) 방법을 사용하여 렌더링할 물체의 모양 등과 같은 기하정보 및 물체의 색상과 무늬 등과 같은 표면속성을 추출하는 단계; 상기 단계가 수행된 후 Z-버퍼에서 결정한 물체의 깊이 값의 주인이 되는 면(face) 자료의 식별자(pointer)를 F-버퍼에 수록하는 ZF-버퍼를 위한 전처리 단계; 상기 단계가 수행된 후 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼 값이 널(NULL)인지를 체크하여 그 결과에 따라 현재 화소의 색상을 결정하는 광선추적법 본처리 단계; 및 상기 단계가 수행된 후 결과 영상을 출력하는 단계로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법을 제공한다.In order to achieve the above object, the present invention provides a technique for generating an image by ray tracing in the field of computer graphics: geometric information such as the shape of an object to be rendered using a polygon mesh method, and the color and pattern of the object. Extracting surface properties such as; A preprocessing step for the ZF-buffer which records, in the F-buffer, a pointer of the face data which is the master of the depth value of the object determined in the Z-buffer after the step is performed; A ray tracing main processing step of checking whether the F-buffer value is null for all pixel positions (x, y) on the screen after the step is performed and determining the color of the current pixel according to the result; And outputting a resultant image after the above step is performed, and a method of improving the speed of the ray tracing method using the ZF-buffer.

이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

(1) 1차 광선에 대한 ZF-버퍼 알고리즘(1) ZF-buffer algorithm for the primary ray

ZF-버퍼란 Z-버퍼와 Face 버퍼(이하 F-버퍼)의 두 가지 버퍼를 의미한다. Z-버퍼, F-버퍼, 그리고 화면은 모두 같은 크기이며 2차원적인 자료구조로 모든 좌표는 1대1 대응관계를 갖는다. Z-버퍼는 기존의 은면 제거에서 사용되는 버퍼이다. 광선추적법의 전처리 단계에서 적용되는 ZF-버퍼 방법은 Z-버퍼에서 결정한 물체의 깊이 값('z'값)의 주인이 되는 면(face) 자료의 식별자(pointer)를 F-버퍼에 수록한다.ZF-buffer refers to two buffers: Z-buffer and Face buffer (hereinafter referred to as F-buffer). Z-buffer, F-buffer, and screen are all the same size and two-dimensional data structure. All coordinates have one-to-one correspondence. Z-buffer is a buffer used in conventional masking. The ZF-buffer method, applied in the preprocessing step of ray tracing, records the identifier of the face data that is the master of the depth value ('z' value) of the object determined by the Z-buffer in the F-buffer. .

도 1에 도시된 바와 같이, 삼각형 그림을 만들기 위한 기존의 Z-버퍼 방법은 도 2(a)와 같이 카메라로부터 물체에 대한 거리를 계산한 후, 도 2(b)와 같이 가시성이 결정된 화소에 쉐이딩 모델을 적용하여 디스플레이 될 화면의 화소값을 결정한다.As shown in FIG. 1, the conventional Z-buffer method for making a triangular figure calculates a distance to an object from a camera as shown in FIG. 2 (a), and then applies the pixel to which visibility is determined as shown in FIG. 2 (b). The shading model is applied to determine the pixel value of the screen to be displayed.

그러나, 도 2c에 도시된 바와 같이 ZF-버퍼 방법에서 가까운 화소를 판별하는 과정은 Z-버퍼 방법과 같지만 화소값을 결정하는 대신에 화소를 포함하는 면의 식별자(pointer)를 F-버퍼에 기록한다 . 전처리 과정에서 F-버퍼를 생성하는 알고리즘은 다음 표 1과 같다.However, as shown in FIG. 2C, the process of determining a close pixel in the ZF-buffer method is the same as the Z-buffer method, but instead of determining the pixel value, a pointer of a surface including the pixel is written to the F-buffer. do . The algorithm for generating the F-buffer during the preprocessing is shown in Table 1 below.

ZF-버퍼를 위한 광선추적법 전처리 과정Ray Tracing Pretreatment for ZF-Buffers 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)를 넣는다.}}}for (all pixels (x, y)) Initialize Z-buffer [x] [y] to a very large value (infinity). Initialize F-buffer [x] [y] to NULL. // NULL means no one currently owns the z value} // transform the coordinate system for (vertex) {converts the vertex to screen coordinates using visual transformation and projection // the camera in the world coordinate system Convert Vertices to Coordinate System} // Determine the contents of the ZF-buffer for (All Faces) {Define all Faces (Polygons) for (All Pixel Positions on the Face (x, y)) {if (z of the current pixel Value <z value of the current pixel position recorded in Z-buffer [x, y]) {put z value of the current pixel in Z-buffer [x] [y] current in F-buffer [x] [y] Insert a memory pointer to a face, ie the polygon's geometry.}}}

표 1의 과정을 마치면 Z-버퍼에는 화면상에 나타낼 각 화소에 대한 카메라로부터의 거리 정보를 가지게 되고 F-버퍼에는 화면상에 나타낼 각 화소의 주인이 되는 면의 식별자를 가진다. 따라서, 광선추적법의 1차 광선과 만나는 면의 정보는 F-버퍼에 수록된 자료의 식별자를 이용함으로써 쉽게 결정할 수 있다. Z-버퍼는 F-버퍼를 결정하기 위해서 사용되고 렌더링 과정에서는 더 이상 사용되지 않는다.After completing the process of Table 1, the Z-buffer has distance information from the camera for each pixel to be displayed on the screen, and the F-buffer has an identifier of a surface that is the owner of each pixel to be displayed on the screen. Therefore, the information on the plane of the ray tracing that meets the primary ray can be easily determined by using the identifier of the data contained in the F-buffer. The Z-buffer is used to determine the F-buffer and is no longer used during the rendering process.

광선추적법 본 처리 과정에서는 F-버퍼 내용을 이용하여 쉐이딩 기법적용 텍스쳐 매핑 등의 기법을 적용한다. 이 과정은 기존의 광선추적법에서 교차판별이 수행된 후 가장 가까운 물체에 적용되는 기존의 알고리즘과 같으며 이에 대한 알고리즘은 표Ⅱ와 같다. ZF-버퍼는 기본적으로 vista 버퍼와 유사하지만, 바운딩 볼륨을 기록하는 것이 아니라 실제로 화면에 나타날 면의 식별자를 F-버퍼에 기록한다.Ray tracing method In this process, we apply shading techniques such as texture mapping using F-buffer contents. This process is the same as the existing algorithm applied to the nearest object after cross discrimination is performed in the conventional ray tracing method, and the algorithms are shown in Table II. ZF-buffers are basically similar to vista buffers, but they do not record the bounding volume, but rather the identifier of the side that will actually appear on the screen in the F-buffer.

따라서, 바운딩 볼륨을 사용했을 때 문제가 되는 추가 교차판별시간을 줄일 수 있고, F-버퍼에 기록된 면의 정보만을 이용하여 1차 광선에 보이는 면의 화소값을 결정할 수 있으므로 매우 빠른 수행시간을 갖는다.Therefore, it is possible to reduce the additional cross discrimination time which is a problem when using the bounding volume, and to determine the pixel value of the surface visible in the primary ray by using only the information of the surface recorded in the F-buffer. Have

ZF-버퍼 방법의 광선추적법 본처리 과정Ray tracing method of ZF-buffer method for(화면상의 모든 화소위치(x,y)) {if(F-buffer[x][y]의 값이 NULL이 아니면) {카메라로부터 화소방향으로 나가는 빛을 생성한다.이 빛과 물체가 만나는 위치를 계산한다.if 현재 면이 반사/굴절체 이면{if현재면에 ZF-버퍼가 생성되어 있지 않으면{새로운 카메라를 설정한다.새로운 카메라에 대응되는 화면을 설정한다.새로운 카메라에 대응되는 F-버퍼를 설정한다.이 함수를 재귀실행한다.결과 영상을 현재 면의 텍스쳐 뱁으로 지정한다.}텍스처 맵과 조명 정보를 이용해 반사후 색상을 결정한다.}}for (any pixel position on the screen (x, y)) {if (if value of F-buffer [x] [y] is not NULL) {Generates light exiting from the camera in the pixel direction. If the current plane is a reflection / refraction {if a ZF-buffer is not created on the current plane {set the new camera; set the screen corresponding to the new camera; the F corresponding to the new camera -Set the buffer. Recurse this function. Specify the resulting image as the texture of the current face.} Determine the color after reflection using the texture map and lighting information.}}

도 7a는 본 발명의 일 실시예에 의한 불투명/무반사 물체를 위한 광선추적법을 설명한 흐름도이다.7A is a flowchart illustrating a ray tracing method for an opaque / antireflective object according to an embodiment of the present invention.

렌더링할 물체의 기하 물체 및 물체의 표면 속성은 컴퓨터 그래픽스에서 표현하는 방법 중 하나로 polygon mesh를 사용한다. 폴리곤(polygon)이란 n개의 정점(vertex)을 연결한 직선으로 구획된 하나의 평면이다. 폴리곤이 여러 개 모여 물체의 모양을 구성한 것을 폴리곤 메쉬(polygon mesh)라고 한다. 물체의 모양과 더불어 물체를 표현하는 또 하나의 요소가 물체의 표면 속성정보이다. 색상이나 무늬 등이 이에 속한다.The geometry of the object to be rendered and the surface properties of the object use polygon meshes as one of the methods in computer graphics. A polygon is a plane divided by straight lines connecting n vertices. A polygon mesh is a polygon mesh that is composed of several polygons. In addition to the shape of the object, another element representing the object is surface property information of the object. This includes colors and patterns.

물체를 시각화하는 렌더링할 물체의 기하정보 및 물체의 표면속성을 설정하기 위해 모든 화소 위치 (x,y)에 대해 Z-버퍼[x,y]를 무한대로 설정하고 F-버퍼[x,y]를 널(NULL)로 설정하여 ZF-버퍼를 초기화한다(단계 S1).Set the Z-buffer [x, y] to infinity for all pixel positions (x, y) and set the F-buffer [x, y] to set the geometry of the object to be rendered and the surface properties of the object to visualize the object. Is set to null to initialize the ZF-buffer (step S1).

Z-버퍼와 F-버퍼는 화면과 동일한 크기를 갖는 2차원 배열이다. Z-버퍼는 카메라와 가장 가까운 물체의 깊이 정보를 갖는 배열로서 초기값으로 무한대(혹은 무한대에 가까운 큰 값)를 넣는다. F-버퍼는 카메라와 가장 가까운 물체의 식별자를 갖는 배열로서 초기값으로 아무것도 없음을 의미하는 NULL 값을 넣는다.Z-buffers and F-buffers are two-dimensional arrays with the same size as the screen. The Z-buffer is an array with depth information of the object closest to the camera, and puts infinity (or a large value close to infinity) as an initial value. The F-buffer is an array with the identifier of the object closest to the camera, with a NULL value indicating nothing at all.

모든 정점(vertex)에 대해 물체가 놓일 수 있는 절대 좌표인 세계 좌표계에서 관찰자 시점에서 본 카메라 좌표계(시각 좌표계)로 정점변환을 하는 좌표계를 변환하고(단계 S2) 모든 폴리곤(polygon)의 경계를 설정한다(단계 S3).Convert the coordinate system that transforms vertices from the world coordinate system that is the absolute coordinate where the object can be placed for all vertices to the camera coordinate system (visual coordinate system) viewed from the observer's point of view (step S2) and set the boundary of all polygons. (Step S3).

폴리곤에 속한 모든 화소 위치(x,y)에 대해 Z-버퍼[x,y]의 값이 현재 화소의 깊이(depth) 값보다 큰지를 체크하여(단계 S4) 크면 Z-버퍼[x,y] 값에 현재 화소의 깊이값을 할당하고 F-버퍼[x,y] 값에 현재 폴리곤 자료구조의 메모리 포인터를 할당한다(단계 S5).For all pixel positions (x, y) belonging to the polygon, check if the value of the Z-buffer [x, y] is greater than the depth value of the current pixel (step S4), and if it is large, the Z-buffer [x, y] The depth value of the current pixel is assigned to the value, and the memory pointer of the current polygon data structure is assigned to the F-buffer [x, y] value (step S5).

ZF-버퍼의 내용결정은 Z-버퍼 방법으로 빛과 교차할 물체를 결정하는 방법이다. Z-버퍼 방법이란 물체를 렌더링하는 방법 중 하나로서 3차원 물체를 2차원의 화면으로 나타날 때 생기는 차원정보의 소실을 Z-버퍼라는 보조 버퍼를 사용하여 보완하는 방법이다. Z-버퍼는 화면의 각 화소와 1대1 대응관계를 가지며 화면상에 표현된 화소의 깊이 정보를 갖는다.The content determination of ZF-buffer is a method of determining the object to intersect the light by Z-buffer method. The Z-buffer method is a method of rendering an object. The Z-buffer method compensates for the loss of dimensional information generated when a 3D object is displayed in a 2D screen by using an auxiliary buffer called a Z-buffer. The Z-buffer has a one-to-one correspondence with each pixel on the screen and has depth information of the pixels represented on the screen.

불투명/무반사 물체를 위한 광선추적법을 사용하는 경우 광선추적법 본처리 단계는 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(단계 S6) 널이 아니면(현재 위치에 면 식별자가 있으면) 카메라로부터 화소방향으로 나가는 빛을 생성, 이 빛과 물체가 만나는 위치 계산, 위치 값과 F-버퍼를 참조하여 얻어진 물체의 표면 속성으로부터 현재 화소의 색상을 결정하고(단계 S7), F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 결정한다(단계 S8).When using ray tracing for opaque / anti-reflective objects Ray tracing This processing step checks whether the F-buffer [x, y] value = NULL for every pixel position (x, y) on the screen (step S6). ) If not null (if there is a face identifier at the current position), it generates light exiting from the camera in the pixel direction, calculates the position where this light meets the object, and calculates the position of the current pixel from the surface properties of the object obtained by referring to the position value and the F-buffer. The color is determined (step S7), and if the F-buffer [x, y] value = NULL, the color of the current pixel position is determined as the background color (step S8).

현재 화소의 색상 결정 후, 결과 영상을 출력한다(단계 S9).After determining the color of the current pixel, the resultant image is output (step S9).

○광선추적법의 본처리○ Main processing of ray tracing method

광선추적법이란 카메라로부터 화면상의 모든 화소 방향으로 향하는 빛을 만들어 이와 만나는 물체의 표면 정보로 화소의 색상을 결정하는 방법이다. 이때, 빛과 만나는 물체를 판단하는 과정에서 많은 수행 시간이 요구되는데 이를 전처리 과정에서 만든 F-버퍼의 내용 참조로 속도를 개선하였다. F-버퍼[x,y]에 NULL이 아닌 값이 기록되어 있으면 광선이 어떤 물체와 만나며 F-버퍼에 기록된 값이 그 물체의 식별자이다. F-버퍼[x,y]의 값이 NULL이면 광선이 만나는 물체가 없음을 의미한다.The ray tracing method is a method of determining the color of a pixel based on the surface information of an object that meets the light generated from the camera toward all the pixels on the screen. At this time, a lot of execution time is required in the process of judging the object that meets the light, and the speed is improved by referring to the contents of the F-buffer made during the preprocessing. If a non-NULL value is recorded in the F-buffer [x, y], the ray meets an object and the value recorded in the F-buffer is the object's identifier. If the value of the F-buffer [x, y] is NULL, it means that no object meets the rays.

○재귀적 광선추적법○ Recursive ray tracing

재귀적 광선추적법이란 반사/굴절체를 표현하기 위하여 반사/굴절의 성질을갖는 물체에 입사된 광선이 반사/굴절되어 새로운 방향으로 나아가 또 다른 물체를 탐색하는 방법이다. ZF-버퍼 방법을 이용한 재귀적 광선추적법은 하나의 폴리곤에 의해 반사/굴절되는 모든 광선을 개별적으로 탐색하는 기존의 방법을 개선하여 폴리곤의 반대편에 새로운 카메라를 위치시켜 렌더링하고 이 결과 영상을 폴리곤에 매핑시키는 방법으로 재귀적 광선추적법을 구현하였다.The recursive ray tracing method is a method in which a ray incident on an object having a reflective / refractive property is reflected / refractored in order to express a reflective / refractive object and moves in a new direction to search for another object. Recursive ray tracing using the ZF-buffer method improves the existing method of individually navigating all rays reflected / refracted by a single polygon, placing a new camera on the opposite side of the polygon and rendering the resulting image We implemented a recursive ray tracing method by mapping to.

(2) 2차 광선에 대한 ZF-버퍼 적용(2) ZF-buffer application for secondary rays

ZF-버퍼방법은 광선이 나아갈 방향을 미리 예측할 수 있고 또 그 광선이 나아갈 방향을 쉽게 계산할 수 있는 경우에 적용할 수 있는 방법이기 때문에 기본적으로 1차 광선에 대해서만 적용이 가능하다. 그러나, 반사/굴절 등을 위한 2차 이후의 광선에 대해서도 1차 광선과 같은 조건을 만들어줄 경우 ZF-버퍼를 적용할 수 있다. 기존의 광선추적법에서는 1차 광선이 반사체에 닿으면 반사체와 광선의 상관관계에 따라 반사광선을 생성하고 반사광선의 시작점으로부터 동일 과정을 반복함으로써 반사 효과를 구현한다. 이에 반해 ZF-버퍼 방법을 이용한 재귀적 광선추적법은 광선 하나 하나의 반사를 이용하는 것이 아니라 반사면을 새로운 화면으로 설정하고 반사면 뒤에서 새로운 카메라를 설정하여 1차 광선과 같은 과정을 적용하는 것이다.The ZF-buffer method is basically applicable only to the primary ray because it can be used to predict the direction of the ray in advance and to easily calculate the direction of the ray. However, the ZF-buffer can be applied to the light beam after the secondary light for reflection / refraction, etc., if the same conditions as the primary light beam are made. In the conventional ray tracing method, when the primary ray touches the reflector, the reflected ray is generated according to the correlation between the reflector and the ray, and the reflection process is realized by repeating the same process from the starting point of the reflected ray. In contrast, the recursive ray tracing method using the ZF-buffer method does not use a single ray of reflection, but sets the reflective surface to a new screen and sets a new camera behind the reflective surface to apply the same process as the primary ray.

도 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 을 구하기 위해서는 임의의 면을 기준으로 주어진 점의 반대편 대응 위치를 구해야 하며 그 과정은 다음과 같다.3 illustrates a reflection process that occurs when one side f of the reflector is viewed from the position of the camera C 0 . When the primary ray generated by the first camera C 0 that generates the primary ray meets the reflection plane f , it generates a secondary ray r . The new camera C 1 created on the opposite side of the reflection plane f with r is located opposite the same distance as the original camera C 0 . The ray generated by C 1 becomes the secondary ray reflected by plane f for the first camera C 0 , but is the primary ray for camera C 1 . To find C 1 , we need to find the opposite position of the given point with respect to the arbitrary plane. The process is as follows.

도 4를 참조하면,tX에서 평면P상의 가장 가까운 점이고,Xt와의 거리를 α라고 할 때, 다음 수학식 (1)과 같은 관계를 갖는다.Referring to Figure 4, t is to say the distance between the plane near jeomyigo, X and t on the P in X α, have a relation of the following Equation (1).

t는 평면P상의 점이므로 P(t)=0이고 t=x-α*normal(P)이므로 다음 수학식 (2)에 의해 α값을 계산할 수 있다. Since t is a point on the plane P , P (t) = 0 and t = x−α * normal (P), and α may be calculated by the following equation (2).

또한,이고X't를 기준으로P노멀(normal)의 반대 방향이므로 상기 수학식 (3)에 의해 반대방향의 점X'가 결정된다.Also, And X ' is the opposite direction of P normal with respect to t, and the point X' in the opposite direction is determined by Equation (3).

이때, 평면P의 식을 ax+by+cz+d이라 하고, 수학식(2)와 (3)을 이용하면, 다음 수학식 (4)가 된다.At this time, the equation of the plane P is called ax + by + cz + d. Using equations (2) and (3), the following equation (4) is obtained.

그러나, 카메라 좌표계의 축을 나타내는 U, V, N 방향벡터를 계산할 때,P의 평면 방정식 중 d는 의미가 없으므로, 다음 수학식(5)에 의해 위치성분X'와 방향성분X''를 계산한다.However, when calculating the U, V, and N direction vectors representing the axes of the camera coordinate system, d is not meaningful in the plane equations of P. Therefore, the position component X ' and the direction component X'' are calculated by the following equation (5). .

위 식에서 (4)의 식을 f(x), (5)의 식을 g(x)라고 하면, 다음 수학식 (6)을 이용하여 C1의 카메라 행렬을 다음과 같이 결정한다.In the above equation, if the equation of (4) is f (x) and (5) is g (x), the camera matrix of C 1 is determined as follows using Equation (6).

위와 같이 결정된 카메라 위치C 1 으로부터 ZF-버퍼 방법을 적용하면C 0 로부터의 반사 효과를 구현할 수 있다. 표 3은 ZF-버퍼 방법의 재귀적 광선추적법을 위한 의사(pseudo) 코드이다.By applying the ZF-buffer method from the camera position C 1 determined as described above, the reflection effect from C 0 can be realized. Table 3 shows pseudo codes for the recursive ray tracing method of the ZF-buffer method.

도 7b는 본 발명의 일 실시예에 의한 반사/굴절 효과를 위한 재귀적 광선추적법을 설명한 흐름도이다.7B is a flowchart illustrating a recursive ray tracing method for the reflection / refraction effect according to an embodiment of the present invention.

반사/굴절 효과를 위한 재귀적 광선추적법을 사용하는 경우 상기 광선추적법 본처리 단계는 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(단계 S16) 널이 아니면 카메라로부터 화소 방향으로 나가는 빛을 생성하고 이 빛을 물체가 만나는 위치를 계산하고(단계 S17) 현재면이 반사/굴절체인지를 체크한다(단계 S18).In case of using the recursive ray tracing method for the reflection / refraction effect, the ray tracing method processing step checks whether the F-buffer [x, y] value = NULL for every pixel position (x, y) on the screen. (Step S16) If it is not null, it generates light exiting from the camera in the pixel direction, calculates the position where the light meets the object (step S17), and checks whether the current plane is a reflection / refractive object (step S18).

F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 설정하고(S22) 상기 결과 영상을 출력하는 단계(S23); 및Setting the color of the current pixel position to a background color if the F-buffer [x, y] value = NULL (S22) and outputting the resultant image (S23); And

현재면의 반사/굴절체이면 현재면에 ZF-버퍼가 생성되어 있는지를 체크하여(단계 S19) 상기 ZF-버퍼가 생성되어 있지 않으면 새로운 카메라를 설정, 새로운 카메라에 대응하는 화면 설정, 새로운 카메라에 대응하는 F-버퍼 설정, 이 함수를 재귀 실행, 결과 영상을 현재 면의 텍스쳐 맵으로 지정하고(단계 S20), 상기 ZF-버퍼가 생성되어 있으면 텍스쳐 맵과 조명정보를 이용하여 반사후 색상을 결정한(단계 S21) 다음 상기 결과 영상을 출력한다(단계 S23).If the current surface is a reflection / refraction, it is checked whether a ZF-buffer is created on the current surface (step S19). If the ZF-buffer is not created, a new camera is set, a screen setting corresponding to the new camera, and a new camera Set the corresponding F-buffer, recursively execute this function, specify the resulting image as the texture map of the current surface (step S20), and if the ZF-buffer is generated, determine the color after reflection using the texture map and lighting information. (Step S21) Next, the resultant image is output (step S23).

ZF-버퍼 재귀적 광선추적법ZF-Buffer Recursive Ray Tracing for (화면상의 모든 화소위치(x,y)){if(F-버퍼[x,y]의 값이 NULL이 아니면){카메라로부터 화소방향으로 나가는 빛을 생성한다.이 빛과 물체가 만나는 위치를 계산한다.if(현재 면이 반사/굴절체이면){if(현재면에 ZF-버퍼가 생성되어 있지 않으면){새로운 카메라를 설정한다. 새로운 카메라에 대응되는 화면을 설정한다. 새로운 카메라에 대응되는 F-버퍼를 설정한다. 이 함수를 재귀실행한다. 결과여상을 현재 면의 텍스쳐 뱁으로 지정한다.}텍스쳐 뱁과 조명 정보를 이용해 반사후 색상을 결정한다.}··for (any pixel position on the screen (x, y)) {if (if the value of the F-buffer [x, y] is not NULL) {Creates light exiting from the camera in the pixel direction. If (if the current plane is a reflection / refraction) {if (if a ZF-buffer is not created on the current plane) { Set up a new camera. Set the screen corresponding to the new camera. Set the F-buffer corresponding to the new camera. Recurse this function. Set the resulting image to the texture of the current face. } Use the texture beam and lighting information to determine the color after reflection.

도 5는 유타 주전자 영상(다각형 수:9216)을 나타내고, 도 6은 거울에 반사된 유타주전자 영상을 나타낸다.FIG. 5 shows a Utah kettle image (polygon number 9216), and FIG. 6 shows a Utah kettle image reflected in a mirror.

본 발명에 의한 ZF-버퍼를 이용하여 광선추적법은 구현결과 vista-버퍼와 같은 기존 방법에 비해서 다음 표 4 및 표 5와 같은 속도 향상이 있었다. 이는 하드웨어 가속 없이 테스트 한 결과이다.The ray tracing method using the ZF-buffer according to the present invention has the result of speed improvement compared to the existing method such as vista-buffer as shown in Tables 4 and 5. This is the result of testing without hardware acceleration.

ZF-버퍼와 vista-버퍼 수행 시간 비교ZF-buffer vs. vista-buffer execution time comparison 다각형수Polygons ZF-버퍼(초)ZF-buffer (sec) vista-버퍼(초)vista-buffer (sec) 속도개선(배)Speed improvement (times) 12482304409692161248230440969216 0.2250.2300.2310.2400.2250.2300.2310.240 0.6950.7200.7540.8200.6950.7200.7540.820 3.083.133.263.413.083.133.263.41

ZF-버퍼와 vista-버퍼 수행 시간 비교ZF-buffer vs. vista-buffer execution time comparison 반사면 크기세계좌표계 \ 다각형수Reflective surface size world coordinate system \ polygon number 200x200200 x 200 400x400400 x 400 12482304409692161248230440969216 0.741초0.745초0.750초0.760초0.741 sec 0.745 sec 0.750 sec 0.760 sec 2.010초2.011초2.015초2.021초(도6)2.010 sec 2.011 sec 2.015 sec 2.021 sec (Figure 6)

따라서, ZF-버퍼를 이용하여 광선추적법의 속도를 vista-버퍼에 비해 3배 이상의 속도를 개선함으로써 영상 제작도구에 적용할 경우 영상물 제작시간을 단축할 수 있어 실시간 처리가 가능하다.Therefore, by using ZF-buffer to improve the speed of ray tracing method more than 3 times compared to vista-buffer, it is possible to shorten the time to produce the image when applied to the image production tool.

상술한 바와 같이, 본 발명에 의한 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법은 처리 시간에 있어서 vista-버퍼에 비해 3배 이상의 개선이 있었으며 처리하는 개체 수가 많아질수록 속도 개선 효과가 있다.As described above, the method of improving the speed of the ray tracing method using the ZF-buffer according to the present invention has improved more than three times in comparison with the vista-buffer in the processing time, and as the number of objects to be processed increases, the speed improving effect is achieved. There is.

또한, ZF-버퍼를 이용하여 광선추적법의 속도 개선 기술을 영상제작도구에 적용할 경우 영상물 제작시간 단축이 가능하며, 하드웨어 가속기를 사용할 경우 실시간적인 처리가 가능할 것으로 예측된다.In addition, if the speed improvement technique of the ray tracing method is applied to the image production tool using the ZF-buffer, it is expected that the production time of the image can be shortened and the real-time processing can be performed by using the hardware accelerator.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art will be able to variously modify and change the present invention without departing from the spirit and scope of the invention as set forth in the claims below. It will be appreciated.

Claims (4)

컴퓨터 그래픽스 분야의 광선추적법에 의한 영상 생성 기법에 있어서:In ray tracing method of computer graphics, 폴리곤 메쉬(polygon mesh) 방법을 사용하여 렌더링할 물체의 모양 등과 같은 기하정보 및 물체의 색상과 무늬 등과 같은 표면속성을 추출하는 단계;Extracting geometric information such as a shape of an object to be rendered and surface properties such as a color and a pattern of the object by using a polygon mesh method; 상기 단계가 수행된 후 Z-버퍼에서 결정한 물체의 깊이 값의 주인이 되는 면(face) 자료의 식별자(pointer)를 F-버퍼에 수록하는 ZF-버퍼를 위한 전처리 단계;A preprocessing step for the ZF-buffer which records, in the F-buffer, a pointer of the face data which is the master of the depth value of the object determined in the Z-buffer after the step is performed; 상기 단계가 수행된 후 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼 값이 널(NULL)인지를 체크하여 그 결과에 따라 현재 화소의 색상을 결정하는 광선추적법 본처리 단계; 및A ray tracing main processing step of checking whether the F-buffer value is null for all pixel positions (x, y) on the screen after the step is performed and determining the color of the current pixel according to the result; And 상기 단계가 수행된 후 결과 영상을 출력하는 단계로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.And outputting the resultant image after the step is performed. 제 1 항에 있어서,The method of claim 1, 상기 ZF-버퍼를 위한 전처리 단계는The pretreatment step for the ZF-buffer is 렌더링할 물체의 기하정보 및 물체의 표면속성을 설정하기 위해 모든 화소 위치 (x,y)에 대해 Z-버퍼[x,y]를 무한대로 설정하고 F-버퍼[x,y]를 널(NULL)로 설정하여 ZF-버퍼를 초기화하는 단계(S1);To set the geometry of the object to be rendered and the surface properties of the object, set Z-buffer [x, y] to infinity for all pixel positions (x, y) and set F-buffer [x, y] to null. Initializing the ZF-buffer by setting (S1); 모든 정점(vertex)에 대해 세계좌표계에서 카메라 좌표계로 정점변환을 하는 좌표계를 변환하고(S2) 모든 폴리곤(polygon)의 경계를 설정하는 단계(S3); 및Transforming a coordinate system for vertex transformation from a world coordinate system to a camera coordinate system for all vertices (S2) and setting a boundary of all polygons (S3); And 폴리곤에 속한 모든 화소 위치(x,y)에 대해 Z-버퍼[x,y]의 값이 현재 화소의 깊이(depth) 값보다 큰지를 체크하여(S4) 크면 Z-버퍼[x,y] 값에 현재 화소의 깊이값을 할당하고 F-버퍼[x,y] 값에 현재 폴리곤 자료구조의 메모리 포인터를 할당하는 단계(S5)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.For all pixel positions (x, y) belonging to the polygon, check if the value of the Z-buffer [x, y] is greater than the depth value of the current pixel (S4). Allocating a depth value of the current pixel to and assigning a memory pointer of the current polygon data structure to an F-buffer [x, y] value (S5). How to improve speed. 제 1 항에 있어서,The method of claim 1, 불투명/무반사 물체를 위한 광선추적법을 사용하는 경우, 상기 광선추적법 본처리 단계는When using ray tracing for opaque / reflective objects, the ray tracing main processing step 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(S6) 널이 아니면(현재 위치에 면 식별자가 있으면) 카메라로부터 화소방향으로 나가는 빛을 생성, 이 빛과 물체가 만나는 위치 계산, 위치 값과 F-버퍼를 참조하여 얻어진 물체의 표면 속성으로부터 현재 화소의 색상을 결정하고(S7), F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 결정하는 단계(S8)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.For every pixel position (x, y) on the screen, we check if the F-buffer [x, y] value is NULL (S6) and if it is not null (if there is a face identifier at the current position), the light exiting from the camera in the pixel direction is emitted. Create, calculate the location where this light meets the object, determine the color of the current pixel from the surface properties of the object obtained by referring to the position value and the F-buffer (S7), and if the F-buffer [x, y] value = NULL, And (S8) determining the color of the pixel position as the background color. 제 1 항에 있어서,The method of claim 1, 반사/굴절 효과를 위한 재귀적 광선추적법을 사용하는 경우, 상기 광선추적법 본처리 단계는When using the recursive ray tracing method for the reflection / refraction effect, the ray tracing main processing step is 화면상의 모든 화소 위치(x,y)에 대해 F-버퍼[x,y]값=NULL인지를 체크하여(S16) 널이 아니면 카메라로부터 화소 방향으로 나가는 빛을 생성하고 이 빛을 물체가 만나는 위치를 계산하고(S17) 현재면이 반사/굴절체인지를 체크하는 단계(S18);Check if the F-buffer [x, y] value = NULL for every pixel position (x, y) on the screen (S16), if it is not null, generate the light exiting from the camera in the pixel direction and where the object meets this light. Calculating (S17) and checking whether the current surface is a reflection / refractive object (S18); F-버퍼[x,y]값=NULL이면 현재 화소 위치의 색상을 배경색으로 설정하고(S22) 상기 결과 영상을 출력하는 단계(S23); 및Setting the color of the current pixel position to a background color if the F-buffer [x, y] value = NULL (S22) and outputting the resultant image (S23); And 현재면의 반사/굴절체이면 현재면에 ZF-버퍼가 생성되어 있는지를 체크하여(S19) 상기 ZF-버퍼가 생성되어 있지 않으면 새로운 카메라를 설정, 새로운 카메라에 대응하는 화면 설정, 새로운 카메라에 대응하는 F-버퍼 설정, 이 함수를 재귀 실행, 결과 영상을 현재 면의 텍스쳐 맵으로 지정하고(S20), 상기 ZF-버퍼가 생성되어 있으면 텍스쳐 맵과 조명정보를 이용하여 반사후 색상을 결정한(S21) 다음 상기 결과 영상을 출력하는 단계(S23)로 구성되는 것을 특징으로 하는 ZF-버퍼를 이용하여 광선추적법의 속도를 개선하는 방법.If it is a reflection / refraction of the current surface, it is checked whether a ZF-buffer is created on the current surface (S19). Setting the F-buffer, recursively executing this function, and assigning the resultant image as the texture map of the current plane (S20). And then outputting the resultant image (S23), wherein the speed of the ray tracing method is improved by using the ZF-buffer.
KR10-2000-0033962A 2000-06-20 2000-06-20 Ray-tracing acceleration method using ZF-buffer KR100372901B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0033962A KR100372901B1 (en) 2000-06-20 2000-06-20 Ray-tracing acceleration method using ZF-buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0033962A KR100372901B1 (en) 2000-06-20 2000-06-20 Ray-tracing acceleration method using ZF-buffer

Publications (2)

Publication Number Publication Date
KR20010114046A KR20010114046A (en) 2001-12-29
KR100372901B1 true KR100372901B1 (en) 2003-02-19

Family

ID=19672808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0033962A KR100372901B1 (en) 2000-06-20 2000-06-20 Ray-tracing acceleration method using ZF-buffer

Country Status (1)

Country Link
KR (1) KR100372901B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110124865A (en) * 2010-05-12 2011-11-18 삼성전자주식회사 Image processing apparatus and method
US10008025B2 (en) 2014-07-07 2018-06-26 Samsung Electronics Co., Ltd. Rendering system and rendering method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101536197B1 (en) 2008-02-27 2015-07-13 삼성전자주식회사 3-dimensional image processor and processing method
US10354432B2 (en) 2016-01-15 2019-07-16 Intel Corporation Texture space shading and reconstruction for ray tracing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176167A (en) * 1992-12-04 1994-06-24 Fujitsu Ltd Ray tracing processing system
KR960032202A (en) * 1995-02-28 1996-09-17 김광호 RAM for 3D Graphics
KR19990058729A (en) * 1997-12-30 1999-07-15 구본준 High Speed Jet Buffer Circuit Using First In First Out
JPH11353496A (en) * 1998-06-10 1999-12-24 Ken Nishimura Intersection search device for light ray tracing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06176167A (en) * 1992-12-04 1994-06-24 Fujitsu Ltd Ray tracing processing system
KR960032202A (en) * 1995-02-28 1996-09-17 김광호 RAM for 3D Graphics
KR19990058729A (en) * 1997-12-30 1999-07-15 구본준 High Speed Jet Buffer Circuit Using First In First Out
JPH11353496A (en) * 1998-06-10 1999-12-24 Ken Nishimura Intersection search device for light ray tracing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110124865A (en) * 2010-05-12 2011-11-18 삼성전자주식회사 Image processing apparatus and method
KR101630181B1 (en) 2010-05-12 2016-06-14 삼성전자주식회사 Image processing apparatus and method
US10008025B2 (en) 2014-07-07 2018-06-26 Samsung Electronics Co., Ltd. Rendering system and rendering method thereof

Also Published As

Publication number Publication date
KR20010114046A (en) 2001-12-29

Similar Documents

Publication Publication Date Title
US12067669B2 (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 (en) How to shade a 3D image
JPH06223198A (en) Device and method for image preparation by light beam tracking
US6825840B2 (en) System and method of adjusting ray origins when shading vertices with rays
McLaren et al. Visualisation of digital terrain models: techniques and applications
JPH0757117A (en) Forming method of index to texture map and computer control display system
JP2009525526A (en) Method for synthesizing virtual images by beam emission
KR102151443B1 (en) Graphics processing apparatus based on hybrid gpu architecture
US11341708B2 (en) Graphics processing
US6791544B1 (en) Shadow rendering system and method
Vyatkin et al. Voxel Volumes volume-oriented visualization system
JP3629243B2 (en) Image processing apparatus and method for rendering shading process using distance component in modeling
KR100372901B1 (en) Ray-tracing acceleration method using ZF-buffer
KR100256472B1 (en) Efficient rendering utilizing user defined rooms and windows
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
JP3181464B2 (en) Global illumination rendering method and apparatus
US20240355039A1 (en) Watertight ray triangle intersection
CN116993894B (en) Virtual picture generation method, device, equipment, storage medium and program product
Marschner et al. Ray Tracing

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