KR102089269B1 - 포터블 레이 트레이싱 시스템에서의 버퍼링 방법 - Google Patents

포터블 레이 트레이싱 시스템에서의 버퍼링 방법 Download PDF

Info

Publication number
KR102089269B1
KR102089269B1 KR1020190042391A KR20190042391A KR102089269B1 KR 102089269 B1 KR102089269 B1 KR 102089269B1 KR 1020190042391 A KR1020190042391 A KR 1020190042391A KR 20190042391 A KR20190042391 A KR 20190042391A KR 102089269 B1 KR102089269 B1 KR 102089269B1
Authority
KR
South Korea
Prior art keywords
ray tracing
user terminal
dynamic
portable
acceleration structure
Prior art date
Application number
KR1020190042391A
Other languages
English (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 KR1020190042391A priority Critical patent/KR102089269B1/ko
Priority to US16/427,616 priority patent/US10902666B2/en
Application granted granted Critical
Publication of KR102089269B1 publication Critical patent/KR102089269B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • 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

본 발명은 포터블 레이 트레이싱 시스템에서의 버퍼링 방법에 관한 것으로, 상기 그래픽 처리의 수행 과정에서 상기 포터블 레이 트레이싱 장치로부터 동적 가속 구조(Acceleration Structure)를 수신하는 단계, 상기 사용자 단말에 의해 갱신된 동적 객체를 상기 동적 가속 구조와 함께 패키징(packaging)하여 상기 사용자 단말의 시스템 메모리에 형성되는 버퍼(buffer) 영역에 순차적으로 저장하는 단계 및 상기 물리적 결합의 이탈이 감지된 경우 상기 버퍼 영역으로부터 패키징 데이터를 로딩(loading)하고 복구 시점을 결정하여 상기 사용자 단말의 그래픽 프로세서에 의한 레이 트레이싱(ray tracing)을 수행하는 단계를 포함한다. 따라서, 본 발명은 동기화된 그래픽 처리 과정에서 물리적 결합의 이탈이 발생한 경우 원활한 그래픽 처리를 제공할 수 있다.

Description

포터블 레이 트레이싱 시스템에서의 버퍼링 방법{BUFFERING METHOD IN PORTABLE RAY TRACING SYSTEM}
본 발명은 포터블 레이 트레이싱 시스템에서의 버퍼링 기술에 관한 것으로, 보다 상세하게는 동기화된 그래픽 처리 과정에서 물리적 결합의 이탈이 발생한 경우 원활한 그래픽 처리를 제공하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법에 관한 것이다.
3 차원 그래픽 기술은 컴퓨팅 장치에 저장된 기하 데이터(geometric data)의 3 차원 표현을 사용하는 그래픽 기술로, 오늘날 미디어 산업과 게임 산업을 포함하는 다양한 산업에서 널리 사용되고 있다. 일반적으로 3 차원 그래픽 기술은 많은 연산량으로 인하여 별개의 고성능 그래픽 프로세서를 요구한다. 레이 트레이싱 기술은 반사, 굴절, 그림자를 포함하는 다양한 광 효과 들(optical effects)을 시뮬레이션할 수 있고, 매우 현실적인 3차원 그래픽을 생성할 수 있다.
한국등록특허 제10-1560283(2015.10.07)호는 3차원 영상 생성 방법, 이를 수행하는 3차원 영상 생성 장치 및 이를 저장하는 기록매체에 관한 것으로, (a) 주어진 공간의 분할 방식을 결정하여 상기 주어진 공간을 복수의 서브 공간들(각각은 KD-tree의 노드를 형성함)로 분할하는 단계 및 (b) 상기 복수의 서브 공간들 각각을 상기 주어진 공간으로 설정하여 상기 단계 (a)를 반복하는 단계를 포함하고, 상기 (a) 단계는 해당 서브 공간이 상기 KD-tree의 내부 노드에 해당하면 상기 내부 노드에 있는 원시 데이터의 개수가 임계치를 초과하는지 여부를 체크하는 단계를 포함하는 3차원 영상 생성 방법에 관한 것이다.
한국공개특허 제10-2014-0023615(2014.02.27)호는 트리 가속 구조를 사용하는 레이 탐색 유닛에 관한 것으로, 복수 개의 서브-파이프라인 유닛들을 포함하고, 상기 복수 개의 서브-파이프라인 유닛들 각각은 상기 트리 가속 구조를 사용하는 레이 탐색을 위해 요구되는 서로 상이한 작업들을 처리하고 서로 병렬로 동작한다.
한국등록특허 제10-1560283(2015.10.07)호 한국공개특허 제10-2014-0023615(2014.02.27)호
본 발명의 일 실시예는 동기화된 그래픽 처리 과정에서 물리적 결합의 이탈이 발생한 경우 원활한 그래픽 처리를 제공하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법을 제공하고자 한다.
본 발명의 일 실시예는 포터블 레이 트레이싱 장치에서 구축된 동적 가속 구조를 동적 객체와 패키징하여 보관함으로써 독립적으로 수행되는 레이 트레이싱 과정을 추적할 수 있는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법을 제공하고자 한다.
본 발명의 일 실시예는 물리적 결합의 이탈이 발생한 경우 패키징 데이터를 기초로 복구 시점부터 이탈 발생 시점까지의 레이 트레이싱을 수행하여 손실된 그래픽 처리를 복구할 수 있는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법을 제공하고자 한다.
실시예들 중에서, 포터블 레이 트레이싱 시스템에서의 버퍼링 방법은 상기 그래픽 처리의 수행 과정에서 상기 포터블 레이 트레이싱 장치로부터 동적 가속 구조를 수신하는 단계, 상기 사용자 단말에 의해 갱신된 동적 객체를 상기 동적 가속 구조와 함께 패키징(packaging)하여 상기 사용자 단말의 시스템 메모리에 형성되는 버퍼(buffer) 영역에 순차적으로 저장하는 단계 및 상기 물리적 결합의 이탈이 감지된 경우 상기 버퍼 영역으로부터 패키징 데이터를 로딩하고 복구 시점을 결정하여 상기 사용자 단말의 그래픽 프로세서에 의한 레이 트레이싱(ray tracing)을 수행하는 단계를 포함한다.
상기 동적 가속 구조를 수신하는 단계는 상기 사용자 단말에 의해 상기 시스템 메모리에 저장된 동적 객체를 갱신하는 단계, 상기 동적 객체에 관한 갱신 내용을 상기 동기화를 통해 상기 포터블 레이 트레이싱 장치와 공유하는 단계 및 상기 동적 객체를 기초로 상기 포터블 레이 트레이싱 장치에 의해 재구축된 가속 구조를 상기 동적 가속 구조로서 수신하는 단계를 포함할 수 있다.
상기 순차적으로 저장하는 단계는 상기 패키징 데이터를 외부 메모리에 저장하고 상기 버퍼 영역에는 상기 패키징 데이터에 접근 가능한 상기 외부 메모리 상의 주소만을 저장하는 단계를 포함할 수 있다.
상기 순차적으로 저장하는 단계는 주기적으로 기준 시점을 갱신하는 단계, 상기 기준 시점이 갱신되면 해당 기준 시점에서의 동적 객체에 관한 형상 정보를 생성하여 저장하는 단계, 상기 형상 정보를 기초로 동적 객체에 관한 갱신 정보를 추출하는 단계 및 상기 갱신 정보를 상기 동적 가속 구조와 함께 패키징하여 상기 버퍼 영역에 순차적으로 저장하는 단계를 포함할 수 있다.
상기 레이 트레이싱을 수행하는 단계는 복수의 기준 시점들 중에서 상기 물리적 결합의 이탈이 감지된 시점과 가장 가까운 기준 시점을 상기 복구 시점으로 결정하는 단계를 포함할 수 있다.
상기 레이 트레이싱을 수행하는 단계는 상기 버퍼 영역에 저장된 상기 패키징 데이터의 개수 및 상기 그래픽 프로세서에 의해 처리되는 프레임 비율(frame rate)을 기초로 상기 복구 시점을 결정하는 단계를 포함할 수 있다.
상기 레이 트레이싱을 수행하는 단계는 상기 물리적 결합을 제공하는 접속 포트로부터 수신되는 전기적 신호의 차단 여부를 기초로 상기 물리적 결합의 이탈을 결정하는 단계를 포함할 수 있다.
상기 레이 트레이싱을 수행하는 단계는 레이 생성(Ray Generation) 단계, 방문/교차 테스트(Traversal & Intersection Test) 단계, 세이딩(Shading) 단계 및 텍스쳐 매핑(Texture Mapping) 단계를 순차적으로 수행하여 프레임별 이미지를 생성하는 단계를 포함할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템에서의 버퍼링 방법은 포터블 레이 트레이싱 장치에서 구축된 동적 가속 구조를 동적 객체와 패키징하여 보관함으로써 독립적으로 수행되는 레이 트레이싱 과정을 추적할 수 있다.
본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템에서의 버퍼링 방법은 물리적 결합의 이탈이 발생한 경우 패키징 데이터를 기초로 복구 시점부터 이탈 발생 시점까지의 레이 트레이싱을 수행하여 손실된 그래픽 처리를 복구할 수 있다.
도 1 및 2는 본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템에서 수행되는 레이 트레이싱 과정을 설명하기 위한 도면이다.
도 3은 레이 트레이싱 과정에서 사용되는 가속 구조와 기하 데이터를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템을 설명하는 도면이다.
도 5는 도 4에 있는 사용자 단말의 물리적 구성의 일 실시예를 설명하는 도면이다.
도 6은 도 5에 있는 이탈 처리 유닛의 기능적 구성을 설명하는 도면이다.
도 7은 도 5에 있는 이탈 처리 유닛에서 수행되는 버퍼링 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1 및 2는 본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템에서 수행되는 레이 트레이싱 과정을 설명하기 위한 도면이다.
도 1을 참조하면, 각 픽셀(pixel) 당 카메라(CAMERA) 위치로부터 최초 레이(EYE RAY)(E)를 생성하여 레이(E)와 만나는 물체를 찾기 위한 계산을 수행할 수 있다. 해당 레이(E)와 만나게 된 물체가 굴절의 성질을 갖는 물체(SPECULAR MATERIAL)나 반사의 성질을 갖는 물체(DIFFUSE MATERIAL)인 경우 해당 레이(E)와 물체가 만난 위치에서 굴절 효과를 위한 굴절 레이(REFRACTION RAY)(F) 및/또는 반사 효과를 위한 반사 레이(REFLECTION RAY)(R)를 생성하고, 라이트(LIGHT) 방향으로 쉐도우 레이(SHADOW RAY)(S)를 생성할 수 있다. 일 실시예에서, 쉐도우 레이(S)가 다른 물체(OCCULUDER)와 만나면 해당 쉐도우 레이(S)가 생성된 지점에 그림자가 생성될 수 있다.
도 2를 참조하면, 레이 트레이싱(Ray Tracing) 과정은 재귀적으로 수행될 수 있고, (i) 아이(Eye) 레이 생성(Ray Generation) 단계(S210), (ii) 가속 구조(AS) 방문(Traversal) 단계(S230), (iii) 교차 테스트(Intersection Test) 단계(S250), (iv) 세이딩(Shading) 단계(S270) 및 (v) 텍스처 매핑(Texture Mapping) 단계(S290)를 포함할 수 있다.
아이 레이 생성 단계(S210)는 아이 레이 생성 정보와 세이딩 정보(shading information)를 기초로 적어도 하나의 레이를 생성할 수 있다. 아이 레이 생성 정보는 아이 레이 생성을 위한 스크린 좌표 값을 포함할 수 있고, 세이딩 정보는 스크린 좌표 값을 구하기 위한 레이 인덱스(index), 레이-삼각형 히트 포인트(ray-triangle hit point)의 좌표 값과 컬러 값 및 세이딩 레이 타입을 포함할 수 있다. 또한, 세이딩 정보는 세이딩 레이 타입에 따라 부가 정보를 더 포함할 수 있다.
여기에서, 세이딩 레이(shading ray)는 쉐도우(shadow ray) 레이(S), 파생 레이(secondary ray) 또는 널 레이(NULL ray)를 포함할 수 있고, 파생 레이는 굴절 레이(F) 및/또는 반사 레이(R)를 포함할 수 있다. 굴절 레이(F)는 레이-삼각형 히트 포인트의 굴절률을 부가 정보로서 포함할 수 있고, 반사 레이(R)는 레이-삼각형 히트 포인트의 반사율을 부가 정보로서 포함할 수 있다.
가속 구조 방문 단계(S230)는 가속 구조(AS)에서 노드들을 검색함으로써 레이와 교차되는 리프 노드(leaf node)를 찾을 수 있다. 여기에서, 가속 구조는 kd-트리에 해당할 수 있고, 가속 구조의 방문 과정은 kd-트리의 순회에 해당할 수 있다.
교차 테스트 단계(S250)는 레이-삼각형 교차 테스트에 해당할 수 있고, 레이와 교차되는 리프 노드에 포함된 삼각형 리스트를 읽고, 해당 삼각형 리스트의 좌표 정보를 기초로 주어진 레이에 대한 교차 테스트를 수행할 수 있다. 세이딩 단계(S270)는 레이-삼각형 히트 포인트의 컬러 값을 계산할 수 있고, 레이-삼각형 히트 포인트의 좌표 값과 컬러 값 및 세이딩 레이 타입을 포함하는 세이딩 정보를 다음 단계로 전달할 수 있다. 텍스처 매핑 단계(S290)는 텍스처 매핑을 통해 현재 프레임을 위한 이미지를 생성할 수 있다.
레이 트레이싱 과정은 현재 프레임을 위한 이미지가 정적 객체와 동적 객체 모두를 포함할 수 있기 때문에 제1 및 제2 가속 구조들 각각에 대하여 레이-삼각형 교차 테스트를 수행할 수 있고, 제1 또는 제2 가속 구조에서 레이와 교차되는 삼각형을 가지는 가속 구조를 기초로 레이 트레이싱을 수행할 수 있다. 레이 트레이싱 과정에서, 제1 및 제2 가속 구조들 모두가 레이와 교차되는 삼각형을 가지는 경우 레이의 시점과 상기 교차되는 삼각형들 각각 간의 길이들(distances)을 기초로 레이 트레이싱을 위한 가속 구조를 결정할 수 있다.
즉, 짧은 거리를 가지는 삼각형이 관찰자와 가까운 곳에 있는 객체에 상응할 수 있기 때문에 레이의 시점과 상기 교차되는 삼각형들 각각 간의 길이들 중 짧은 거리를 가지는 삼각형을 선택할 수 있다. 예를 들어, 아이 시점과 제1 가속 구조의 교차되는 삼각형 간의 거리가 S1에 상응하고 아이 시점과 제2 가속 구조의 교차되는 삼각형 간의 거리가 S2에 상응한다고 가정하면, S1이 S2보다 작은 경우 제1 가속 구조와 교차되는 삼각형을 기초로 레이 트레이싱을 수행할 수 있고, S2가 S1보다 작은 경우 제2 가속 구조와 교차되는 삼각형을 기초로 레이 트레이싱을 수행할 수 있다.
도 3은 레이 트레이싱 과정에서 사용되는 가속 구조와 기하 데이터를 설명하기 위한 도면이다.
도 3을 참조하면, 가속 구조(AS)는 레이 트레이싱에서 일반적으로 사용되는 kd-트리(K-depth tree) 또는 BVH(Bounding Volume Hierarchy)를 포함할 수 있고, 도 3은 kd-트리로 구현된 가속 구조를 예로 들어 설명하고 있다.
kd-트리는 공간 분할 트리(spatial partitioning tree)의 일종으로, 레이-삼각형 교차 테스트(Ray-Triangle Intersection Test)를 위하여 사용될 수 있다. kd-트리는 탑 노드(Top Node), 내부 노드(Inner Nodes) 및 리프 노드(Leaf nodes)를 포함할 수 있고, 리프 노드는 기하 데이터에 포함된 적어도 하나의 삼각형 정보를 포인팅하기 위한 삼각형 리스트를 포함할 수 있다. 일 실시예에서, 만일 기하 데이터에 포함된 삼각형 정보가 배열로 구현된 경우 리프 노드에 포함된 삼각형 리스트는 배열 인덱스에 상응할 수 있다.
도 4는 본 발명의 일 실시예에 따른 포터블 레이 트레이싱 시스템을 설명하는 도면이다.
도 4를 참조하면, 포터블 레이 트레이싱 시스템(400)은 사용자 단말(410) 및 포터블 레이 트레이싱 장치(430)를 포함할 수 있다. 사용자 단말(410)과 포터블 레이 트레이싱 장치(430)는 각각에 부착된 접속 포트를 통해 물리적으로 결합할 수 있다.
사용자 단말(410)은 그래픽 처리를 수행하고 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 그래픽 처리를 위한 그래픽 프로세서(graphic processor)를 CPU(Central Processing Unit)와 별도로 포함하여 구현될 수 있고, 이 경우 그래픽 프로세서는 GPU(Graphic Processing Unit)에 해당할 수 있다.
또한, 사용자 단말(410)은 포터블 레이 트레이싱 장치(430)와 물리적 결합을 위한 접속 포트를 포함하여 구현될 수 있다. 접속 포트는 사용자 단말(410)과 포터블 레이 트레이싱 장치(430) 간의 물리적 결합을 위한 입출력(I/O) 인터페이스에 해당할 수 있고, 예를 들어, USB Type-c 단자로 구현될 수 있다. 필요에 따라, 복수의 사용자 단말(410)들은 포터블 레이 트레이싱 장치(430)와 동시에 연결될 수 있다.
포터블 레이 트레이싱 장치(430)는 그래픽 처리의 일부 동작을 지원할 수 있는 장치에 해당할 수 있고, 휴대 가능한 형태로 구현될 수 있다. 포터블 레이 트레이싱 장치(430)는 사용자 단말(410)과 물리적으로 결합하기 위한 접속 포트를 포함할 수 있다. 포터블 레이 트레이싱 장치(430)는 레이 트레이싱을 수행하는 레이 트레이싱 유닛 및 내부 메모리를 포함하여 구현될 수 있다. 여기에서, 레이 트레이싱 유닛(Ray Tracing Unit)은 레이 트레이싱을 수행하는 그래픽 프로세서에 해당할 수 있다. 또한, 포터블 레이 트레이싱 장치(430)는 사용자 단말(410)로부터 레이 트레이싱을 위한 전원을 공급받을 수 있다.
일 실시예에서, 사용자 단말(410)과 포터블 레이 트레이싱 장치(430)는 상호 간의 물리적 결합을 통해 동기화된 그래픽 처리를 수행할 수 있다. 보다 구체적으로, 사용자 단말(410)은 기하 데이터 로딩(3D Data Loading) 단계, 장면 관리(Scene Management) 단계 및 가속 구조 생성(Acceleration Structure Generation) 단계를 순차적으로 수행할 수 있고, 포터블 레이 트레이싱 장치(430)는 레이 생성(Ray Generation) 단계, 방문/교차 테스트(Traversal & Intersection Test) 단계, 세이딩(Shading) 단계 및 텍스쳐 매핑(Texture Mapping) 단계를 순차적으로 수행할 수 있다.
기하 데이터 로딩 단계는 외부 저장장치로부터 기하 데이터를 수신하여 시스템 메모리에 저장하거나 또는 네트워크를 통해 수신된 기하 데이터를 시스템 메모리에 저장할 수 있다. 장면 관리 단계는 기하 데이터를 기초로 정적 장면(static scene)과 동적 장면(dynamic scene)을 생성 및/또는 갱신할 수 있다. 가속 구조 생성 단계는 정적 장면을 구성하는 정적 객체와 동적 장면을 구성하는 동적 객체에 관한 가속 구조를 생성할 수 있다.
레이 생성 단계는 레이 생성 정보와 세이딩 정보를 기초로 적어도 하나의 레이를 생성할 수 있다. 방문/교차 테스트 단계는 가속 구조에서 노드들을 검색함으로써 레이와 교차되는 리프 노드(leaf node)를 찾고, 리프 노드에 포함된 삼각형 리스트를 읽어 해당 삼각형 리스트의 좌표 정보를 기초로 주어진 레이에 대한 교차 테스트를 수행할 수 있다. 세이딩 단계는 레이-삼각형 히트 포인트의 컬러 값을 계산하여 레이-삼각형 히트 포인트의 좌표 값과 컬러 값 및 세이딩 레이 타입을 포함하는 세이딩 정보를 생성할 수 있다. 텍스처 매핑 단계는 텍스처 매핑을 통해 현재 프레임을 위한 이미지를 생성할 수 있다.
결과적으로, 사용자 단말(410)과 포터블 레이 트레이싱 장치(430)는 동기화된 그래픽 처리를 통해 프레임별 이미지를 생성하는 과정을 반복적으로 수행할 수 있다. 다만, 동기화된 그래픽 처리 과정에서 물리적 결합의 이탈이 발생한 경우 각각의 장치에서 독립적으로 관리되는 데이터들이 손상 또는 손실될 수 있기 때문에 이전 상태로의 효과적인 복귀를 위한 대비가 필요할 수 있다.
도 5는 도 4에 있는 사용자 단말의 물리적 구성의 일 실시예를 설명하는 도면이다.
도 5를 참조하면, 사용자 단말(410)은 중앙 처리 유닛(510), 시스템 메모리(530), 이탈 처리 유닛(550), 그래픽 프로세서(570) 및 외부 메모리(590)를 포함할 수 있다. 중앙 처리 유닛(510), 시스템 메모리(530), 이탈 처리 유닛(550) 및 그래픽 프로세서(570)는 상호 간에 고속 버스(High Speed Bus)를 통해 데이터를 전송할 수 있다.
중앙 처리 유닛(CPU)(510)은 사용자 단말(410)의 전체적인 동작을 제어할 수 있고, 그래픽 프로세서(570)의 동작과 연동하여 그래픽 처리를 지원할 수 있다. 또한, 포터블 레이 트레이싱 장치(430)와의 동기화에 따른 동작을 제어할 수 있다. 즉, 중앙 처리 유닛(CPU)(510)은 포터블 레이 트레이싱 장치(430)와의 동기화에 따라 사용자 단말(410)이 담당하는 그래픽 처리의 일부 동작을 제어할 수 있고, 예를 들어, 정적 객체에 관한 정적 가속 구조를 구축하거나 또는 3차원 어플리케이션(application)을 처리할 수 있으며, 그래픽 처리의 결과로서 생성된 이미지들을 디스플레이(Display)를 통해 출력할 수 있다.
시스템 메모리(System Memory)(530)는 중앙 처리 유닛(510) 또는 그래픽 프로세서(570)에 의해 접근될 수 있고, 그래픽 처리에 필요한 데이터를 저장할 수 있다. 예를 들어, 시스템 메모리(530)는 3차원 장면을 구성하는 삼각형 정보에 관한 기하 데이터와 텍스처를 위한 텍스처 데이터를 저장할 수 있다.
이탈 처리 유닛(Disconnect Processing Unit)(550)은 사용자 단말(410) 및 포터블 레이 트레이싱 장치(430) 간의 물리적 결합에 관한 이탈을 감지하고 이전 상태로의 복귀를 위한 버퍼링을 처리할 수 있다. 이를 위하여, 이탈 처리 유닛(550)은 중앙 처리 유닛(510) 및 그래픽 프로세서(570)와 연동하여 동작할 수 있고, 시스템 메모리(530)에 대한 접근 권한을 획득할 수 있다. 이탈 처리 유닛(550)의 구체적인 동작에 대해서는 도 6에서 보다 자세히 설명한다.
그래픽 프로세서(Graphic Processor)(570)는 그래픽 처리를 위한 레이 트레이싱을 수행할 수 있고, 중앙 처리 유닛(510)과 연동할 수 있으며, 이를 위하여 시스템 메모리(530)에 대한 접근 권한을 획득할 수 있다. 또한, 그래픽 프로세서(570)는 물리적 결합에 의해 사용자 단말(410) 및 포터블 레이 트레이싱 장치(430) 간의 동기화가 진행 중인 경우 그래픽 처리에 있어서 제한적인 역할만을 수행할 수 있다.
일 실시예에서, 그래픽 프로세서(570)는 동적 객체를 기초로 동적 가속 구조를 구축할 수 있고, 정적 및 동적 가속 구조들을 기초로 레이 트레이싱을 수행할 수 있으며, 수행된 레이 트레이싱의 결과를 중앙 처리 유닛(510)에 전송할 수 있다.
외부 메모리(External Memory)(590)는 그래픽 프로세서(570)에서 처리되는 정보를 임시로 저장할 수 있고, 정적 및 동적 객체들에 관한 기하 데이터와 가속 구조들, 텍스처 데이터 및 컬러 정보를 저장할 수 있다.
일 실시예에서, 외부 메모리(590)는 도 5와는 달리 시스템 메모리(530)의 일부 영역에 해당할 수 있고, 외부 메모리(590)와 시스템 메모리(530)는 논리적으로만 구분되며, 필요에 따라 하나의 메모리에 통합되어 구현될 수 있다.
도 6은 도 5에 있는 이탈 처리 유닛의 기능적 구성을 설명하는 도면이다.
도 6을 참조하면, 이탈 처리 유닛(550)은 동적 가속 구조 수신부(610), 패키징 처리부(630), 레이 트레이싱 수행부(650) 및 제어부(670)를 포함할 수 있다.
동적 가속 구조 수신부(610)는 그래픽 처리의 수행 과정에서 포터블 레이 트레이싱 장치(430)로부터 동적 가속 구조(Acceleration Structure)를 수신할 수 있다. 사용자 단말(410)과 포터블 레이 트레이싱 장치(430)는 상호 간의 물리적 결합에 의해 형성된 입출력 인터페이스(450)를 통해 그래픽 처리를 위한 데이터를 교환할 수 있고, 사용자 단말(410)은 동적 가속 구조 수신부(610)를 통해 매 프레임별 레이 트레이싱 과정에서 구축된 동적 가속 구조를 수신할 수 있다.
일 실시예에서, 동적 가속 구조 수신부(610)는 사용자 단말(410)에 의해 시스템 메모리(530)에 저장된 동적 객체를 갱신하는 단계, 동적 객체에 관한 갱신 내용을 동기화를 통해 포터블 레이 트레이싱 장치(430)와 공유하는 단계 및 동적 객체를 기초로 포터블 레이 트레이싱 장치(430)에 의해 재구축된 가속 구조를 동적 가속 구조로서 수신하는 단계를 순차적으로 수행함으로써 수신 동작을 처리할 수 있다.
즉, 포터블 레이 트레이싱 장치(430)로부터 수신되는 동적 가속 구조는 사용자 단말(410)에 의해 주기적으로 갱신되는 동적 객체를 기초로 구축될 수 있고, 사용자 단말(410)과 포터블 레이 트레이싱 장치(430)는 전체 그래픽 처리 과정 중 일부를 각각 담당하여 처리함으로써 향상된 그래픽 처리 성능을 제공할 수 있다.
패키징 처리부(630)는 사용자 단말(410)에 의해 갱신된 동적 객체를 동적 가속 구조와 함께 패키징(packaging)하여 사용자 단말(410)의 시스템 메모리(530)에 형성되는 버퍼(buffer) 영역에 순차적으로 저장할 수 있다. 버퍼(buffer) 영역은 메모리의 일부로서 시스템 메모리(530)에 형성될 수 있고, 사용자 단말(410)에 의해서만 접근되도록 접근 권한이 제한될 수 있다. 패키징(packaging)은 예비적 복구를 위해 임시적인 형태로 데이터를 묶는 행위에 해당할 수 있고, 패키징 과정에서 데이터의 통합과 압축이 여러 번 수행될 수 있다.
3차원 장면을 구성하는 객체들 중에서 위치 및 상태 등이 변화하는 동적 객체는 프레임마다 변화 정보를 반영하여 갱신할 필요가 있고, 이를 위한 레이 트레이싱 과정에서 사용되는 정보로서 포터블 레이 트레이싱 장치(430)에 의해 구축되는 동적 가속 구조를 동적 객체에 관한 정보와 함께 통합하여 특정 위치에 보관함으로써 물리적 결합의 이탈이 발생한 경우에 신속하게 이전 상태로의 복구를 수행할 수 있다.
일 실시예에서, 패키징 처리부(630)는 패키징 데이터를 외부 메모리(590)에 저장하고 버퍼 영역에는 패키징 데이터에 접근 가능한 외부 메모리(590) 상의 주소만을 저장할 수 있다. 시스템 메모리(530)는 그래픽 처리 뿐만 아니라 사용자 단말(410)의 전체적인 동작 제어를 위해서도 사용될 수 있기 때문에, 큰 공간을 차지하는 패키징 데이터는 별도의 공간, 즉 외부 메모리(590)에 저장하고, 해당 외부 메모리(590)로 접근할 수 있는 주소만을 버퍼 영역에 저장하여 메모리 공간을 효율적으로 사용할 수 있다.
일 실시예에서, 패키징 처리부(630)는 주기적으로 기준 시점을 갱신하는 단계, 기준 시점이 갱신되면 해당 기준 시점에서의 동적 객체에 관한 형상 정보를 생성하여 저장하는 단계, 형상 정보를 기초로 동적 객체에 관한 변경 정보를 추출하는 단계 및 변경 정보를 동적 가속 구조와 함께 패키징하여 버퍼 영역에 순차적으로 저장하는 단계를 순차적으로 수행함으로써 패키징 동작을 처리할 수 있다.
여기에서, 기준 시점은 레이 트레이싱을 통해 생성된 프레임별 이미지가 디스플레이를 통해 최종적으로 출력된 시점에 해당할 수 있고, 주기적으로 출력된 이미지에 관한 정보를 갱신할 수 있다. 즉, 기준 시점 이후에 레이 트레이싱을 통해 생성된 이미지들은 메모리 상의 특정 영역, 예를 들어 프레임 버퍼(frame buffer)에 저장될 수 있고, 중앙 처리 유닛(510)의 제어에 의해 디스플레이를 통해 출력될 수 있다.
일 실시예에서, 패키징 처리부(630)는 주기적으로 기준 시점을 갱신하는 단계, 기준 시점이 갱신되면 버퍼 영역에 저장된 형상 정보의 개수를 산출하는 단계, 형상 정보의 개수가 기준 개수와 동일한 경우 형상 정보의 생성 시점이 가장 빠른 형상 정보를 버퍼 영역에서 삭제하고 해당 기준 시점에서의 동적 객체에 관한 형상 정보를 생성하여 저장하는 단계, 형상 정보를 기초로 동적 객체에 관한 변경 정보를 추출하는 단계 및 변경 정보를 동적 가속 구조와 함께 패키징하여 버퍼 영역에 순차적으로 저장하는 단계를 순차적으로 수행함으로써 패키징 동작을 처리할 수 있다.
패키징 처리부(630)는 기준 시점에서의 동적 객체를 기초로 이후 동적 객체에 관한 변경이 발생하면 해당 변경 정보만을 수집하여 동적 가속 구조와 함께 패키징함으로써 패키징 데이터의 크기를 줄일 수 있다. 동적 객체에 관한 형상 정보는 특정 시점에서의 동적 객체에 관한 정보로서 다른 시점에서의 동적 객체와 비교 가능한 형태로 표현될 수 있다.
레이 트레이싱 수행부(650)는 물리적 결합의 이탈이 감지된 경우 버퍼 영역으로부터 패키징 데이터를 로딩(loading)하고 복구 시점을 결정하여 사용자 단말(410)의 그래픽 프로세서(570)에 의한 레이 트레이싱(ray tracing)을 수행할 수 있다. 사용자 단말(410)은 예상치 못한 이탈이 발생한 경우 포터블 레이 트레이싱 장치(430)로부터 레이 트레이싱 동작을 지원받기 어렵기 때문에 자체적인 레이 트레이싱을 위한 과정을 수행할 수 있다.
일 실시예에서, 레이 트레이싱 수행부(650)는 복수의 기준 시점들 중에서 물리적 결합의 이탈이 감지된 시점과 가장 가까운 기준 시점을 복구 시점으로 결정할 수 있다. 시스템 메모리(530)의 버퍼 영역에는 복수의 기준 시점들이 저장될 수 있고, 레이 트레이싱 수행부(650)는 물리적 결합의 이탈이 감지된 시점을 기초로 적정한 복구 시점을 결정하여 신속하고 원활한 버퍼링이 수행되도록 제어할 수 있다. 레이 트레이싱 수행부(650)는 시점 간의 거리를 기초로 복구 시점을 결정하여 레이 트레이싱을 수행할 수 있다.
일 실시예에서, 레이 트레이싱 수행부(650)는 버퍼 영역에 저장된 패키징 데이터의 개수 및 그래픽 프로세서(570)에 의해 처리되는 프레임 비율(frame rate)을 기초로 복구 시점을 결정할 수 있다. 패키징 데이터의 개수는 복구 시점부터 물리적 결합의 이탈이 감지된 시점까지의 기간 동안 저장된 패키징 데이터의 개수에 해당할 수 있고, 프레임 비율은 단위 시간당 그래픽 프로세서(570)에 의해 구축되는 동적 가속 구조의 개수와 레이 트레이싱에 의해 생성되는 이미지의 개수의 비율에 해당할 수 있다. 프레임 비율이 높을수록 구축되는 동적 가속 구조의 개수에 비해 처리되는 이미지의 개수가 더 높다는 것을 의미할 수 있다.
레이 트레이싱 수행부(650)는 물리적 결합의 이탈이 감지된 시점을 기준으로 버퍼 영역에 저장된 패키징 데이터의 개수가 많을수록 더 가까운 시점을 복구 시점으로 결정할 수 있고, 그래픽 프로세서(570)에 의해 처리되는 프레임 비율이 높을수록 더 먼 시점을 복구 시점으로 결정할 수 있다.
일 실시예에서, 레이 트레이싱 수행부(650)는 물리적 결합을 제공하는 접속 포트로부터 수신되는 전기적 신호의 차단 여부를 기초로 물리적 결합의 이탈을 결정할 수 있다. 레이 트레이싱 수행부(650)는 물리적 결합에 의해 전기적 신호가 발생하면 이를 기초로 결합 여부를 판단할 수 있고, 전기적 신호의 발생이 소멸한 경우 물리적 결합의 이탈을 발생한 것으로 판단할 수 있다. 이를 위하여, 레이 트레이싱 수행부(650)는 접속 포트로부터 수신되는 전기적 신호를 수집하는 신호 수집 모듈과 수집된 전기적 신호의 변화를 검출하는 변화 검출 모듈 및 검출된 변화를 기초로 물리적 결합의 이탈 여부를 결정하는 이탈 결정 모듈을 포함하여 구현될 수 있다.
일 실시예에서, 레이 트레이싱 수행부(650)는 레이 생성(Ray Generation) 단계, 방문/교차 테스트(Traversal & Intersection Test) 단계, 세이딩(Shading) 단계 및 텍스쳐 매핑(Texture Mapping) 단계를 순차적으로 수행하여 프레임별 이미지를 생성하는 단계를 순차적으로 수행함으로써 레이 트레이싱 동작을 처리할 수 있다. 즉, 레이 트레이싱 수행부(650)는 갱신된 동적 객체를 기초로 동적 가속 구조를 구축한 이후 일련의 단계들로 이루어진 레이 트레이싱 과정을 수행하여 현재 프레임을 위한 이미지를 생성할 수 있고, 디스플레이를 통해 출력할 수 있다.
일 실시예에서, 레이 트레이싱 수행부(650)는 시스템 메모리(530) 또는 외부 메모리(590)에 할당된 프레임 버퍼(frame buffer)에 프레임별 이미지를 저장할 수 있고, 실시간 또는 주기적으로 디스플레이를 통해 출력할 수 있다.
제어부(670)는 이탈 처리 유닛(550)의 전체적인 동작을 제어하고, 동적 가속 구조 수신부(610), 패키징 처리부(630) 및 레이 트레이싱 수행부(650) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 7은 도 5에 있는 이탈 처리 유닛에서 수행되는 버퍼링 과정을 설명하는 순서도이다.
도 7을 참조하면, 이탈 처리 유닛(550)은 동적 가속 구조 수신부(610)를 통해 그래픽 처리의 수행 과정에서 포터블 레이 트레이싱 장치(430)로부터 동적 가속 구조(Acceleration Structure)를 수신할 수 있다(단계 S710). 이탈 처리 유닛(550)은 패키징 처리부(630)를 통해 사용자 단말(410)에 의해 갱신된 동적 객체를 동적 가속 구조와 함께 패키징(packaging)하여 사용자 단말(410)의 시스템 메모리에 형성되는 버퍼(buffer) 영역에 순차적으로 저장할 수 있다(단계 S730).
또한, 이탈 처리 유닛(550)은 레이 트레이싱 수행부(650)를 통해 물리적 결합의 이탈이 감지된 경우 버퍼 영역으로부터 패키징 데이터를 로딩(loading)하고 복구 시점을 결정하여 사용자 단말(410)의 그래픽 프로세서(570)에 의한 레이 트레이싱(ray tracing)을 수행할 수 있다(단계 S750).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
400: 포터블 레이 트레이싱 시스템
410: 사용자 단말 430: 포터블 레이 트레이싱 장치
450: 입출력 인터페이스
510: 중앙 처리 유닛 530: 시스템 메모리
550: 이탈 처리 유닛 570: 그래픽 프로세서
590: 외부 메모리
610: 동적 가속 구조 수신부 630: 패키징 처리부
650: 레이 트레이싱 수행부 670: 제어부

Claims (8)

  1. 사용자 단말 및 포터블(portable) 레이 트레이싱(ray tracing) 장치를 포함하고, 상기 사용자 단말 및 상기 포터블 레이 트레이싱 장치 간의 물리적 결합을 통해 동기화된 그래픽 처리를 수행하는 포터블 레이 트레이싱 시스템에서 수행되는 방법에 있어서,
    상기 그래픽 처리의 수행 과정에서 상기 포터블 레이 트레이싱 장치로부터 동적 가속 구조(Acceleration Structure)를 수신하는 단계;
    상기 사용자 단말에 의해 갱신된 동적 객체를 상기 동적 가속 구조와 함께 패키징(packaging)하여 상기 사용자 단말의 시스템 메모리에 형성되는 버퍼(buffer) 영역에 순차적으로 저장하는 단계; 및
    상기 물리적 결합의 이탈이 감지된 경우 상기 버퍼 영역으로부터 패키징 데이터를 로딩(loading)하고 복구 시점을 결정하여 상기 사용자 단말의 그래픽 프로세서에 의한 레이 트레이싱(ray tracing)을 수행하는 단계를 포함하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  2. 제1항에 있어서, 상기 동적 가속 구조를 수신하는 단계는
    상기 사용자 단말에 의해 상기 시스템 메모리에 저장된 동적 객체를 갱신하는 단계;
    상기 동적 객체에 관한 갱신 내용을 상기 동기화를 통해 상기 포터블 레이 트레이싱 장치와 공유하는 단계; 및
    상기 동적 객체를 기초로 상기 포터블 레이 트레이싱 장치에 의해 재구축된 가속 구조를 상기 동적 가속 구조로서 수신하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  3. 제1항에 있어서, 상기 순차적으로 저장하는 단계는
    상기 패키징 데이터를 외부 메모리에 저장하고 상기 버퍼 영역에는 상기 패키징 데이터에 접근 가능한 상기 외부 메모리 상의 주소만을 저장하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  4. 제1항에 있어서, 상기 순차적으로 저장하는 단계는
    주기적으로 기준 시점을 갱신하는 단계;
    상기 기준 시점이 갱신되면 해당 기준 시점에서의 동적 객체에 관한 형상 정보를 생성하여 저장하는 단계;
    상기 형상 정보를 기초로 동적 객체에 관한 변경 정보를 추출하는 단계; 및
    상기 변경 정보를 상기 동적 가속 구조와 함께 패키징하여 상기 버퍼 영역에 순차적으로 저장하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  5. 제4항에 있어서, 상기 레이 트레이싱을 수행하는 단계는
    복수의 기준 시점들 중에서 상기 물리적 결합의 이탈이 감지된 시점과 가장 가까운 기준 시점을 상기 복구 시점으로 결정하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  6. 제1항에 있어서, 상기 레이 트레이싱을 수행하는 단계는
    상기 버퍼 영역에 저장된 상기 패키징 데이터의 개수 및 상기 그래픽 프로세서에 의해 처리되는 프레임 비율(frame rate)을 기초로 상기 복구 시점을 결정하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  7. 제1항에 있어서, 상기 레이 트레이싱을 수행하는 단계는
    상기 물리적 결합을 제공하는 접속 포트로부터 수신되는 전기적 신호의 차단 여부를 기초로 상기 물리적 결합의 이탈을 결정하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.
  8. 제1항에 있어서, 상기 레이 트레이싱을 수행하는 단계는
    레이 생성(Ray Generation) 단계, 방문/교차 테스트(Traversal & Intersection Test) 단계, 세이딩(Shading) 단계 및 텍스쳐 매핑(Texture Mapping) 단계를 순차적으로 수행하여 프레임별 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 포터블 레이 트레이싱 시스템에서의 버퍼링 방법.

KR1020190042391A 2019-04-11 2019-04-11 포터블 레이 트레이싱 시스템에서의 버퍼링 방법 KR102089269B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190042391A KR102089269B1 (ko) 2019-04-11 2019-04-11 포터블 레이 트레이싱 시스템에서의 버퍼링 방법
US16/427,616 US10902666B2 (en) 2019-04-11 2019-05-31 Buffering method in portable ray tracing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190042391A KR102089269B1 (ko) 2019-04-11 2019-04-11 포터블 레이 트레이싱 시스템에서의 버퍼링 방법

Publications (1)

Publication Number Publication Date
KR102089269B1 true KR102089269B1 (ko) 2020-03-17

Family

ID=70003941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190042391A KR102089269B1 (ko) 2019-04-11 2019-04-11 포터블 레이 트레이싱 시스템에서의 버퍼링 방법

Country Status (2)

Country Link
US (1) US10902666B2 (ko)
KR (1) KR102089269B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100128881A (ko) * 2009-05-29 2010-12-08 박우찬 레이 트레이싱 장치 및 방법
KR20140023615A (ko) 2012-08-16 2014-02-27 삼성전자주식회사 병렬 파이프라인을 사용하는 그래픽 처리 방법 및 장치
KR101560283B1 (ko) 2014-04-24 2015-10-15 세종대학교산학협력단 3차원 영상 생성 방법, 이를 수행하는 3차원 영상 생성 장치 및 이를 저장하는 기록매체
KR101807172B1 (ko) * 2016-12-28 2017-12-08 세종대학교 산학협력단 레이 트레이싱 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US20140347355A1 (en) * 2011-02-14 2014-11-27 Siliconarts Inc. Ray tracing core and method for processing ray tracing
US10885698B2 (en) * 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100128881A (ko) * 2009-05-29 2010-12-08 박우찬 레이 트레이싱 장치 및 방법
JP2012528376A (ja) * 2009-05-29 2012-11-12 シリコンアーツ インコーポレイテッド レイトレーシング装置及び方法
KR20140023615A (ko) 2012-08-16 2014-02-27 삼성전자주식회사 병렬 파이프라인을 사용하는 그래픽 처리 방법 및 장치
KR101560283B1 (ko) 2014-04-24 2015-10-15 세종대학교산학협력단 3차원 영상 생성 방법, 이를 수행하는 3차원 영상 생성 장치 및 이를 저장하는 기록매체
KR101807172B1 (ko) * 2016-12-28 2017-12-08 세종대학교 산학협력단 레이 트레이싱 장치 및 방법

Also Published As

Publication number Publication date
US10902666B2 (en) 2021-01-26
US20200327717A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
US11398081B2 (en) Method of occlusion rendering using raycast and live depth
CN103914868B (zh) 虚拟现实下的海量模型数据动态调度与实时异步加载方法
US8463024B1 (en) Combining narrow-baseline and wide-baseline stereo for three-dimensional modeling
US20110202318A1 (en) Interference determination device, interference determination method, and computer program product
CN113706713A (zh) 一种实景三维模型裁剪方法、装置及计算机设备
CN102439862A (zh) 光线跟踪设备和方法
US7990380B2 (en) Diffuse photon map decomposition for parallelization of global illumination algorithm
JP7417745B2 (ja) 小包を検出するための方法、装置、計算装置、物流システム及び記憶媒体
KR102151443B1 (ko) 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
US20140347355A1 (en) Ray tracing core and method for processing ray tracing
CN112513713A (zh) 用于地图构建的系统和方法
KR102089269B1 (ko) 포터블 레이 트레이싱 시스템에서의 버퍼링 방법
KR102151444B1 (ko) Mimd 기반의 t&i 스케줄링을 이용한 레이 트레이싱 장치
KR102169799B1 (ko) 포터블 레이 트레이싱 장치
CN113379826A (zh) 物流件的体积测量方法以及装置
CN117726732A (zh) 减少包围体层次结构中的假阳性光线遍历
Wu et al. Occluder Generation for Buildings in Digital Games
He et al. Manhattan‐world urban building reconstruction by fitting cubes
CN114522420A (zh) 游戏数据处理方法、装置、计算机设备及存储介质
US20230169713A1 (en) Multichip ray tracing device and method
Rückert et al. FragmentFusion: a light-weight SLAM pipeline for dense reconstruction
KR102525084B1 (ko) 프레임 분할을 이용한 멀티칩 기반의 레이 트레이싱 장치 및 방법
WO2023032316A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN116824082B (zh) 虚拟地形的绘制方法、装置、设备、存储介质及程序产品
US20240037840A1 (en) Bounding volume hierarchy (bvh) widening based on node compressibility

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant