KR20090065353A - Ray tracing device based on pixel processing element and method thereof - Google Patents
Ray tracing device based on pixel processing element and method thereof Download PDFInfo
- Publication number
- KR20090065353A KR20090065353A KR1020070132853A KR20070132853A KR20090065353A KR 20090065353 A KR20090065353 A KR 20090065353A KR 1020070132853 A KR1020070132853 A KR 1020070132853A KR 20070132853 A KR20070132853 A KR 20070132853A KR 20090065353 A KR20090065353 A KR 20090065353A
- Authority
- KR
- South Korea
- Prior art keywords
- ray
- pixel
- collision
- processing element
- light
- Prior art date
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
본 발명은 광선 추적 방법에 관한 것으로, 특히, 픽셀별 병렬 처리를 통해 한 픽셀(pixel)에 대해 복수개의 광선 다발을 생성하여 렌더링(rendering) 할 그래픽 데이터(graphic data)가 존재하는 장면에서 생성된 복수개의 광선을 추적하고, 광선과 장면과의 충돌 검사(intersection test) 결과를 이용하여 픽셀의 컬러 값을 결정하는 쉐이딩 처리의 반복적 수행을 통해 광선 추적 속도를 높이도록 하는 픽셀 단위 처리 요소(pixel processing element : PPE) 기반의 광선 추적 장치 및 방법에 관한 것이다.BACKGROUND OF THE
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-045-02, 과제명 : 기능확장형 초고속 랜더러 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task Management No .: 2006-S-045-02, Task name: Development of a function-extended ultrafast renderer].
현재 그래픽 기술은 모델링, 애니메이션, 렌더링 기술로 나누어 보면 렌더링 기술에서 많은 시간이 소요되어 실시간 성이 요구되는 게임을 제외하고 영화나 광 고 TV 애니메이션 분야에서 렌더링 시간이 가장 많은 노력과 시간이 요구된다. 렌더링 기술은 모델링 과정을 거쳐 생성된 3차원 그래픽 데이터를 카메라가 보고 있는 시점에서 2차원 이미지를 만들어 내는 것을 말하며, 그 방법으로는 광선 추적법, 포톤 맵, 발광(irradiance) 캐싱 방법 등이 있다. 이중에서도 광선 추적법은 가장 많이 사용되고 있으나 프로덕션(production)에서는 시간이 많이 걸리는 이유로 사용을 꺼리고 있다. Currently, graphics technology can be divided into modeling, animation, and rendering technology, which requires a lot of time in rendering technology, and requires the most time and effort to render in film or advertising TV animation, except games that require real-time performance. Rendering technology refers to generating two-dimensional images of the three-dimensional graphic data generated through the modeling process at the point of view of the camera, and methods include ray tracing, photon map, and illumination caching. Ray tracing is the most popular of these, but it is reluctant to use it for production because it is time consuming.
이러한 상황에서 광선 추적법의 성능 향상 및 속도 향상은 필수적이라 할 수 있는데, 종래의 기술들은 대부분 실시간 광선 추적을 위한 하드웨어 구조들이 제안되고 있다. 특히 Sarland universty에서 연구 및 개발한 SaarCor chip과 독일의 ART VPS에서 개발한 RayBox 등이 상품화되고 있으며, 스텐포드와 유타 대학 등에서도 실시간 광선 추적을 그래픽 프로세싱 유닛(graphic processing unit : GPU)을 이용하여 가속하는 방법 등에 대하여 연구를 활발히 진행 중에 있다. 그러나, 이러한 연구들은 여전히 메모리 대역폭에 제한을 받고 있으며 이는 근본적인 병목점이 되어 왔다. In this situation, it is essential to improve the performance and speed of ray tracing, and in the related art, hardware structures for real-time ray tracing are mostly proposed. In particular, SaarCor chip researched and developed by Sarland universty and RayBox developed by ART VPS in Germany are commercialized.In addition, Stanford and the University of Utah have accelerated real-time ray tracing using graphic processing unit (GPU). We are actively researching methods. However, these studies are still limited in memory bandwidth, which has been a fundamental bottleneck.
이하에서는, 광선 추적을 이용한 종래의 렌더링 기술에 대하여 도 1을 참조하여 설명하기로 한다. Hereinafter, a conventional rendering technique using ray tracing will be described with reference to FIG. 1.
도 1은 종래의 광선 추적법의 개념을 도시한 도면으로, 위 도 1을 참조하면, 렌더링될 이미지는 이미지 평면(image plane)(100)이고, 이미지 평면(100)에 존재하는 픽셀의 컬러 값을 채우는 것이 렌더링이라고 한다면, 픽셀의 컬러 값은 이미지 평면(100)에 있는 그 픽셀을 통하여 들어오는 광선이 눈으로 들어오는 컬러 값 즉 빛의 세기 및 색깔이라고 할 수 있다. 1 is a diagram illustrating a conventional ray tracing concept. Referring to FIG. 1, the image to be rendered is an
픽셀을 통해서 눈으로 들오는 컬러 값을 계산하기 위하여 광선 추적법을 사용함에 있어서는 눈에서 픽셀로 나아가는 광선을 생성하는데, 이를 제1차 광선(1st ray)(102)이라 한다. 이때, 제1차 광선(102)과 렌더링될 그래픽 물체(104)와 만나는 경우 충돌점(hitting point)(103)에서 표면의 노말 벡터(normal vector)(106)를 계산하고, 이를 이용하여 물체의 재질에 따라 반사광(reflection ray)(108) 또는 굴절광(혹은 투과광 : refraction ray)(110)을 발생시키며, 제1차 광선과 물체가 만나는 점에서 그림자가 생기는지 알아보기 위하여 광원(light)(113)으로 직접광(direct ray)(112)을 발생시킨다. In using ray tracing to calculate the color value coming into the eye through the pixel, a ray that goes from the eye to the pixel is generated, which is called the
이렇게 생성된 광선을 제2차 광선이라고 하는데, 제2차 광선과 그래픽 물체(104)와 만나면 또 다른 제2차 광선을 생성하고 직접광을 생성한다. 이러한 과정을 계속 반복하여 재질의 컬러 값을 재귀적으로 계산하여 누적한 값이 그 픽셀을 통해서 들어오는 컬러 값으로 결정된다. 여기서 얼마나 제2차 광선을 반복하여 생성하느냐 하는 것은 렌더러 설계자 혹은 디자이너의 몫이다. 또한 부드러운 이미지 효과를 획득하기 위하여 반사광 및 굴절광과 직접광을 확률적인 샘플링 방법에 의하여 각각 1개 이상의 광선을 생성한다. The generated rays are called secondary rays, and when they meet the secondary rays and the
이때, 상기와 같은 종래 방법으로 광선 추적법을 행할 경우 제2차 광선의 생성 횟수가 늘어날수록 광선과 물체와의 충돌 검사 및 충돌점 계산량이 기하급수적으로 늘어나게 되는데, 이러한 계산은 재귀적으로 수행하기 때문에 병렬 계산을 하기 힘든 문제점이 있었다. In this case, when the ray tracing method is performed according to the conventional method as described above, as the number of generations of the second ray increases, the collision inspection and collision point calculation amount between the ray and the object increase exponentially, and this calculation is performed recursively. As a result, it was difficult to perform parallel computations.
또한, 상기 종래 충돌 검사 방법에는 장면을 바운딩 볼륨 계층 구조로 구성하거나 kd-tree와 같은 이진트리(binary tree)로 구성하여 광선과 장면 내에 물체와 충돌을 가속하는 방법을 사용한다. 여기에서 장면 내에 물체가 매 프레임 마다 변형 혹은 이동 및 회전을 할 경우, 계층 구조 및 트리 구조를 재 생성해야 하는 문제점이 있었다. 이를 위해 종래에는 이러한 충돌 검사를 가속하기 위하여 전용 하드웨어를 이용하거나, GPU(graphic processing unit)를 이용하는 연구가 많이 진행되고 있으나, 전용 하드웨어 및 GPU의 경우 매 프레임마다 장면을 구성하는 트리 및 계층 구조가 바뀔 경우, 매 프레임 마다 전용하드웨어 및 GPU 보드 상 메모리에 저장해야 되므로 메모리 대역폭을 줄이는 문제점이 있었다.In addition, the conventional collision detection method uses a method of accelerating collision with an object in a scene by configuring a scene in a bounding volume hierarchy or a binary tree such as kd-tree. Here, when objects in the scene are transformed, moved or rotated every frame, there is a problem in that the hierarchical structure and the tree structure must be regenerated. To this end, in order to accelerate such collision detection, researches using a dedicated hardware or a graphic processing unit (GPU) have been much progressed. However, in the case of dedicated hardware and a GPU, a tree and a hierarchical structure constituting a scene is provided every frame. In case of change, it has to be stored in dedicated hardware and memory on GPU board every frame, thus reducing the memory bandwidth.
따라서 본 발명은 매 프레임마다 변하는 계층 및 트리구조에 대한 메모리 대역폭 문제를 해결하기 위하여 계층 구조와 트리구조를 병행하여 사용하고, GPU 및 광선 추적기를 일체화하여 디스플레이에 포함 시켜서 CPU 및 GPU간의 버스 병목을 원천 차단함으로서 메인 메모리 접근을 최소화하며, 또한 광선 추적을 병렬화하여 픽셀 단위로 처리함으로서 CPU의 광선 추적에 대한 계산 부담을 줄일 수 있도록 하는 픽셀 단위 처리 요소 기반의 광선추적 장치 및 방법을 제공하고자 한다.Therefore, in order to solve the memory bandwidth problem of the hierarchical and tree structures that change every frame, the present invention uses the hierarchical structure and the tree structure in parallel, and integrates the GPU and the ray tracker into the display to eliminate the bus bottleneck between the CPU and the GPU. In order to minimize the main memory access by blocking the source, and to parallelize ray tracing and to process pixel by pixel, a ray tracing device and method based on a pixel processing element for reducing the computational burden on ray tracing of the CPU are provided.
상술한 목적을 달성하기 위한 본 발명은 픽셀 단위 처리 요소 기반의 광선 추적 장치로서, 메인 메모리로부터 매 프레임 단위로 렌더링이 수행될 이미지 데이터를 입력받아 저장하는 내부 공유 메모리와, 상기 내부 공유 메모리로 입력되는 데이터 중 사용빈도가 많은 데이터를 저장하는 계층적 캐시와, 상기 계층적 캐시에 저장된 매 프레임 단위의 이미지 데이터에 대하여 픽셀별 병렬로 광선 추적을 행하는 픽셀 처리 요소(PPE) 처리부와, 상기 광선 추적 결과에 따른 각 픽셀의 다양한 컬러값을 누적 계산하여 픽셀별 컬러 값을 결정하는 쉐이딩 처리기를 포함하며,According to an aspect of the present invention, there is provided a ray tracing device based on a pixel-processing element, comprising: an internal shared memory configured to receive image data to be rendered on a frame-by-frame basis from a main memory, and to the internal shared memory; A hierarchical cache for storing frequently used data among the data, a pixel processing element (PPE) processing unit for performing ray tracing in parallel on a pixel-by-pixel basis for image data of every frame unit stored in the hierarchical cache, and the ray tracing It includes a shading processor that cumulatively calculates various color values of each pixel according to the result to determine color values for each pixel.
상기 픽셀 처리 요소 처리부는, 계층적 캐시로부터 입력된 샘플 테이블과 카메라 정보로부터 제1차 광선을 생성하는 제1차 광선 생성부와, 제1차 광선 생성부에서 출력된 제1광선과 장면 내에 물체와 충돌을 검사하는 전체 트리 및 계층 탐색 부(total tree traversal)와, 상기 전체 트리 및 계층 탐색부에서 결정된 충돌 정보와 충돌한 물체의 재질을 이용하여 상기 제1차 광선에 의한 반사광, 굴절광 및 직접광을 제2차 광선으로 생성하는 제2차 광선 생성부를 포함하는 것을 특징으로 한다.The pixel processing element processor may include a first ray generator that generates a first ray from a sample table and camera information input from a hierarchical cache, a first ray output from the first ray generator, and an object in a scene. And total tree traversal for checking collisions with and the reflected light, refraction light, and the like by using the material of the object collided with collision information determined by the entire tree and hierarchy search unit. And a second light beam generator configured to generate the direct light as the second light beam.
또한, 본 발명은 픽셀 단위 처리 요소 기반의 광선 추적 방법으로서, 매 프레임 단위로 렌더링 수행될 이미지 데이터를 입력받는 단계와, 상기 입력 데이터 중 사용빈도가 많은 데이터를 계층적 캐시에 저장하는 단계와, 상기 계층적 캐시에 저장된 매 프레임 단위의 이미지 데이터에 대하여 픽셀별 병렬로 광선 추적을 수행하는 단계와, 상기 광선 추적 결과에 따라 픽셀별 제1/제2차 광선 및 직접광으로부터 들어온 컬러값을 계산하고, 이를 누적하여 각 픽셀의 컬러값을 산출하는 단계를 포함하며,In addition, the present invention provides a ray tracing method based on a pixel-based processing element, the method comprising: receiving image data to be rendered every frame, storing frequently used data among the input data in a hierarchical cache; Performing ray tracing in parallel on a pixel-by-pixel basis for image data stored in the hierarchical cache every frame unit, and calculating color values from first and second light rays and direct light for each pixel according to the ray tracing result; Calculating the color values of each pixel by accumulating them,
상기 광선추적 단계는 상기 계층적 캐시로부터 입력된 샘플 테이블과 카메라 정보로부터 이미지 데이터 픽셀별 제1차 광선을 생성하는 단계와, 상기 제1차 광선이 장면 내에 물체와 충돌하는지를 검사하는 단계와, 상기 제1차 광선과 상기 물체의 충돌 시 상기 제1광선에 의한 제2차 광선으로 반사광, 굴절광 및 직접광을 생성하는 단계를 포함하는 것을 특징으로 한다.The ray tracing step may include generating a primary ray for each image data pixel from a sample table and camera information input from the hierarchical cache, inspecting whether the primary ray collides with an object in a scene, and And generating reflected light, refracted light, and direct light as the second light beam by the first light beam when the first light beam collides with the object.
본 발명에 의한 픽셀단위 처리에 기반한 광선 추적 장치 및 방법에 따르면 픽셀 단위 처리 요소를 이용하여 렌더링할 물체를 픽셀단위로 병렬로 처리할 수 있 어 스케일러블(scalable)한 구조를 제공할 수 있으며, 픽셀단위 처리 요소들과 디스플레이를 일체화시킴으로써, CPU(Central Processing Unit)와 GPU와의 버스 병목을 해소하고, CPU에서 렌더링을 계산을 하지 않기 때문에 CPU에 대한 부담을 줄여 렌더링 전용 하드웨어 구조가 가능한 효과가 있다.According to the ray tracing apparatus and method based on the pixel-by-pixel processing according to the present invention it is possible to provide a scalable structure by processing the object to be rendered in a pixel-by-pixel using a pixel-processing element, By integrating the display with pixel-based processing elements, it eliminates bus bottlenecks between the Central Processing Unit (CPU) and the GPU and reduces the burden on the CPU because it does not calculate rendering on the CPU. .
또한, 장면을 구성하는 계층 구조 및 트리 구조 탐색에 있어서 충돌 검사 이전에 광선과 충돌 검사할 물체 혹은 물체의 좌표계(로컬 좌표계)로 변환하는 좌표 변환기를 포함하고, 충돌검사 후 출력 단에는 좌표 역변환기를 포함하여 물체의 회전 및 이동에 대하여 트리 및 계층 구조를 갱신할 필요가 없다. 이에 따라 메인 메모리로부터 계층 구조 및 트리 구조를 다시 읽어올 필요가 없어 메모리 대역폭을 늘리는 효과가 있다. In addition, in the hierarchical and tree structure search of the scene, a coordinate converter for converting a ray or an object to be collided with a ray or a coordinate system (local coordinate system) before collision inspection is included. There is no need to update the tree and hierarchy for rotation and movement of objects. As a result, there is no need to reload hierarchies and tree structures from main memory, thereby increasing memory bandwidth.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.
본 발명의 구체적인 핵심 기술요지를 살펴보면, 3차원 그래픽에서 그래픽 데이터를 실시간으로 렌더링 하기 위한 광선 추적기법에서, 매 프레임마다 변하는 계 층 및 트리구조에 대한 메모리 대역폭 문제를 해결하기 위하여 계층 구조와 트리구조를 병행하여 사용하고, GPU 및 광선 추적기를 일체화하여 디스플레이에 포함 시켜서 CPU 및 GPU간의 버스 병목을 원천 차단함으로써, 메인 메모리 접근을 최소화하며, 또한 CPU의 광선 추적에 대한 계산 부담을 줄이기 위하여 광선 추적을 병렬화하여 픽셀 단위로 처리하는 기술을 통해 본 발명에서 이루고자 하는 바를 쉽게 달성할 수 있다.Looking at the specific core technical gist of the present invention, hierarchical structure and tree structure in order to solve the memory bandwidth problem of hierarchical and tree structure that changes every frame By paralleling and integrating the GPU and ray tracer into the display to eliminate bus bottlenecks between the CPU and the GPU, minimizing access to the main memory, and also reducing ray computation to reduce computational overhead for ray tracing. It is possible to easily accomplish what the present invention intends to achieve through the technique of parallelizing and processing on a pixel basis.
이하, 본 발명에 따른 픽셀 단위 처리 요소기반의 광선 추적 장치 및 시스템에 대해 도면을 참조하여 설명하기로 한다.Hereinafter, a ray tracing apparatus and system based on a pixel processing element according to the present invention will be described with reference to the drawings.
도 2는 본 발명을 적용하기 위한 광선 추적장치와 디스플레이 장치가 일체형으로 구성된 예시도로, 픽셀 단위 처리 요소(PPE)에서 렌더링 된 결과가 디스플레이 장치(200)에서 보여진다. FIG. 2 is an exemplary view in which the ray tracing device and the display device are integrated to apply the present invention, and the result rendered by the pixel processing element PPE is shown in the
도 3은 본 발명에 의한 픽셀 단위 처리 요소 기반 광선 추적 장치(201)의 전체 하드웨어 블록 구성을 도시한 것이다.3 shows the overall hardware block configuration of the pixel-based processing element based
이하, 도 3을 참조하면, 픽셀 단위 처리 요소 기반 광선 추적 장치(201)는 내부 공유 메모리(internal shared memory)(205), 계층적 캐시(hierarchical cache)(203), PPE 처리부(202), 쉐이딩 처리기(shading processing unit)(204), 그래픽 메모리(graphic memory)(206), 디스플레이 장치(display device)(207)로 구성된다.Hereinafter, referring to FIG. 3, the pixel-based processing element-based
동작을 살펴보면, 공유 메모리(205)는 메인 메모리(main memory)(208)로부터 매 프레임(frame) 단위로 렌더링이 수행될 이미지 데이터를 입력받아 저장한다. 계층적 캐시(203)는 내부 공유 메모리(205)로 입력되는 데이터 중 사용빈도가 많은 데이터를 저장한다. 픽셀 처리 요소(PPE) 처리부(202)는 계층적 캐시(203)에 저장된 매 프레임 단위의 이미지 데이터에 대하여 픽셀별 병렬로 광선 추적을 행한다. 쉐이딩 처리기(204)는 광선 추적 결과에 따른 각 픽셀의 다양한 컬러 값을 누적 계산하여 픽셀별 컬러 값을 결정한다.In operation, the shared
즉, 픽셀 단위 처리 요소 기반 광선 추적 장치(201)는 메인 메모리(208)로부터 렌더링에 필요한 데이터를 받아서 내부 공유 메모리(205)에 저장하고, 픽셀 단위 처리 요소(202)들의 메모리 동시 접속을 막고 데이터의 재활용을 위하여 사용 빈도가 많은 데이터를 계층적 캐쉬(203)에 저장한다. 또한 픽셀 단위 처리 요소에서 계산된 결과 값은 쉐이딩 처리기(204)에서 컬러 값이 계산되어, 그 결과가 그래픽 메모리(206)에 저장되며, 이를 이용하여 디스플레이 장치(207)에서 최종 컬러 값으로 디스플레이 시키게 된다. That is, the pixel-based processing element based
도 4는 본 발명에 따른 픽셀 단위 처리 기반 광선 추적 장치에서 PPE 처리부(202)의 기능 블록도를 도시한 것이다. 4 is a functional block diagram of the
이하, 도 4를 참조하여 PPE 처리부(202)에서의 동작을 상세히 설명하기로 한다. 먼저, 내부 공유 메모리(205)에서 픽셀에 대한 광선들이 주어지면 자주 사용되는 데이터의 주변에서 자주 메모리의 접근이 이루어지는 데이터의 로컬리티(locality)에 따라 캐시 메모리(203)에 자주 사용되는 데이터들이 저장된다. 이 때, 저장되는 데이터는 삼각형 데이터(Tris), 트리 또는 계층 구조 정보(TB Info), 샘플링 테이블(Sampling Table : S.T), 물체의 재질 정보(Material Infomation : Ma Info), 광원에 대한 정보(Light Information : Li Info), 카메라에 대한 정보(Camera Information : Cam Info) 등이 저장된다. Hereinafter, an operation of the
그러면, PPE 처리부(202)에서는 위와 같이 캐시 메모리(203)에 저장되는 정보를 이용하여 제1차 광선 생성부(1st Ray Generator : RG1)(210)에서 제1차 광선을 샘플링 테이블(S.T)을 이용하여 발생시키며, 전체 트리 및 계층 탐색부(Total Tree Traversal : T.T.T)(230)에서 제1차 광선과 물체가 충돌하는 충돌 검사를 진행한다. 이때 제1차 광선과 물체가 충돌하는 것을 검사하여 쉐이딩에 필요한 데이터를 충돌 정보(Hitting Information : Hit Info)에 저장한다. 충돌 정보에 저장된 정보로부터 제2차 광선 생성부(2nd Ray Generator: RG2)(220)에서 반사광 및 굴절광 그리고 직접광을 생성한다. 이러한 과정을 광선 추적 깊이의 수만큼 계속적으로 반복하여 제2차 광선 및 직접광을 생성한다. Then, the
그런 후, 위와 같이 모든 광선에 대한 충돌 정보에 대한 저장이 끝이 나면 쉐이딩 처리기(204)에서 충돌 정보에 대한 정보와 재질 정보를 이용하여 컬러 값을 결정한다. 결정된 컬러 값은 그래픽 메모리(206)에 저장되고 이를 이용하여 디스플레이 장치(207)에서 쉐이딩 처리기(204)에서 결정된 컬러 값으로 물체의 컬러를 디스플레이 시킨다. Then, when the storing of the collision information for all the rays as described above is finished, the
도 5는 PPE 처리부(202)의 제1차 광선 생성부(RG1)(210)에 대한 상세 블록도이다. 5 is a detailed block diagram of the primary
이하, 도 5를 참조하면, 제1차 광선 생성부(210)는 카메라에 대한 정보(Cam Info)와 샘플링 테이블(S.T)에서 데이터를 입력으로 받아 마이크로-픽셀 분리기(Micropixel divider)(310)에서 픽셀을 샘플링 개수에 따라 면적이 고르게 나누고, 샘플링 테이블로부터의 컬러 값을 확률적 기법을 사용하여 각 샘플링에 해당하는 컬러 값으로 할당한다. Hereinafter, referring to FIG. 5, the
이어 제1차 광선을 생성하는데, 이때 매 프레임마다 장면 내에 물체의 회전 및 이동시 트리 또는 계층 구조 정보(TB Info)가 갱신되는 단점을 제거하기 위하여 본 발명에서는 행렬곱셈기 혹은 좌표변환기(transformer)를 포함하여, 물체를 좌표 변환하는 것 대신, 광선을 좌표 변환하도록 함으로써 물체에 대한 트리 및 계층 정보를 그대로 유지하도록 한다. Subsequently, the first ray is generated, and in order to eliminate the disadvantage of updating the tree or the hierarchical structure information (TB Info) when the object is rotated and moved in the scene every frame, the present invention includes a matrix multiplier or a transformer. Instead of transforming the object, the ray is coordinated so that tree and hierarchical information about the object is maintained.
이때, 추적할 광선의 생성은 카메라 혹은 눈(eye)로부터 렌더링 될 이미지의 한 픽셀 내에 N개의 샘플을 포함하고, 카메라 렌즈 위의 혹은 카메라의 위치가 광선의 출발점이 된다. 마이크로-픽셀 분리기(320)는 이미지 평면의 한 픽셀을 여러 개의 동일한 면적을 갖는 서브 픽셀로 나누어준다.In this case, the generation of the ray to be traced includes N samples in one pixel of the image to be rendered from the camera or the eye, and the position of the camera on the camera lens or the position of the ray becomes the starting point of the ray. The
광선 계산부(ray calculation)(320)는 마이크로-픽셀 내의 한 점을 샘플링 테이블을 이용하여 확률적 랜덤(random)샘플링을 행하고, 광선의 출발점으로부터 마이크로 픽셀 내에 샘플링된 점과 이어지는 방향으로 광선의 방향 벡터를 결정한다.
도 6은 PPE 처리부(202)의 제2차 광선 생성부(RG2)(220)에 대한 상세 블록도이다. FIG. 6 is a detailed block diagram of the secondary ray
이하, 도 6을 참조하면, 제2차 광선 생성부(220)는 반사광 생성기(RLRG: Reflection Ray Generator)(420), 굴절광 생성기(RRRG: RefRaction Ray Generator)(410), 직접광 생성기(DLRG: Direct Light Ray Generator)(430)로 구성되고, 충돌 정보(Hit Info), 물체의 재질 정보(Ma Info), 광원에 대한 정보(Li Info)로부터 반사광, 굴절광, 직접광을 생성한다. Hereinafter, referring to FIG. 6, the
즉, 반사광 생성기(420)는 제1차 광선이 물체와 충돌하여 반사되는 반사광을 생성하고, 굴절광 생성기(410)는 제1차 광선이 물체와 충돌하여 굴절되는 굴절광을 생성한다. 또한 직접광 생성기(430) 제1차 광선이 물체와 충돌하는 지점에서 광원으로 향하는 직접광을 생성한다.That is, the reflected
도 7은 PPE 처리부(202)의 전체 트리 및 계층 탐색부(T.T.T)(230)에 대한 상세 블록도 이다.7 is a detailed block diagram of the entire tree and hierarchy search (T.T.T) 230 of the
위 도 7을 참조하면, 전체 트리 및 계층 탐색부(230)는 광선-바운딩 볼륨 충돌 처리기(Ray-Box Intersection Test :RBI)(510), 광선-물체 충돌 처리기(Ray-Triangle Intersection Test : RTI)(520) 그리고 비교기(comparator)(530)로 구성된다.Referring to FIG. 7 above, the entire tree and
RBI(510)에서는 장면을 구성하는 계층구조 혹은 트리 구조와 생성된 제1광선과 제2광선 및 계층 구조와 트리구조의 종단노드 내에 존재하는 물체를 입력으로 하고, 광선과 바운딩 볼륨과의 충돌을 처리한다. 즉, 제1광선 및 제2광선과 물체의 계층 구조를 이루는 바운딩 볼륨(여기서는 box라고 가정)이 충돌하는지 검사(S400)하고, 충돌이 일어나면 다음 계층으로 이동하여 계속 바운딩 볼륨을 탐색한다. The
이때, 바운딩 볼륨 내에 이진트리 구조가 있으면 이를 위하여 도 7에 보여지는 바와 같이 2의 동작으로 진입하여, 이진 트리를 탐색하기 위한 비교기(530)로 들어가서 계속 동작하여 최종 종단 노드(leaf node)를 찾는다. 그런 후, 찾아진 종단 노드 내에 존재하는 물체(여기서는 삼각형이라고 가정)와 광선과의 충돌을 RTI(520)에서 검사하며, 광선과 물체와 충돌이 일어나면 충돌 정보(hit info)를 저장한다.At this time, if there is a binary tree structure in the bounding volume, it enters the operation of 2 as shown in FIG. 7, enters the
이때 입력으로는 삼각형 데이터, 트리 혹은 계층 구조 정보(TB Info), 제1차 광선 또는 제2차 광선 또는 제2차 광선에서 생성된 광선들이 입력되는데, 본 발명에서는 특히 트리 혹은 계층 구조 정보를 매 프레임마다 갱신하는 문제점을 해결하기 위하여 RBI(510), RTI(520), 비교기(530)에 광선을 물체의 로컬 좌표로 이동시키는 좌표 변환기(transformer)(515)를 포함하도록 한다.In this case, triangular data, tree or hierarchical structure information (TB Info), rays generated from the primary rays or the secondary rays or the secondary rays are input. In order to solve the problem of updating every frame, the
이에 따라, 강체 운동 즉 회전 및 평행 이동하는 물체에 대한 트리 혹은 계층 구조 정보를 그대로 사용 가능하도록 함으로써, 매 프레임의 트리 혹은 계층 구조 정보를 메인 메모리(208)로부터 다시 읽어올 필요가 없어져 메모리 대역폭을 늘릴 수 있게 된다.As a result, the tree or hierarchical information on the rigid body motion, i.e., the rotating and parallel moving object, can be used as it is, thereby eliminating the need to reload the tree or hierarchical information of each frame from the
도 8은 충돌 정보(hit Info)를 이용하여 픽셀의 컬러 값을 계산 및 결정하는 쉐이딩 처리기(204)의 상세 블록도 이다.8 is a detailed block diagram of the
이하, 도 8을 참조하면, 본 발명의 쉐이딩 처리기(204)는 디코더(decoder)(610), 명령어 패치부(inspection fetch)(620), 메모리(630), 임시 저장 레지스터(temporaray register)(640)와 명령어에 따른 계산을 위한 연산 유 닛(alithematic unit : ALU)(650)과 SFU(special function unit)(660)로 구성된다. Hereinafter, referring to FIG. 8, the
메모리(630)는 전체 트리 및 계층 탐색부(230)에서 출력된 충돌정보를 이용하여 물체의 재질에 따른 쉐이딩 명령어 코드(shade code)를 저장한다. 명령어 패치부(620)는 메모리(630)에 저장되는 쉐이딩 명령어 코드를 가져온다. 이때 쉐이딩 명령어 코드는 픽셀 단위 기반의 컬러 값을 사용자에 의해 선택된 효과에 대응되게 데이터 처리하기 위한 명령어 코드이다.The
디코더(610)는 명령어 패치부(620)로부터 읽어 들인 쉐이딩 명령어 코드를 디코딩하여 사용자에 의해 명령된 컬러 구현 효과를 분석한 후, 충돌정보(Hit info)와 광원에 대한 정보(Li info)를 이용하여 사용자에 의해 선택된 효과에 대응되는 컬러 값으로 처리되도록 한다.The decoder 610 decodes the shading instruction code read from the
임시 저장 레지스터(640)는 쉐이딩 명령어 코드의 디코딩과정에서 발생하는 결과 값을 저장하며, 또한 디코더(610)로부터 분석된 쉐이딩 명령어에 따라 충돌정보와 광원 정보를 이용하여 픽셀의 컬러 값을 계산하는 연산 유닛(650)과 SFU(660)로부터 연산된 픽셀별 중간 컬러 계산값을 임시 저장한다.The
도 9a는 본 발명의 실시 예에 따라 광선 추적 깊이가 5인 경우에 생성된 광선들이 저장되는 버퍼의 종류와 각각 생성된 광선이 물체와 충돌할 경우 충돌 정보가 저장되는 버퍼의 종류 및 개수를 나타낸 예시도 이다. FIG. 9A illustrates the types of buffers in which light rays generated when ray tracing depth is 5 and the types and number of buffers in which collision information is stored when light rays collide with objects according to an embodiment of the present invention. It is an example.
위 도 9a를 참조하면, 픽셀당 제1차 광선(1st ray)은 1개 이상 생성되며, 제2차 광선(2nd ray)은 각각의 제1차 광선에 대하여 1개 이상씩 존재한다. 또한 생성된 광선은 정해진 버퍼에 저장되고, 충돌 정보를 이용하여 제2차 광선과 직접광 광 선이 생성된다. Referring to FIG. 9A, at least one primary ray 1st ray is generated per pixel, and at least one secondary ray 2nd ray exists for each primary ray. In addition, the generated light beam is stored in a predetermined buffer, and the secondary light beam and the direct light beam are generated using the collision information.
여기에서, Rk는 제1차 광선, 제2차 광선 및 직접광으로부터 들어온 컬러 값의 누적된 픽셀의 컬러 값을 의미하고, Ra b는 광선 추적 깊이에 따른 k번째 광선의 컬러 값을 의미한다. 제1차 광선이 n개 발생하였다면 k값은 0에서부터 n-1까지 변한다. 이때, a 값은 메모리 블록의 인덱스(index)를 의미하고 b 값은 광선에 대한 인덱스를 의미한다. Here, R k means the color value of the accumulated pixel of the color value from the primary ray, the secondary ray and the direct light, and R a b means the color value of the k th ray according to the ray tracing depth. . If n primary rays occur, the value of k varies from 0 to n-1. In this case, the value a means an index of the memory block, and the value b means an index with respect to the ray.
도 9b는 도 9a에 도시되는 버퍼에 저장되는 충돌 정보에 따라 픽셀의 컬러 값을 산출하기 위한 렌더링 방정식의 예를 도시한 것이다.FIG. 9B illustrates an example of a rendering equation for calculating a color value of a pixel according to collision information stored in a buffer shown in FIG. 9A.
이하, 도 9b를 참조하면, La bc는 충돌점에서 받는 광원의 빛의 량과 컬러 값을 의미하고, a는 메모리 블록의 인덱스이고, b는 직접광의 인덱스, c는 광원이 인덱스이다. 또한 fa bc는 BSDF(bidirectional scattering distribution function)이고 a, b, c등은 도 9a에서와 같이 메모리 블록의 인덱스를 나타낸다.Hereinafter, referring to FIG. 9B, L a bc denotes an amount of light and a color value of a light source received at a collision point, a is an index of a memory block, b is an index of direct light, and c is a light source index. In addition, f a bc is a bidirectional scattering distribution function (BSDF) and a, b, c, etc. represent the index of the memory block as shown in Figure 9a.
도 10은 본 발명의 실시 예에 따라 임의의 장면이 주어졌을 때 바운딩 볼륨에 대한 계층 구조와 바운딩 볼륨 내에 이진트리 생성 예를 도시한 것이다.FIG. 10 illustrates a hierarchical structure for bounding volumes and an example of generating a binary tree in a bounding volume when a given scene is given according to an embodiment of the present invention.
이하, 도 10을 참조하면, 장면1(700)에서 메쉬에 따라 독립적으로 바운딩 박스(여기서는 바운딩 박스로 예를 듦)가 b1, b2, b3로 생성되고, b1은 다시 b11, b12, b13, b14, b15 등으로 구성되며, b11∼b15 각각의 내부는 이진 트리(혹은 kd-tree)로 구성된다. Hereinafter, referring to FIG. 10, in
이때, 장면2(702)에서는 장면1(700)에 비하여 b1은 크기 및 위치가 변하였고, b2는 회전이 변하였으며, b3은 모양이 변한 것을 알 수 있다. 또한 b11∼b15는 회전 및 위치만 변한 것을 알 수 있다. 이러한 경우 장면의 계층 구조는 장면2(702)의 계층 구조 및 트리구조 중에서 참조번호 (710)부분은 장면1(700)과 비교하여 다른 점이 없기 때문에 재생성하지 않고 재활용할 수 있다. 그러나, 바운딩 볼륨의 크기가 변하거나 메쉬의 변형이 생기는 물체(720)의 경우 바운딩 박스의 내부를 갱신하여 주어야한다. In this case, it can be seen that in
도 11은 광선-바운딩 볼륨 충돌 처리기(RBI)(510)의 세부 구조를 도시한 블록도 이고, 도 12는 광선-물체 충돌 처리기(RTI)(520)의 세부 구조를 도시한 블록도 이다. FIG. 11 is a block diagram showing the detailed structure of the ray-bound volume collision handler (RBI) 510, and FIG. 12 is a block diagram showing the detailed structure of the ray-object collision handler (RTI) 520. As shown in FIG.
이하, 도 11 및 도 12를 참조하면, 본 발명에선 s각 충돌 처리기(510, 520)의 입력단에 좌표 변환기(515)를 포함하고, 출력단에 좌표 역변환기(516)를 포함하고 있다. 따라서, 바운딩 볼륨 및 트리내의 물체와 광선과의 충돌 검사를 하기 전 광선을 좌표 변환기(515)에 의해 물체의 좌표계(로컬좌표계)로 변환한 다음, 충돌 검사(intersection testing)(517, 518)를 수행하고, 출력된 결과의 충돌 정보(hit Info)에 있는 노멀 벡터 및 충돌점 등은 좌표 역변환기(516)에 의해 역좌표 변환함으로써 물체의 회전 및 이동에 대하여 트리 및 계층 구조를 변화시키지 않도록 한다.Hereinafter, referring to FIGS. 11 and 12, the present invention includes a coordinate
이에 따라 물체의 회전 및 이동에 대하여 트리 및 계층 구조를 갱신할 필요가 없어 메인 메모리로부터 계층 구조 및 트리 구조를 다시 읽어올 필요가 없게 되 어 메모리 대역폭을 늘릴 수 있게 되는 것이다. As a result, the tree and the hierarchical structure do not need to be updated for the rotation and movement of the object, thereby eliminating the need to reload the hierarchical structure and the tree structure from the main memory, thereby increasing the memory bandwidth.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.
도 1은 종래 광선이 물체와 충돌하여 물체 표면에서 제 2차 광선이 생성되는 과정을 보여주는 개념도,1 is a conceptual diagram illustrating a process in which a conventional ray collides with an object to generate a second ray on an object surface;
도 2는 본 발명에 따른 PPE 기반 광선 추적 렌더링 장치 예시도,2 is an exemplary diagram of a PPE-based ray tracing rendering apparatus according to the present invention;
도 3은 본 발명에 따른 PPE 기반 광선 추적 장치의 전체 블록 구성도,3 is a block diagram of an entire PPE-based ray tracing apparatus according to the present invention;
도 4는 본 발명에 따른 PPE의 상세 블록 구성도,4 is a detailed block diagram of a PPE according to the present invention;
도 5는 도 3에서의 RG1(first ray generation)의 블록 구성도,FIG. 5 is a block diagram of RG1 (first ray generation) in FIG. 3;
도 6은 도 3에서의 RG2(second ray generation) 블록 구성도,FIG. 6 is a block diagram of a second ray generation (RG2) block in FIG. 3;
도 7은 도 3에서의 TTT(total tree traversal) 블록 구성도,FIG. 7 is a block diagram illustrating a total tree traversal (TTT) block in FIG. 3;
도 8은 도 3에서의 쉐이딩 처리기의 상세 블록 구성도,8 is a detailed block diagram of a shading processor in FIG. 3;
도 9a는 본 발명에 따른 계층적 캐시의 구조도,9A is a structural diagram of a hierarchical cache according to the present invention;
도 9b는 도 9a의 렌더링 방정식 예시도,9B is an exemplary view of the rendering equation of FIG. 9A;
도 10은 본 발명에 따른 두 장면에서의 트리 구조 생성 및 변화 예시도,10 is a diagram illustrating a tree structure generation and change in two scenes according to the present invention;
도 11은 본 발명에 따른 이동 및 회전에 재생성하지 않은 트리 구조에 대한 광선과 박스간에 충돌 테스트 블록도,11 is a collision test block diagram between a ray and a box for a tree structure not regenerated in movement and rotation in accordance with the present invention;
도 12는 본 발명에 따른 이동 및 회전에 재생성하지 않은 트리 구조에 대한 광선과 삼각형간에 충돌 테스트 블록도.12 is a collision test block diagram between light and triangle for a tree structure not regenerated in movement and rotation in accordance with the present invention.
<도면의 주요 부호에 대한 간략한 설명><Brief description of the major symbols in the drawings>
201 : 광선 추적 장치 202 : PPE 처리부201: ray tracing device 202: PPE processing unit
203 : 계층적 캐시 메모리 204 : 쉐이딩 처리기203: hierarchical cache memory 204: shading handler
205 : 내부 공유 메모리 206 : 그래픽 메모리205: internal shared memory 206: graphics memory
207 : 디스플레이 장치 220 : 제2차 광선 생성부207: display device 220: secondary ray generating unit
210 : 제1차 광선 생성부 230 : 전체 트리 탐색부210: first ray generating unit 230: whole tree search unit
Claims (26)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070132853A KR100924122B1 (en) | 2007-12-17 | 2007-12-17 | Ray tracing device based on pixel processing element and method thereof |
US12/314,465 US20090153556A1 (en) | 2007-12-17 | 2008-12-11 | Ray tracing device based on a pixel processing element and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070132853A KR100924122B1 (en) | 2007-12-17 | 2007-12-17 | Ray tracing device based on pixel processing element and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090065353A true KR20090065353A (en) | 2009-06-22 |
KR100924122B1 KR100924122B1 (en) | 2009-10-29 |
Family
ID=40752596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070132853A KR100924122B1 (en) | 2007-12-17 | 2007-12-17 | Ray tracing device based on pixel processing element and method thereof |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090153556A1 (en) |
KR (1) | KR100924122B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110136059A (en) * | 2010-06-14 | 2011-12-21 | 삼성전자주식회사 | Method and apparatus for ray tracing in three-dimension image system |
US8836695B2 (en) | 2010-02-01 | 2014-09-16 | Samsung Electronics Co., Ltd. | Image processing apparatus and method of rendering using a ray tracing scheme |
US8963920B2 (en) | 2010-09-28 | 2015-02-24 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
US8970580B2 (en) | 2010-02-12 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method, apparatus and computer-readable medium rendering three-dimensional (3D) graphics |
KR20150045817A (en) * | 2013-10-21 | 2015-04-29 | 삼성전자주식회사 | Method and apparatus for performing ray tracing for rendering a frame |
US9761039B2 (en) | 2014-07-22 | 2017-09-12 | Samsung Electronics Co., Ltd. | Method and apparatus for hybrid rendering |
US9779537B2 (en) | 2012-07-24 | 2017-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for ray tracing |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290882B2 (en) * | 2008-10-09 | 2012-10-16 | Microsoft Corporation | Evaluating decision trees on a GPU |
US9390539B2 (en) * | 2009-11-04 | 2016-07-12 | Intel Corporation | Performing parallel shading operations |
US20110283059A1 (en) * | 2010-05-11 | 2011-11-17 | Progeniq Pte Ltd | Techniques for accelerating computations using field programmable gate array processors |
DE112011105927T5 (en) * | 2011-12-07 | 2014-09-11 | Intel Corporation | Graphic rendering method for autostereoscopic three-dimensional display |
KR101993835B1 (en) | 2013-02-25 | 2019-06-27 | 삼성전자주식회사 | Method and apparatus for adaptive stack management |
US9947132B2 (en) * | 2013-03-15 | 2018-04-17 | Nvidia Corporation | Material representation data structure and method of representing a material for digital image synthesis |
US9519992B2 (en) * | 2013-08-12 | 2016-12-13 | Samsung Electronics Co., Ltd. | Apparatus and method for processing image |
KR102176511B1 (en) * | 2013-08-12 | 2020-11-09 | 삼성전자주식회사 | Apparatus and Method for processing image |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
KR102166426B1 (en) | 2014-07-07 | 2020-10-16 | 삼성전자주식회사 | Rendering system and rendering method thereof |
KR102370617B1 (en) * | 2015-04-23 | 2022-03-04 | 삼성전자주식회사 | Method and apparatus for processing a image by performing adaptive sampling |
WO2017039027A1 (en) * | 2015-08-31 | 2017-03-09 | Siliconarts Inc. | Method of processing global illumination and apparatus performing the same |
US10839598B2 (en) * | 2016-07-26 | 2020-11-17 | Hewlett-Packard Development Company, L.P. | Indexing voxels for 3D printing |
US10636201B2 (en) * | 2017-05-05 | 2020-04-28 | Disney Enterprises, Inc. | Real-time rendering with compressed animated light fields |
CN112116693B (en) * | 2020-08-20 | 2023-09-15 | 中山大学 | CPU-based biomolecule visual ray tracing rendering method |
CN113888704B (en) * | 2021-12-01 | 2022-03-04 | 中国电子科技集团公司第二十八研究所 | Low-delay interaction-oriented micro scene hierarchical time-sharing drawing optimization method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918626A (en) * | 1987-12-09 | 1990-04-17 | Evans & Sutherland Computer Corp. | Computer graphics priority system with antialiasing |
US6014143A (en) * | 1997-05-30 | 2000-01-11 | Hewlett-Packard Company | Ray transform method for a fast perspective view volume rendering |
US8411088B2 (en) * | 2000-06-19 | 2013-04-02 | Nvidia Corporation | Accelerated ray tracing |
US7432935B2 (en) * | 2002-11-19 | 2008-10-07 | Mental Images Gmbh | Image synthesis methods and systems for generating sample points in a graphics scene |
JP2003187264A (en) | 2001-12-17 | 2003-07-04 | Denso Corp | Image display device |
JP4467267B2 (en) * | 2002-09-06 | 2010-05-26 | 株式会社ソニー・コンピュータエンタテインメント | Image processing method, image processing apparatus, and image processing system |
DE102004007835A1 (en) * | 2004-02-17 | 2005-09-15 | Universität des Saarlandes | Device for displaying dynamic complex scenes |
US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US20060098009A1 (en) * | 2004-10-28 | 2006-05-11 | Miguel Zuniga | Method and apparatus for ray and range queries using wide object isolation techniques |
US7289119B2 (en) * | 2005-05-10 | 2007-10-30 | Sony Computer Entertainment Inc. | Statistical rendering acceleration |
US8884959B2 (en) * | 2005-06-03 | 2014-11-11 | Siemens Aktiengesellschaft | Gradient free shading for volume rendering using shadow information |
KR100791411B1 (en) | 2006-12-07 | 2008-01-07 | 한국전자통신연구원 | Apparatus and method for processing graphics |
US8355021B2 (en) * | 2007-05-17 | 2013-01-15 | Siemens Aktiengesellschaft | Fused volume rendering |
US8063902B2 (en) * | 2007-10-12 | 2011-11-22 | Caustic Graphics, Inc. | Method and apparatus for increasing efficiency of transmission and/or storage of rays for parallelized ray intersection testing |
-
2007
- 2007-12-17 KR KR1020070132853A patent/KR100924122B1/en not_active IP Right Cessation
-
2008
- 2008-12-11 US US12/314,465 patent/US20090153556A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8836695B2 (en) | 2010-02-01 | 2014-09-16 | Samsung Electronics Co., Ltd. | Image processing apparatus and method of rendering using a ray tracing scheme |
US8970580B2 (en) | 2010-02-12 | 2015-03-03 | Samsung Electronics Co., Ltd. | Method, apparatus and computer-readable medium rendering three-dimensional (3D) graphics |
KR20110136059A (en) * | 2010-06-14 | 2011-12-21 | 삼성전자주식회사 | Method and apparatus for ray tracing in three-dimension image system |
US8963920B2 (en) | 2010-09-28 | 2015-02-24 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
US9779537B2 (en) | 2012-07-24 | 2017-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for ray tracing |
KR20150045817A (en) * | 2013-10-21 | 2015-04-29 | 삼성전자주식회사 | Method and apparatus for performing ray tracing for rendering a frame |
US9619921B2 (en) | 2013-10-21 | 2017-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for performing ray tracing for rendering image |
US9761039B2 (en) | 2014-07-22 | 2017-09-12 | Samsung Electronics Co., Ltd. | Method and apparatus for hybrid rendering |
Also Published As
Publication number | Publication date |
---|---|
KR100924122B1 (en) | 2009-10-29 |
US20090153556A1 (en) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100924122B1 (en) | Ray tracing device based on pixel processing element and method thereof | |
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
US9710954B2 (en) | Processor with ray test instructions performed by special purpose units | |
US11138782B2 (en) | Systems and methods for rendering optical distortion effects | |
US11302056B2 (en) | Techniques for traversing data employed in ray tracing | |
US8018453B2 (en) | Deferred acceleration data structure optimization for improved performance | |
JP4954005B2 (en) | Method for invalidating data in a memory cache, computer readable medium and image processing system | |
CN110827387A (en) | Method for traversing intersection point by continuous hierarchical bounding box without shader intervention | |
CN110766778B (en) | Method and system for performing parallel path spatial filtering using hashing | |
Woop et al. | B-kd trees for hardware accelerated ray tracing of dynamic scenes | |
CN113808241B (en) | Hardware acceleration of ray traced primitives sharing vertices | |
CN111383161A (en) | Unified architecture for BVH construction based on hardware pre-ordering and parallel reconfigurable cluster array | |
Meister et al. | Parallel locally-ordered clustering for bounding volume hierarchy construction | |
US10553012B2 (en) | Systems and methods for rendering foveated effects | |
US11373358B2 (en) | Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry | |
CN112041894B (en) | Enhancing realism of a scene involving a water surface during rendering | |
US8102389B2 (en) | Box casting using an integrated acceleration data structure | |
KR100939212B1 (en) | Method and system for parallel?ray tracing by using ray set | |
Hu et al. | GPU accelerated fast multipole methods for vortex particle simulation | |
Garrett et al. | Gpu-accelerated descriptor extraction process for 3d registration in augmented reality | |
Mensmann et al. | Accelerating Volume Raycasting using Occlusion Frustums. | |
Torres et al. | Ray Casting using a Roped BVH with CUDA | |
Barboza et al. | GPU-based data structure for a parallel ray tracing illumination algorithm | |
CN110827385B (en) | Query-specific behavior modification for tree traversal | |
US20230351667A1 (en) | Method and apparatus for performing high speed parallel locally order clustering for a bounding volume hierarchy |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121011 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130923 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |