KR100791411B1 - Apparatus and method for processing graphics - Google Patents

Apparatus and method for processing graphics Download PDF

Info

Publication number
KR100791411B1
KR100791411B1 KR1020060124007A KR20060124007A KR100791411B1 KR 100791411 B1 KR100791411 B1 KR 100791411B1 KR 1020060124007 A KR1020060124007 A KR 1020060124007A KR 20060124007 A KR20060124007 A KR 20060124007A KR 100791411 B1 KR100791411 B1 KR 100791411B1
Authority
KR
South Korea
Prior art keywords
collision
objects
graphics
unit
acceleration
Prior art date
Application number
KR1020060124007A
Other languages
Korean (ko)
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 KR1020060124007A priority Critical patent/KR100791411B1/en
Application granted granted Critical
Publication of KR100791411B1 publication Critical patent/KR100791411B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

A graphics processing apparatus and a method thereof are provided to reduce a data bottleneck phenomenon considerably due to data transmission between a central processing unit and a graphics processing apparatus by implementing a calculating unit such as collision processing, physical calculation and shading, etc., in the graphics processing apparatus. An acceleration hierarchical structure management unit(61) hierarchically configures a three-dimensional graphics screen image including a plurality of objects and accelerates a computer graphics-related algorithm and rendering. A collision checking unit(63) checks whether two objects have been crossed with respect to collision check targets extracted by the acceleration hierarchical structure management unit(61), and calculates crossings of two objects, whether the two objects have collided, collision points, and a transmission depth if the two objects have been crossed. A shading processing unit(63) shades the color of the point where collision has occurred by using the calculation information. A differential equation calculating unit(64) performs a differential equation and integration on the calculated information in a physical-based simulation, calculates positions of new objects, and updates them.

Description

그래픽스 처리장치 및 방법{APPARATUS AND METHOD FOR PROCESSING GRAPHICS}Graphics processing apparatus and method {APPARATUS AND METHOD FOR PROCESSING GRAPHICS}

도 1은 기존의 물리기반 시뮬레이션 응용시스템을 가속화하기 위한 장치의 일 실시예를 나타낸 블록도,1 is a block diagram illustrating one embodiment of an apparatus for accelerating an existing physically based simulation application system;

도 2는 본 발명에 따른 그래픽스 처리장치의 일 실시예를 나타낸 블록도,2 is a block diagram showing an embodiment of a graphics processing apparatus according to the present invention;

도 3은 도 2에 도시된 충돌 검사부의 일 실시예를 나타낸 블록도.FIG. 3 is a block diagram illustrating an embodiment of a collision check unit illustrated in FIG. 2.

도 4는 본 발명에 따른 그래픽스 처리 방법으로, 물리기반 시뮬레이션의 일 실시예를 단계별로 나타낸 순서도,Figure 4 is a graphics processing method according to the present invention, a flow chart showing an embodiment of a physical-based simulation step by step,

도 5는 본 발명에 따른 그래픽스 처리 방법으로, 광선추적법의 일 실시예를 단계별로 나타낸 순서도.5 is a flowchart illustrating a step-by-step embodiment of a ray tracing method in a graphics processing method according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

1: 주변장치 2: 중앙처리장치1: peripheral 2: central processing unit

3: 외부기억장치 6: 그래픽스 처리장치3: external storage device 6: graphics processing device

61: 가속화 계층구조 관리부 62: 충돌 검사부61: acceleration hierarchy management unit 62: collision inspection unit

63: 쉐이딩 처리부 64: 미분방정식 계산부63: shading processor 64: differential equation calculation unit

620: 입력부 622: 공간 변환부620: input unit 622: spatial transform unit

624: 충돌검사엔진 626: 출력부624: collision detection engine 626: output unit

본 발명은 그래픽스(graphics) 처리장치 및 방법에 관한 것으로, 특히, 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법(pipelining)으로 연산 처리가 가능한 부분을 그래픽스 처리하도록 하는 장치 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for graphics processing, and more particularly, to an apparatus and method for performing graphics processing on a portion that can be processed by pipeline techniques in a three-dimensional graphics environment of a graphics application system.

3차원 그래픽스 환경에서의 충돌처리의 주내용은 충돌검출(collision detection)과 충돌판정, 충돌 이후의 객체들의 반응을 처리하는 충돌반응으로 이루어진다.The main contents of collision processing in 3D graphics environment are collision detection, collision determination, and collision reaction, which handles the reaction of objects after collision.

기존에 충돌검출에 소요되는 시간을 개선하기 위해 중앙처리장치(Central Processing Unit; CPU) 기반의 가속화 방법으로 바운딩 볼륨 계층구조(bounding volume hierarchies), 이진공간분할(Binary Space Partitioning; BSP) 트리, 8진트리(octree) 및 장면 그래프(scene graph) 등의 계층적인 검사방법이 제안되었다.Bounding volume hierarchies, Binary Space Partitioning (BSP) trees as a central processing unit (CPU) -based acceleration method to improve the time spent in collision detection. Hierarchical inspection methods such as octrees and scene graphs have been proposed.

광선추적법에 있어서 처리속도를 개선하려면 근본적으로 물체를 구성하고 있는 요소와 빛과의 충돌검출에 드는 시간을 줄여야 한다. 이는 물체의 바운딩 볼륨에 대한 충돌여부 검사단계보다 실제 충돌검출 연산단계가 처리시간이 오래 걸리기 때문이다. 하지만, 충돌검출이 주요 연산인 물리기반 시뮬레이션과 광선 추적법에 서는 여전히 병목지점이 되고 있으며, 실시간처리를 위한 효과적인 방법은 제안되지 않았다.In the ray tracing method, to improve the processing speed, the time required for detecting collision between light and the elements constituting the object is fundamentally reduced. This is because the actual collision detection calculation step takes longer than the collision detection step against the bounding volume of the object. However, physics-based simulation and ray tracing method, where collision detection is the main operation, are still a bottleneck, and no effective method for real-time processing has been proposed.

최근 물리 시뮬레이션을 위한 전용 하드웨어인 물리처리장치(PPU)가 소개되고 출시되었지만, 중앙처리장치와 물리처리장치 사이의 데이터 전송에 따른 병목으로 인해 여전히 처리속도를 크게 개선하지 못했다. 또한, 실시간 렌더링 시스템에서 광선추적법을 고속으로 처리하기 위하여 하드웨어를 이용하려는 시도가 많아지고 있다.Recently, a physical processing unit (PPU), which is a dedicated hardware for physics simulation, was introduced and released, but the bottleneck caused by the data transfer between the central processing unit and the physical processing unit still did not improve the processing speed significantly. In addition, many attempts have been made to use hardware to process ray tracing at high speed in a real-time rendering system.

도 1은 기존의 물리기반 시뮬레이션 응용시스템을 가속화하기 위한 장치의 일 실시예를 나타낸 블록도로, 주변장치(1), 중앙처리장치(2), 외부기억장치(3), 그래픽스 처리장치(4) 및 물리연산 처리장치(5)로 구성된다. 상기 외부기억장치(3)는 캐시 메모리, 메인 메모리 및 하드 디스크 드라이브(HDD) 등이 될 수 있다.1 is a block diagram illustrating an embodiment of an apparatus for accelerating an existing physically-based simulation application system, including a peripheral device 1, a central processing device 2, an external storage device 3, and a graphics processing device 4. And a physical calculation processing apparatus 5. The external storage device 3 may be a cache memory, a main memory, a hard disk drive (HDD), or the like.

동 도면에 있어서, 전통적인 그래픽스 응용시스템 처리 방식에 있어서, 물리기반 시뮬레이션을 위한 물리연산을 중앙처리장치(2)에서 담당하여 처리하였으며, 그래픽스 처리장치(4)는 사용자 화면상에 3차원 장면을 디스플레이해 주는 기능을 제공하였다.In the figure, in the conventional graphics application system processing method, the physical processing for the physical-based simulation is handled by the central processing unit 2, and the graphics processing unit 4 displays a three-dimensional scene on the user screen. It provided a function.

그런데 중앙처리장치(2)에서 담당했던 물리연산에 대한 처리 속도가 느리며, 중앙처리장치(2)와 그래픽스 처리장치(4) 간의 잦은 데이터 전송 때문에 병목현상 이 발생하였다.However, the processing speed for the physical operation in charge of the central processing unit 2 was slow, and bottlenecks occurred due to frequent data transfer between the central processing unit 2 and the graphics processing unit 4.

이러한 단점을 극복하고자, 물리연산을 전담하는 역할을 맡은 고속의 물리연산 처리장치(5)를 적용하였다.In order to overcome this drawback, a high speed physics processing device 5 having a role dedicated to physics is applied.

그러나 물리연산 처리장치(5)와 그래픽스 처리장치(4) 간의 데이터 전송 또한 병목지점으로 만족할 만한 속도개선을 얻지 못했다.However, the data transfer between the physical processing unit 5 and the graphics processing unit 4 also failed to achieve satisfactory speed improvement as a bottleneck.

본 발명은 전술한 과제를 해결하기 위하여 안출한 것으로, 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리장치에서 수행하도록 하는 그래픽스 처리장치 및 방법을 제공하는데 그 목적이 있다.An object of the present invention is to provide a graphics processing apparatus and method for performing a portion of a graphics processing system that can be processed by a pipeline method in a graphics processing system in a graphics application system. There is this.

이와 같은 목적을 달성하기 위하여,In order to achieve this purpose,

본 발명의 일 형태에 따르면, 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치로서, 복수의 객체를 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조 관리부; 상기 가속화 계층구조 관리부에서 추출된 충돌검사대상에 대해 두 물체가 교차했는지 여부, 상기 두 물체가 교차했을 경우 해당 교차점, 객체 간의 충돌 여부, 충돌 지점 및 투과 깊이(penetration depth)를 계산하는 충돌 검사부; 상기 충돌 검사부에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 쉐이딩(shading)하는 쉐이딩 처리부; 물리기반 시뮬레이션에서 상기 충돌 검사부에서 계산된 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신하는 미분방정식 계산부를 포함하여 이루어지는 것을 특징으로 하는 것이 제공된다.According to one embodiment of the present invention, an apparatus for performing graphics processing on a portion of a graphics application system that can be arithmetic by a pipeline technique, and hierarchically constructs a three-dimensional graphics scene including a plurality of objects. An acceleration hierarchy management unit for accelerating rendering and algorithms related to computer graphics; A collision inspection unit that calculates whether two objects intersect the collision inspection object extracted by the acceleration hierarchy structure management unit, and when the two objects intersect, a corresponding intersection point, collision between objects, a collision point, and a penetration depth; A shading processor configured to shade a color of a collision point by using the information calculated by the collision check unit; In the physical-based simulation is provided that comprises a differential equation calculation unit for performing differential equations and integration on the information calculated by the collision check unit, calculates and updates the position of the new objects.

바람직하게는 상기 가속화 계층구조 관리부는 바운딩 볼륨 계층구조, BSP 트리, k-d 트리, 8진 트리, 방향성 바운딩 박스(oriented bounding box; OBB) 트리 및 유한한 방향을 가지는 다각형(discrete orientation polytopes; k-DOP) 트리를 포함하는 알고리즘을 선택적으로 적용하는 것이 좋다.Advantageously, the acceleration hierarchy manager comprises a bounding volume hierarchy, a BSP tree, a kd tree, an octal tree, an oriented bounding box (OBB) tree and a discrete orientation polytopes (k-DOP). It is a good idea to selectively apply algorithms that include trees.

상기 가속화 계층구조 관리부는 물리기반 시뮬레이션 수행 시 상기 계층을 탐색해서 충돌검사대상을 추출한다.The acceleration hierarchical structure management unit searches for the hierarchy and extracts a collision inspection target when performing a physical-based simulation.

상기 가속화 계층구조 관리부는 광선추적법 수행 시 상기 계층을 탐색해서 충돌검사대상을 추출한다.The acceleration hierarchical structure management unit searches for the hierarchy and extracts the collision inspection object when performing the ray tracing method.

상기 충돌 검사부의 교차검사에 대상이 되는 객체는 삼각형, 구, 축에 나란한 경계박스(Axis Aligned Bounding Box; AABB), 방향을 가지는 경계 박스(Oriented Bounding Box; OBB) 및 유한한 방향을 가지는 다각형을 포함하여 이루어지는 것을 특징으로 할 수 있다.The object to be cross-checked by the collision inspection unit includes an axis-aligned bounding box (AABB), an oriented bounding box (OBB), and a polygon having a finite direction. It may be characterized by including.

상기 미분방정식 계산부는 정점 쉐이더(vertex shader)와 픽셀 쉐이더(pixel shader)의 프로그래머블(programmable)한 속성을 이용하여 구현될 수 있다.The differential equation calculation unit may be implemented using programmable attributes of a vertex shader and a pixel shader.

상기 충돌 검사부는, 상기 가속화 계층구조 관리부로부터 충돌검사대상을 제 공받고, 기하정보의 변환이 필요한 충돌검사대상에 대해서는 공간 변환하는 공간 변환부; 상기 공간 변환부로부터 제공되는 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 다양한 충돌검사 파이프라인을 통해 병렬로 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 충돌검사엔진을 포함한다. 상기 충돌검사대상은 광선(ray), 삼각형, 구, 실린더, AABB, OBB를 포함한다. 상기 다양한 충돌검사 파이프라인은 광선-삼각형 파이프라인, AABB-AABB 파이프라인 및 OBB-OBB 파이프라인 등 여러 충돌검사 파이프라인을 포함한다.The collision inspection unit may include: a space transformation unit receiving a collision inspection object from the acceleration hierarchy structure management unit and performing a spatial transformation on a collision inspection object that requires conversion of geometric information; Collision inspection engine that performs collision inspection between collision basic objects in parallel through various collision inspection pipelines for the collision inspection object provided from the spatial transform unit, and calculates intersections, collisions, collision points, and penetration depths between the corresponding objects. It includes. The collision inspection object includes a ray, a triangle, a sphere, a cylinder, AABB, and an OBB. The various collision detection pipelines include several collision detection pipelines, including the light-triangular pipeline, the AABB-AABB pipeline and the OBB-OBB pipeline.

본 발명의 다른 형태에 따르면, 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치에서 물리기반 시뮬레이션 방법으로서, (a) 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성하는 단계; (b) 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출하는 단계; (c) 상기 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 단계; (d) 물리기반 시뮬레이션에서 상기 계산 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 것이 제공된다.According to another aspect of the present invention, a physical-based simulation method for a graphics processing apparatus that can be processed by the pipeline method in a three-dimensional graphics environment of a graphics application system, comprising: (a) three-dimensional graphics including target objects; Hierarchically organizing the scene to generate an acceleration hierarchy that causes computer graphics related algorithms and rendering to be accelerated; (b) extracting a collision inspection object by searching the generated acceleration hierarchy; (c) performing collision inspection between collision basic objects on the extracted collision inspection object, and calculating intersection points, collision existence, collision points, and penetration depths between the corresponding objects; (d) performing differential equations and integration on the calculation information in a physically based simulation, and calculating and updating the positions of new objects.

바람직하게는 사용자가 시뮬레이션 반복을 원할 경우 상기 단계 (c) 및 (d)를 반복하는 것이 좋다.Preferably, if the user wants to repeat the simulation, it is preferable to repeat the steps (c) and (d).

본 발명의 또 다른 형태에 따르면, 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치에서 광선추적법으로서, (a) 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성하는 단계; (b) 3차원 그래픽스 장면의 빛의 위치에 따라 광선을 생성하는 단계; (c) 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출하는 단계; (d) 상기 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 단계; (e) 상기 충돌검사에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 객체 표면 속성과 빛의 세기 등을 이용해서 쉐이딩을 수행하는 단계; (f) 상기 쉐이딩 수행 결과를 레스터화하는 단계를 포함하여 이루어지는 것을 특징으로 하는 것이 제공된다.According to another aspect of the present invention, as a ray tracing method in the apparatus for graphics processing the part that can be processed by the pipeline method in the three-dimensional graphics environment of the graphics application system, (a) three-dimensional graphics including the target objects Hierarchically organizing the scene to generate an acceleration hierarchy that causes computer graphics related algorithms and rendering to be accelerated; (b) generating a ray according to the position of light in the three-dimensional graphics scene; (c) extracting a collision inspection object by searching the generated acceleration hierarchy; (d) checking a collision between the collision basic objects with respect to the extracted collision inspection object, and calculating intersections, collisions, collision points, and penetration depths between the corresponding objects; (e) shading the color of the point where the collision occurred by using the information calculated in the collision inspection by using object surface properties and light intensity; (f) rasterizing the result of the shading is provided.

바람직하게는 상기 레스터화된 쉐이딩된 결과를 화면 디스플레이(display) 장치로 전달하여, 해당 화면 디스플레이 장치가 해당 그래픽스를 디스플레이하도록 하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 것이 좋다.Preferably, the method may further include transmitting the rasterized shaded result to a screen display device so that the screen display device displays the graphics.

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

도 2는 본 발명에 따른 그래픽스 처리장치의 일 실시예를 나타낸 블록도로, 주변장치(1), 중앙처리장치(2), 외부기억장치(3) 및 그래픽스 처리장치(6)로 구성된다. 상기 그래픽스 처리장치(6)는 가속화 계층구조 관리부(61), 충돌 검사부(62), 쉐이딩 처리부(63) 및 미분방정식 계산부(64)를 구비한다. 상기 외부기억장치(3)는 캐시 메모리, 메인 메모리 및 하드 디스크 드라이브 등이 될 수 있다.2 is a block diagram showing an embodiment of a graphics processing apparatus according to the present invention, which is composed of a peripheral device 1, a central processing device 2, an external storage device 3, and a graphics processing device 6. The graphics processing apparatus 6 includes an acceleration hierarchical structure management unit 61, a collision inspection unit 62, a shading processing unit 63, and a differential equation calculation unit 64. The external memory device 3 may be a cache memory, a main memory, a hard disk drive, or the like.

동 도면에 있어서, 그래픽스 처리장치(6) 내의 가속화 계층구조 관리부(61)는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 한다. 상기 계층적 구성이란 최상위 레벨의 내용이 그 아래 레벨의 내용을 포함하고, 그 레벨은 또다시 아래 레벨의 내용을 포함하고 있다는 것을 의미한다. 이러한 계층적 구조는 중첩되고 반복되는 속성을 가진다. 이와 같은 계층적 구조를 사용함으로써 여러 가지 유형의 검사들이 신속하게 처리될 수 있다. 통상 O(n)의 비용의 연산을 계층적 구조를 생성하여 처리하면 O(logn)으로 개선된다. 가속화 계층구조 관리부(61)는 바운딩 볼륨 계층구조, BSP 트리, k-d 트리, 8진 트리, 방향성 바운딩 박스 트리 및 유한한 방향을 가지는 다각형 트리 등의 알고리즘을 선택하여 적용할 수 있다. 가속화 계층구조 관리부(61)는 물리기반 시뮬레이션에서 충돌에 대한 세부 검사대상에 해당 되지 않는 객체를 선별할 때 이용되며, 광선추적법에서 광선과 객체의 충돌 여부를 판별할 때 상세 충돌검사대상을 선별할 때 이용된다.In the figure, the acceleration hierarchy management unit 61 in the graphics processing apparatus 6 constructs a three-dimensional graphics scene hierarchically, so that computer graphics related algorithms and renderings are accelerated. The hierarchical configuration means that the content of the top level includes the content of the level below it, and the level again includes the content of the level below. This hierarchical structure has overlapping and repeating attributes. By using this hierarchical structure, various types of checks can be processed quickly. In general, the computation of the cost of O (n) is improved to O (logn) by generating and processing a hierarchical structure. The acceleration hierarchy manager 61 may select and apply an algorithm such as a bounding volume hierarchy, a BSP tree, a k-d tree, an octal tree, a directional bounding box tree, and a polygon tree having a finite direction. The acceleration hierarchy management unit 61 is used when screening objects that do not correspond to the detailed inspection target for collision in the physical-based simulation, and selects the detailed collision inspection target when determining whether the ray collides with the object in the ray tracing method. It is used when

충돌 검사부(62)는 상기 가속화 계층구조 관리부(61)에서 추출된 충돌검사대상에 대해 두 물체가 교차했는지 여부, 만약 상기 두 물체가 교차했을 경우 해당 교차점, 객체 간의 충돌 여부, 충돌지점 및 투과 깊이를 계산한다. 교차검사에 대 상이 되는 객체들로는 삼각형, 구, 축에 나란한 경계박스, 방향을 가지는 경계 박스, 유한한 방향을 가지는 다각형 등이다.The collision inspection unit 62 checks whether two objects intersect with respect to the collision inspection object extracted by the acceleration hierarchy management unit 61, and if the two objects intersect, a corresponding intersection point, collision between objects, collision point and penetration depth. Calculate Objects targeted for cross-checking include triangles, spheres, bounding boxes along axes, bounding boxes with directions, and polygons with finite directions.

도 3과 같이 충돌 검사부(62) 내의 입력부(620)는 가속화 계층구조 관리부(61)로부터 충돌검사대상을 제공받아 공간 변환부(622)로 제공한다.As shown in FIG. 3, the input unit 620 in the collision inspection unit 62 receives the collision inspection object from the acceleration hierarchy manager 61 and provides the collision inspection object to the spatial transform unit 622.

공간 변환부(622)는 입력부(620)로부터 제공되는 충돌검사대상이 기하정보의 변환이 필요할 경우 공간 변환을 수행하고, 그 공간 변환에 대응하는 기하정보를 충돌검사엔진(624)으로 제공한다.The spatial transform unit 622 performs a spatial transform when the collision inspection object provided from the input unit 620 needs to transform the geometric information, and provides the geometric information corresponding to the spatial transform to the collision inspection engine 624.

충돌검사엔진(624)은 공간 변환부(622)로부터 제공되는 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 다양한 충돌검사 파이프라인을 통해 병렬로 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산한다. 충돌검사대상으로는 광선(ray), 삼각형, 구, 실린더, AABB, OBB 등이 있다. 상기 다양한 충돌검사 파이프라인은 광선-삼각형 파이프라인, AABB-AABB 파이프라인 및 OBB-OBB 파이프라인 등 여러 충돌검사 파이프라인을 포함한다.The collision inspection engine 624 performs collision inspection between collision basic objects in parallel through various collision inspection pipelines on the collision inspection target provided from the space transformation unit 622, thereby intersecting points, collisions, and collision points between the corresponding objects. And penetration depth. Collision inspection objects include rays, triangles, spheres, cylinders, AABBs, and OBBs. The various collision detection pipelines include several collision detection pipelines, including the light-triangular pipeline, the AABB-AABB pipeline and the OBB-OBB pipeline.

출력부(626)는 충돌검사엔진(624)으로부터 제공되는 충돌검사의 결과 값을 외부 사용자 또는 호출자에게 전달한다. 상기 결과 값은 객체 간의 충돌 여부, 충돌지점 및 투과 깊이로 구성된다.The output unit 626 transmits the result of the collision check provided from the collision check engine 624 to an external user or caller. The result value consists of collision between objects, a collision point, and a penetration depth.

쉐이딩 처리부(63)는 충돌 검사부(62)에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 쉐이딩한다. 즉, 쉐이딩 처리부(63)는 광선추적법에서 3차원 상의 물체 표면의 성질에 따라 빛이 반사되어 나타나는 객체 표면의 색상을 계산한다. 쉐이딩 처리부(63)는 초기 사용자가 프로그램한 쉐이더 프로그램(shader program)을 입력으로 받아 처리하게 된다. 쉐이더 프로그램에는 3차원 장면상의 각 객체에 대한 표면속성을 기술한 것으로 표준 OGSL(OpenGL Shading Language)나 상용 Cg와 같은 언어를 이용하여 작성될 수 있다. 이렇게 처리하는 근본적인 목적은 빛과 반응하는 객체의 속성을 자유롭게 사용자 혹은 개발자가 변경할 수 있는 프로그래머블한 유연성을 제공하는 데 있다. 쉐이딩 처리부(63)는 광선추적법에서 충돌 검사부(62)와 연계된다.The shading processor 63 shades the color of the collision point by using the information calculated by the collision inspection unit 62. That is, the shading processor 63 calculates the color of the object surface in which light is reflected by the ray tracing method according to the properties of the object surface on the 3D. The shading processor 63 receives and processes a shader program programmed by an initial user as an input. The shader program describes the surface properties of each object in a three-dimensional scene and can be written using a language such as standard OpenGL Shading Language (OGSL) or commercial Cg. The fundamental purpose of this process is to provide programmable flexibility for the user or developer to freely change the properties of objects that react with light. The shading processing unit 63 is associated with the collision inspection unit 62 in the ray tracing method.

미분방정식 계산부(64)는 물리기반 시뮬레이션에서 충돌 검사부(62)에서 계산된 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신한다. 미분방정식 계산부(64)는 물리기반 시뮬레이션에서 주로 필요한 내적, 외적 등의 선형대수계산, 수치적분 및 역행열, 행렬덧셈, 곱셈 계산 등의 기능을 제공한다. 이러한 기능은 정점 쉐이더와 픽셀 쉐이더의 프로그래머블한 속성을 이용하여 구현된다.The differential equation calculation unit 64 performs differential equations and integration on the information calculated by the collision inspection unit 62 in the physical-based simulation, calculates and updates positions of new objects. The differential equation calculation unit 64 provides functions such as linear algebra calculation, numerical integration and inverse matrix, matrix addition, and multiplication calculation, which are mainly required in physical-based simulation. This functionality is implemented using the programmable properties of vertex and pixel shaders.

이와 같은 미분방정식 계산부(64)에 대해 상세히 설명하면, 물리기반 시뮬레이션을 수행하는 강체(rigid body)의 초기 위치가 r 0 이고 그 다음 시간 간격(

Figure 112006090864052-pat00001
)이 지난 후의 위치가 r 1 이라 할 때, 이들의 속도(v)에 대한 관계는 다음과 같다.Referring to the differential equation calculation unit 64 in detail, the initial position of the rigid body performing the physical-based simulation is r 0 and the next time interval (
Figure 112006090864052-pat00001
Assuming that the position after r1 is r 1 , the relation of the velocity v is as follows.

Figure 112006090864052-pat00002
Figure 112006090864052-pat00002

이것을 r 1 에 대해 정리하면,Summarizing this for r 1 ,

Figure 112006090864052-pat00003
Figure 112006090864052-pat00003

이 방법을 오일러 해법이라고도 하는데, 초기치 문제에 대한 가장 간단한 해법이다. 초기치 문제란 초기조건에 대한 미분 방정식을 말한다. 어떤 방정식들은 해석적 해(analytic solution)를 찾을 수 있으며 물체의 궤적을 계산하는 데 쓰일 수 있지만, 대부분의 경우에는 해석적 형태가 존재하지 않으며 수치적으로 적분해야만 해를 구할 수 있다. 수치 적분에 대한 접근 방식은 많이 존재하며, 선택은 어플리케이션(application) 상의 요구에 달려있다.This method, also known as the Euler solution, is the simplest solution to the initial problem. The initial value problem is the differential equation for the initial condition. Some equations can find an analytical solution and can be used to calculate the trajectory of an object, but in most cases there is no analytic form and you need to integrate it numerically. There are many approaches to numerical integration, and the choice depends on the needs of the application.

도 4는 본 발명에 따른 그래픽스 처리 방법으로, 물리기반 시뮬레이션의 일 실시예를 단계별로 나타낸 순서도이다.4 is a flowchart illustrating a step-by-step embodiment of a physical-based simulation in a graphics processing method according to the present invention.

먼저 그래픽스 처리장치(6)는 외부기억장치(3)에서 대상 객체들을 중앙처리장치(2)를 통해 가져와서 내장된 기억장치(도면 중에 도시되지 않음)에 적재한다(S10).First, the graphics processing unit 6 takes the target objects from the external storage device 3 via the central processing unit 2 and loads them into a built-in storage device (not shown in the figure) (S10).

가속화 계층구조 관리부(61)는 상기 기억장치에 적재된 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성한다(S11).The acceleration hierarchy manager 61 hierarchically constructs a three-dimensional graphics scene including the target objects loaded in the storage device, and generates an acceleration hierarchy for accelerating rendering and algorithms related to computer graphics (S11). .

가속화 계층구조 관리부(61)는 사용자가 원하는 시점에 시뮬레이션을 시작하면, 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출한다(S12).When the acceleration hierarchy management unit 61 starts the simulation at a point in time desired by the user, the acceleration hierarchy structure manager 61 searches for the generated acceleration hierarchy and extracts a collision inspection target (S12).

충돌 검사부(62)는 가속화 계층구조 관리부(61)에서 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하고, 그 계산된 정보를 미분방정식 계산부(64) 로 제공한다(S13).The collision inspection unit 62 performs collision inspection between collision basic objects on the collision inspection object extracted by the acceleration hierarchy management unit 61, and calculates intersections, collisions, collision points, and penetration depths between the corresponding objects, and calculates the collision points. The obtained information is provided to the differential equation calculation unit 64 (S13).

미분방정식 계산부(64)는 물리기반 시뮬레이션에서 충돌 검사부(62)로부터 제공된 계산 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신한다(S14, S15, S16).The differential equation calculation unit 64 performs differential equations and integration on the calculation information provided from the collision inspection unit 62 in the physical-based simulation, calculates and updates positions of new objects (S14, S15, and S16).

그래픽스 처리장치(6)는 사용자가 시뮬레이션 반복을 원할 경우 상기 단계(S13 내지 S16)를 반복한다(S17).The graphics processing unit 6 repeats the above steps S13 to S16 when the user wants to repeat the simulation (S17).

도 5는 본 발명에 따른 그래픽스 처리 방법으로, 광선추적법의 일 실시예를 단계별로 나타낸 순서도이다.5 is a flowchart of a graphics processing method according to an exemplary embodiment of the present invention.

먼저 그래픽스 처리장치(6)는 외부기억장치(3)에서 대상 객체들을 중앙처리장치(2)를 통해 가져와서 내장된 기억장치(도면 중에 도시되지 않음)에 적재한다(S20).First, the graphics processing unit 6 takes the target objects from the external storage device 3 via the central processing unit 2 and loads them into a built-in storage device (not shown in the figure) (S20).

가속화 계층구조 관리부(61)는 상기 기억장치에 적재된 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성한다(S21).The acceleration hierarchy management unit 61 hierarchically constructs a 3D graphics scene including the target objects loaded in the storage device, and generates an acceleration hierarchy for accelerating rendering and computer graphics related algorithms (S21). .

가속화 계층구조 관리부(61)는 3차원 그래픽스 장면의 빛의 위치에 따라 광선을 생성한다(S22).The acceleration hierarchy management unit 61 generates a ray according to the position of the light of the 3D graphics scene (S22).

가속화 계층구조 관리부(61)는 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출한다(S23).The acceleration hierarchy management unit 61 searches for the generated acceleration hierarchy to extract the collision inspection target (S23).

충돌 검사부(62)는 가속화 계층구조 관리부(61)에서 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산한다(S24).The collision inspection unit 62 performs collision inspection between collision basic objects on the collision inspection object extracted by the acceleration hierarchy management unit 61, and calculates an intersection point, collision existence, collision point, and penetration depth between the corresponding objects (S24).

쉐이딩 처리부(3)는 상기 충돌 검사부(62)의 충돌검사에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 객체 표면 속성과 빛의 세기 등을 이용해서 쉐이딩을 수행한다(S25).The shading processing unit 3 shades the color of the point where the collision occurred using the information calculated in the collision inspection of the collision inspection unit 62 using the object surface property and the light intensity (S25).

그래픽스 처리장치(6)는 쉐이딩 수행 결과를 레스터화한다(S26).The graphics processing unit 6 rasterizes the shading performance result (S26).

이 후 그래픽스 처리장치(6)는 레스터화된 쉐이딩된 결과를 화면 디스플레이 장치로 전달하여, 해당 화면 디스플레이 장치가 해당 그래픽스를 디스플레이하도록 한다.Thereafter, the graphics processing unit 6 transmits the rasterized shaded result to the screen display device so that the screen display device displays the graphics.

상술한 바와 같이 본 발명에서의 소프트웨어는 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 또한, 이러한 프로그램은 본 발명의 그래픽스 처리 하드웨어 장치에 대한 응용 프로그래밍 인터페이스(application programming interface; API)를 통해 각각의 내부 기능을 호출할 수 있다.As described above, the software of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. In addition, such a program may call each internal function through an application programming interface (API) for the graphics processing hardware device of the present invention.

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사 실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only and not intended to limit the present invention. In addition, it is obvious that any person skilled in the art can make various modifications and imitations without departing from the scope of the technical idea of the present invention.

이상에서 설명한 바와 같이 본 발명은, 그래픽스 응용시스템에 구비된 중앙처리장치(2)의 병목현상으로 시스템의 속도저하를 야기한 충돌처리, 물리연산, 쉐이딩 등의 연산부를 별도의 하드웨어적인 그래픽스 처리장치(6) 내에 실현함으로써 중앙처리장치(2)와 그래픽스 처리장치(6) 간의 데이터 전송으로 인한 데이터 병목현상을 현저히 줄일 수 있다.As described above, the present invention provides a separate hardware graphics processing device (eg, a collision processing, physical operation, shading, etc.) that causes the system to slow down due to a bottleneck of the central processing unit 2 provided in the graphics application system. By implementing in 6), data bottlenecks due to data transfer between the central processing unit 2 and the graphics processing unit 6 can be significantly reduced.

따라서 실시간 물리 시뮬레이션, 인터액티브 광선추적법 등에 본 발명을 실시하면 신속하고 간편하게 그래픽스를 처리할 수 있으며, 사용자가 쉐이더 프로그램 등을 통해 본 발명을 제어할 수 있기 때문에 프로그래머블한 유연성도 제공한다.Therefore, if the present invention is implemented in real-time physics simulation, interactive ray tracing, etc., graphics can be processed quickly and easily, and the user can control the present invention through a shader program or the like, thereby providing programmable flexibility.

또한, 본 발명에 따른 그래픽스 처리 장치의 충돌 처리에 있어서, 가속화 계층 구조를 통해 검사대상을 미리 현저히 줄여서 해당 검사대상에 대해 충돌검사 등의 연산을 하도록 함으로써 충돌검사에 소요되는 시간을 가속화할 수 있는 장점이 있다.In addition, in the collision processing of the graphics processing apparatus according to the present invention, by significantly reducing the inspection target in advance through an acceleration hierarchy structure, the time required for the collision inspection can be accelerated by performing the operation such as collision inspection on the inspection target. There is an advantage.

Claims (13)

그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치로서,As a device for graphics processing in the three-dimensional graphics environment of the graphics application system that can be processed by the pipeline method, 복수의 객체를 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조 관리부;An acceleration hierarchical management unit hierarchically configuring a 3D graphics scene including a plurality of objects to accelerate computer graphics related algorithms and rendering; 상기 가속화 계층구조 관리부에서 추출된 충돌검사대상에 대해 두 물체가 교차했는지 여부, 상기 두 물체가 교차했을 경우 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 충돌 검사부;A collision inspection unit that calculates whether two objects intersect the collision inspection object extracted by the acceleration hierarchy structure management unit, and when the two objects intersect, an intersection point, collision existence, collision point, and penetration depth between the objects; 상기 충돌 검사부에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 쉐이딩하는 쉐이딩 처리부;A shading processor configured to shade a color of a collision point by using the information calculated by the collision check unit; 물리기반 시뮬레이션에서 상기 충돌 검사부에서 계산된 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신하는 미분방정식 계산부를 포함하여 이루어지는 것을 특징으로 하는 그래픽스 처리장치.And a differential equation calculation unit configured to perform differential equations and integration on the information calculated by the collision check unit in a physical-based simulation, and calculate and update positions of new objects. 청구항 1에 있어서,The method according to claim 1, 상기 가속화 계층구조 관리부는 바운딩 볼륨 계층구조, BSP 트리, k-d 트리, 8진 트리, 방향성 바운딩 박스 트리 및 유한한 방향을 가지는 다각형 트리를 포함 하는 알고리즘을 선택적으로 적용하는 것을 특징으로 하는 그래픽스 처리장치.And the acceleration hierarchy management unit selectively applies an algorithm including a bounding volume hierarchy, a BSP tree, a k-d tree, an octal tree, a directional bounding box tree, and a polygonal tree having a finite direction. 청구항 1에 있어서,The method according to claim 1, 상기 가속화 계층구조 관리부는 물리기반 시뮬레이션 수행 시 상기 계층을 탐색해서 충돌검사대상을 추출하는 것을 특징으로 하는 그래픽스 처리장치.And the acceleration hierarchical structure management unit extracts a collision inspection target by searching the hierarchy when performing a physical-based simulation. 청구항 1에 있어서,The method according to claim 1, 상기 가속화 계층구조 관리부는 광선추적법 수행 시 상기 계층을 탐색해서 충돌검사대상을 추출하는 것을 특징으로 하는 그래픽스 처리장치.And the acceleration hierarchical structure management unit extracts a collision inspection target by searching the hierarchy when performing the ray tracing method. 청구항 1에 있어서,The method according to claim 1, 상기 충돌 검사부의 교차검사에 대상이 되는 객체는 삼각형, 구, 축에 나란한 경계박스, 방향을 가지는 경계 박스 및 유한한 방향을 가지는 다각형을 포함하여 이루어지는 것을 특징으로 하는 그래픽스 처리장치.The object to be subjected to the cross-check of the collision inspection unit graphics processing apparatus comprising a triangle, a sphere, a bounding box parallel to the axis, a bounding box having a direction and a polygon having a finite direction. 청구항 1에 있어서,The method according to claim 1, 상기 미분방정식 계산부는 정점 쉐이더와 픽셀 쉐이더의 프로그래머블한 속성을 이용하여 구현되는 것을 특징으로 하는 그래픽스 처리장치.And the differential equation calculator is implemented using programmable attributes of a vertex shader and a pixel shader. 청구항 1에 있어서,The method according to claim 1, 상기 충돌 검사부는,The collision inspection unit, 상기 가속화 계층구조 관리부로부터 충돌검사대상을 제공받고, 기하정보의 변환이 필요한 충돌검사대상에 대해서는 공간 변환하는 공간 변환부;A spatial transform unit which receives a collision inspection object from the acceleration hierarchy structure management unit and spatially transforms a collision inspection object for which geometric information needs to be transformed; 상기 공간 변환부로부터 제공되는 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 다양한 충돌검사 파이프라인을 통해 병렬로 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 충돌검사엔진을 포함하여 이루어지는 것을 특징으로 하는 그래픽스 처리장치.Collision inspection engine that performs collision inspection between collision basic objects in parallel through various collision inspection pipelines for the collision inspection object provided from the spatial transform unit, and calculates intersections, collisions, collision points, and penetration depths between the corresponding objects. Graphics processing apparatus comprising a. 청구항 7에 있어서,The method according to claim 7, 상기 충돌검사대상은 광선, 삼각형, 구, 실린더, AABB, OBB를 포함하는 그래픽스 처리장치.The collision inspection object is a graphics processing device comprising a ray, triangle, sphere, cylinder, AABB, OBB. 청구항 7에 있어서,The method according to claim 7, 상기 다양한 충돌검사 파이프라인은 광선-삼각형 파이프라인, AABB-AABB 파이프라인 및 OBB-OBB 파이프라인을 포함하는 그래픽스 처리장치.The various collision detection pipelines include a light-triangular pipeline, an AABB-AABB pipeline and an OBB-OBB pipeline. 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치에서 물리기반 시뮬레이션 방법으로서,As a physical-based simulation method in a device that performs graphics processing in a three-dimensional graphics environment of a graphics application system that can be processed by a pipeline method, (a) 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성하는 단계;(a) hierarchically constructing a three-dimensional graphics scene containing target objects to generate an acceleration hierarchy that causes computer graphics related algorithms and renderings to be accelerated; (b) 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출하는 단계;(b) extracting a collision inspection object by searching the generated acceleration hierarchy; (c) 상기 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사를 수행하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 단계;(c) performing collision inspection between collision basic objects on the extracted collision inspection object, and calculating intersection points, collision existence, collision points, and penetration depths between the corresponding objects; (d) 물리기반 시뮬레이션에서 상기 계산 정보에 대해 미분방정식 및 적분을 수행하고, 새로운 객체들의 위치를 계산하여 갱신하는 단계를 포함하여 이루어지는 것을 특징으로 하는 그래픽스 처리방법.(d) performing differential equations and integration on the calculation information in a physical-based simulation, and calculating and updating positions of new objects. 청구항 10에 있어서,The method according to claim 10, 사용자가 시뮬레이션 반복을 원할 경우 상기 단계 (c) 및 (d)를 반복하는 것을 특징으로 하는 그래픽스 처리방법.If the user wants to repeat the simulation, the graphics processing method characterized in that for repeating the steps (c) and (d). 그래픽스 응용시스템의 3차원 그래픽스 환경에서 파이프라인기법으로 연산 처리가 가능한 부분을 그래픽스 처리하는 장치에서 광선추적법으로서,In the 3D graphics environment of the graphics application system, as a ray tracing method in the graphics processing device that can be processed by the pipeline method, (a) 대상 객체들을 포함하고 있는 3차원 그래픽스 장면을 계층적으로 구성하여, 컴퓨터 그래픽스 관련 알고리즘 및 렌더링이 가속화되도록 하는 가속화 계층구조를 생성하는 단계;(a) hierarchically constructing a three-dimensional graphics scene containing target objects to generate an acceleration hierarchy that causes computer graphics related algorithms and renderings to be accelerated; (b) 3차원 그래픽스 장면의 빛의 위치에 따라 광선을 생성하는 단계;(b) generating a ray according to the position of light in the three-dimensional graphics scene; (c) 상기 생성된 가속화 계층구조를 탐색해서 충돌검사대상을 추출하는 단계;(c) extracting a collision inspection object by searching the generated acceleration hierarchy; (d) 상기 추출된 충돌검사대상에 대해 충돌 기본객체 간의 충돌검사하여, 해당 객체 간의 교차점, 충돌 여부, 충돌지점 및 투과 깊이를 계산하는 단계;(d) checking a collision between the collision basic objects with respect to the extracted collision inspection object, and calculating intersections, collisions, collision points, and penetration depths between the corresponding objects; (e) 상기 충돌검사에서 계산된 정보를 이용해서 충돌이 일어난 지점의 색상을 객체 표면 속성과 빛의 세기 등을 이용해서 쉐이딩을 수행하는 단계;(e) shading the color of the point where the collision occurred by using the information calculated in the collision inspection by using object surface properties and light intensity; (f) 상기 쉐이딩 수행 결과를 레스터화하는 단계를 포함하여 이루어지는 것을 특징으로 하는 그래픽스 처리방법.and (f) rasterizing the result of shading. 청구항 12에 있어서,The method according to claim 12, 상기 레스터화된 쉐이딩된 결과를 화면 디스플레이 장치로 전달하여, 해당 화면 디스플레이 장치가 해당 그래픽스를 디스플레이하도록 하는 단계를 더 포함하는 그래픽스 처리방법.And transmitting the rasterized shaded result to a screen display device, such that the screen display device displays the graphics.
KR1020060124007A 2006-12-07 2006-12-07 Apparatus and method for processing graphics KR100791411B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060124007A KR100791411B1 (en) 2006-12-07 2006-12-07 Apparatus and method for processing graphics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060124007A KR100791411B1 (en) 2006-12-07 2006-12-07 Apparatus and method for processing graphics

Publications (1)

Publication Number Publication Date
KR100791411B1 true KR100791411B1 (en) 2008-01-07

Family

ID=39216615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060124007A KR100791411B1 (en) 2006-12-07 2006-12-07 Apparatus and method for processing graphics

Country Status (1)

Country Link
KR (1) KR100791411B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100924122B1 (en) 2007-12-17 2009-10-29 한국전자통신연구원 Ray tracing device based on pixel processing element and method thereof
WO2010137821A3 (en) * 2009-05-29 2011-03-31 주식회사 실리콘아츠 Ray tracing device and method
KR101132308B1 (en) 2010-06-04 2012-04-05 중앙대학교 산학협력단 Collision detection method of polygon model using OBBTree and subdivision
US8441477B2 (en) 2008-12-29 2013-05-14 Samsung Electronis Co., Ltd. Apparatus and method of enhancing ray tracing speed
KR101454692B1 (en) 2013-11-20 2014-10-27 한국과학기술원 Apparatus and method for object tracking
KR101475779B1 (en) * 2008-06-02 2014-12-23 삼성전자주식회사 Method for 3D Image Processing
CN111062135A (en) * 2019-12-18 2020-04-24 哈尔滨理工大学 Accurate collision detection method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015973A (en) * 2000-08-23 2002-03-02 야마우치 히로시 Recirculating shade tree blender for a graphics system
KR20030064239A (en) * 2002-01-22 2003-07-31 가부시끼가이샤 도시바 Image processing device and method, and compiler used in image processing device
KR20060044935A (en) * 2004-05-03 2006-05-16 마이크로소프트 코포레이션 Systems and methods for providing an enhanced graphics pipeline

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015973A (en) * 2000-08-23 2002-03-02 야마우치 히로시 Recirculating shade tree blender for a graphics system
KR20030064239A (en) * 2002-01-22 2003-07-31 가부시끼가이샤 도시바 Image processing device and method, and compiler used in image processing device
KR20060044935A (en) * 2004-05-03 2006-05-16 마이크로소프트 코포레이션 Systems and methods for providing an enhanced graphics pipeline

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100924122B1 (en) 2007-12-17 2009-10-29 한국전자통신연구원 Ray tracing device based on pixel processing element and method thereof
KR101475779B1 (en) * 2008-06-02 2014-12-23 삼성전자주식회사 Method for 3D Image Processing
US9064346B2 (en) 2008-06-02 2015-06-23 Samsung Electronics Co., Ltd. Hierarchical based 3D image processor, method, and medium
US8441477B2 (en) 2008-12-29 2013-05-14 Samsung Electronis Co., Ltd. Apparatus and method of enhancing ray tracing speed
WO2010137821A3 (en) * 2009-05-29 2011-03-31 주식회사 실리콘아츠 Ray tracing device and method
KR101076807B1 (en) 2009-05-29 2011-10-25 주식회사 실리콘아츠 Ray tracing apparatus and method
CN102439862A (en) * 2009-05-29 2012-05-02 斯里考纳特斯公司 Ray tracing device and method
KR101132308B1 (en) 2010-06-04 2012-04-05 중앙대학교 산학협력단 Collision detection method of polygon model using OBBTree and subdivision
KR101454692B1 (en) 2013-11-20 2014-10-27 한국과학기술원 Apparatus and method for object tracking
CN111062135A (en) * 2019-12-18 2020-04-24 哈尔滨理工大学 Accurate collision detection method
CN111062135B (en) * 2019-12-18 2024-01-02 哈尔滨理工大学 Accurate collision detection method

Similar Documents

Publication Publication Date Title
KR100791411B1 (en) Apparatus and method for processing graphics
EP2939208B1 (en) Sprite graphics rendering system
JP6309620B2 (en) Use a compute shader as the front end for a vertex shader
US8013857B2 (en) Method for hybrid rasterization and raytracing with consistent programmable shading
US8743114B2 (en) Methods and systems to determine conservative view cell occlusion
WO2012158868A2 (en) Rendering tessellated geometry with motion and defocus blur
CN113781624B (en) Ray tracing hardware acceleration with selectable world space transforms
KR100980449B1 (en) Method and system for rendering of parallel global illumination
CN113808245B (en) Enhanced techniques for traversing ray tracing acceleration structures
US7843463B1 (en) System and method for bump mapping setup
JP2017188095A (en) Methods and graphics processing units for determining differential data for rays of ray bundle
US8466919B1 (en) Re-rendering a portion of an image
CN113781625A (en) Hardware-based techniques for ray tracing
KR102443697B1 (en) Method and apparatus for performing a path stroke
KR20220154706A (en) Ray Tracing Multisample Anti-Aliasing
US9858708B2 (en) Convex polygon clipping during rendering
CN113822788A (en) Early release of resources in ray tracing hardware
Favorskaya et al. Rendering of wind effects in 3D landscape scenes
JP2008305347A (en) Method and device for generating interference discrimination information
Van Kooten et al. Point-based visualization of metaballs on a gpu
US20220406002A1 (en) Spatial hashing for world-space spatiotemporal reservoir re-use for ray tracing
Weier et al. Generating and rendering large scale tiled plant populations
KR100749123B1 (en) GPS-based real-time environmental information input device at ubiquitous circumstances
Min et al. OctoMap-RT: Fast Probabilistic Volumetric Mapping Using Ray-Tracing GPUs
KR101228118B1 (en) Method for constructing a Kd-tree based on polygon importance

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 19