KR20160047317A - 하이브리드 렌더링 장치 및 방법 - Google Patents

하이브리드 렌더링 장치 및 방법 Download PDF

Info

Publication number
KR20160047317A
KR20160047317A KR1020140143602A KR20140143602A KR20160047317A KR 20160047317 A KR20160047317 A KR 20160047317A KR 1020140143602 A KR1020140143602 A KR 1020140143602A KR 20140143602 A KR20140143602 A KR 20140143602A KR 20160047317 A KR20160047317 A KR 20160047317A
Authority
KR
South Korea
Prior art keywords
tile
rendering
rendering unit
power
unit
Prior art date
Application number
KR1020140143602A
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 KR1020140143602A priority Critical patent/KR20160047317A/ko
Priority to EP15178851.0A priority patent/EP3016074A1/en
Priority to CN201510594529.5A priority patent/CN105551075A/zh
Priority to US14/884,033 priority patent/US20160116973A1/en
Priority to JP2015204462A priority patent/JP2016085738A/ja
Publication of KR20160047317A publication Critical patent/KR20160047317A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)

Abstract

일 실시예에 따른 하이브리드 렌더링 장치는 2차원 프레임에 포함된 복수의 타일들을 반사 또는 굴절 속성의 프리미티브를 포함하는 제1 타일 및 반사 또는 굴절 속성의 프리미티브를 포함하지 않는 제2 타일로 분류하는 타일 분류부, 상기 제1 타일 및 제2 타일 중 적어도 하나를 래스터화 방법으로 렌더링하는 제1 렌더링부 및 상기 제1 타일을 레이 트레이싱 방법으로 렌더링하는 제2 렌더링부를 포함하는 렌더링부, 상기 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 상기 인출된 타일이 상기 제1 타일 또는 상기 제2 타일인지를 판단하며, 상기 인출된 타일을 상기 렌더링부로 출력하는 타일 인출부(tile fetcher) 및 상기 판단결과에 따라, 상기 제2 렌더링부의 전력을 제어하는 전력 제어부를 포함한다.

Description

하이브리드 렌더링 장치 및 방법{Method and apparatus for hybrid rendering}
다양한 실시예들은 하이브리드 렌더링 장치 및 방법에 관한 것으로, 더욱 구체적으로는 전력 소모를 감소시키는 하이브리드 렌더링 장치 및 방법에 관한 것이다.
일반적으로 3D 렌더링(3-Dimensional Rendering)은 3차원 객체 데이터를 주어진 카메라 시점(view point)에서 보이는 영상으로 합성(synthesis)해주는 영상 처리를 말한다.
렌더링 방법은 3차원 객체를 화면에 투영(projection)하면서 영상을 생성하는 래스터화(rasterization) 방법과 카메라 시점에서 영상의 각 픽셀을 향한 광선을 따라 입사하는 빛의 경로를 추적하여 영상을 생성하는 레이 트레이싱(ray tracing)등이 있다.
이 중 레이 트레이싱은 빛의 물리적 성질(반사, 굴절, 투과 등)을 렌더링 결과에 반영하므로 고품질 영상을 생성할 수 있다는 장점이 있으나, 상대적으로 연산량이 방대하여 고속으로 렌더링 하는데 어려움이 있다.
고품질 영상을 생성하면서도, 전력 소모를 감소시킬 수 있는 하이브리드 렌더링 장치 및 방법을 제공하는 데 있다.
일 실시예에 따른 하이브리드 렌더링 장치는 2차원 프레임에 포함된 복수의 타일들을 반사 또는 굴절 속성의 프리미티브를 포함하는 제1 타일 및 반사 또는 굴절 속성의 프리미티브를 포함하지 않는 제2 타일로 분류하는 타일 분류부, 상기 제1 타일 및 제2 타일 중 적어도 하나를 래스터화 방법으로 렌더링하는 제1 렌더링부 및 상기 제1 타일을 레이 트레이싱 방법으로 렌더링하는 제2 렌더링부를 포함하는 렌더링부, 상기 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 상기 인출된 타일이 상기 제1 타일 또는 상기 제2 타일인지를 판단하며, 상기 인출된 타일을 상기 렌더링부로 출력하는 타일 인출부(tile fetcher) 및 상기 판단결과에 따라, 상기 제2 렌더링부의 전력을 제어하는 전력 제어부를 포함할 수 있다.
일 실시예에 따른 전력 제어부는, 상기 인출된 타일이 제1 타일인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일인 경우, 상기 제2 렌더링부의 전원을 오프(Off)할 수 있다.
일 실시예에 따른 전력 제어부는, 상기 제2 렌더링부의 상태에 기초하여, 상기 제2 렌더링부의 전력을 제어할 수 있다.
일 실시예에 따른 전력 제어부는, 상기 인출된 타일이 제1 타일이고, 상기 제2 렌더링부의 전원이 오프(Off)인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일이고, 상기 제2 렌더링부가 유휴 상태인 경우, 상기 제2 렌더링부의 전원을 오프(Off)할 수 있다.
일 실시예에 따른 타일 분류부는 상기 복수의 타일들 각각에 포함되는 프리미티브에 대한 정보를 포함하는 타일 데이터를 생성하고, 상기 프리미티브에 대한 정보는 상기 프리미티브가 상기 반사 또는 굴절 속성을 가지는지에 대한 정보를 포함할 수 있다.
일 실시예에 따른 제1 렌더링부는, 상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브의 1차 광선에 대한 렌더링을 수행하고, 상기 제2 렌더링부는 상기 제2 타일에 포함되는 프리미티브의 2차 광선에 대한 렌더링을 수행할 수 있다.
일 실시예에 따른 렌더링부는, 상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브를 프래그먼트로 분할하는 래스터라이저를 더 포함하고, 상기 제1 렌더링부 및 제2 렌더링부는 상기 분할된 프래그먼트에 대한 색상 값을 결정할 수 있다.
일 실시예에 따른 렌더링부는, 상기 제1 렌더링 부 및 상기 제2 렌더링부 중 적어도 하나에서 색상 값이 결정된 프래그먼트의 깊이 검사를 수행하는 ROP부를 더 포함할 수 있다.
일 실시예에 따른 타일 분류부는, 상기 제1 타일에 대한 작업 부하(workload)를 계산하고, 상기 전력 제어부는, 상기 제2 렌더링부에서 렌더링되는 제1 타일의 작업 부하에 기초하여, 상기 제2 렌더링부의 전력을 제어할 수 있다.
일 실시예에 따른 제1 타일에 대한 작업 부하는, 상기 제1 타일에 포함되는 전체 프리미티브의 개수 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 개수에 대한 비율 및 상기 전체 프리미티브의 면적 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 면적에 대한 비율 중 적어도 하나에 기초하여, 계산될 수 있다.
일 실시예에 따른 전력 제어부는, 상기 제1 타일의 작업 부하가 임계값 이상인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제1 전압 또는 제1 주파수로 제어하고, 상기 제1 타일의 작업 부하가 임계값 미만인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제2 전압 또는 제2 주파수로 제어하며, 상기 제1 전압은 상기 제2 전압보다 크고, 상기 제1 주파수는 상기 제2 주파수보다 클 수 있다.
일 실시예에 따른 전력 제어부는, 상기 제2 렌더링부에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이의 작업 부하 차이에 기초하여, 상기 제2 렌더링부의 전력을 제어할 수 있다.
일 실시예에 따른 전력 제어부는, 상기 서로 인접한 제1 타일들 사이에 상기 작업 부하가 증가한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 증가시키고, 서로 인접한 제1 타일들 사이에 상기 작업 부하가 감소한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 감소시킬 수 있다.
일 실시예에 따른 하이브리드 렌더링 방법은, 2차원 프레임에 포함된 복수의 타일들을 반사 또는 굴절 속성의 프리미티브를 포함하는 제1 타일 및 반사 또는 굴절 속성의 프리미티브를 포함하지 않는 제2 타일로 분류하는 단계, 상기 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 상기 인출된 타일이 상기 제1 타일인지, 상기 제2 타일인지를 판단하는 단계, 상기 판단결과에 따라, 상기 제2 렌더링부의 전력을 제어하는 단계 및 상기 제1 타일은 래스터화 방법 및 레이 트레이싱 방법으로 렌더링하고, 상기 제2 타일은 래스터화 방법으로 렌더링하는 단계를 포함할 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 인출된 타일이 제1 타일인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 단계를 포함할 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 제2 렌더링부의 상태에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계일 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 인출된 타일이 제1 타일이고, 상기 제2 렌더링부의 전원이 오프(Off)인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일이고, 상기 제2 렌더링부가 유휴 상태인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 단계를 포함할 수 있다.
일 실시예에 따른 복수의 타일들을 분류하는 단계는, 상기 복수의 타일들 각각에 포함되는 프리미티브에 대한 정보를 포함하는 타일 데이터를 생성하는 단계를 더 포함하고, 상기 프리미티브에 대한 정보는 상기 프리미티브가 상기 반사 또는 굴절 속성을 가지는지에 대한 정보를 포함할 수 있다.
일 실시예에 따른 렌더링하는 단계는, 상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브의 1차 광선에 대하여, 상기 래스터화 방법으로 렌더링을 수행하는 단계 및 상기 제2 타일에 포함되는 프리미티브의 2차 광선에 대하여, 상기 레이 트레이싱 방법으로 렌더링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 하이브리드 렌더링 방법은, 상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브를 프래그먼트로 분할하는 단계를 더 포함하고, 상기 렌더링하는 단계는, 상기 분할된 프래그먼트에 대한 색상 값을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 렌더링하는 단계는, 상기 색상 값이 결정된 프래그먼트의 깊이 검사를 수행하는 단계를 더 포함할 수 있다.
일 실시예에 따른 하이브리드 렌더링 방법은, 상기 제1 타일에 대한 작업 부하(workload)를 계산하는 단계를 더 포함하고, 상기 전력을 제어하는 단계는, 상기 제2 렌더링부에서 렌더링되는 제1 타일의 작업 부하에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 타일에 대한 작업 부하를 계산하는 단계는, 상기 제1 타일에 포함되는 전체 프리미티브의 개수 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 개수에 대한 비율 및 상기 전체 프리미티브의 면적 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 면적에 대한 비율 중 적어도 하나에 기초하여, 계산될 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 제1 타일의 작업 부하가 임계값 이상인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제1 전압 또는 제1 주파수로 제어하고, 상기 제1 타일의 작업 부하가 임계값 미만인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제2 전압 또는 제2 주파수로 제어하는 단계를 포함하고, 상기 제1 전압은 상기 제2 전압보다 크고, 상기 제1 주파수는 상기 제2 주파수보다 클 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 제2 렌더링부에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이의 작업 부하 차이에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계를 포함할 수 있다.
일 실시예에 따른 전력을 제어하는 단계는, 상기 서로 인접한 제1 타일들 사이에 상기 작업 부하가 증가한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 증가시키고, 서로 인접한 제1 타일들 사이에 상기 작업 부하가 감소한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 감소시키는 단계를 포함할 수 있다.
2차 광선에 대해서는 레이 트레이싱 방법으로 렌더링을 수행함으로써, 고품질 영상을 생성할 수 있다.
레이 트레이싱 렌더링이 필요하지 않은 경우, 레이 트레이싱을 수행하는 렌더링부의 전력을 차단하거나, 인가하는 전력을 감소시킴으로써, 전체적인 전력 소모를 감소시킬 수 있다.
도 1은 3차원 이미지를 래스터화 방법으로 렌더링하는 과정을 나타내는 도면이다.
도 2는 레이 트레이싱 방법을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 하이브리드 렌더링 장치의 구성을 나타내는 블록도이다.
도 4는 일 실시예에 따른 하이브리드 렌더링 시스템의 구성을 나타내는 블록도이다.
도 5는 일 실시예에 따른 타일 데이터를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 하이브리드 렌더링 장치의 구성을 나타내는 블록도이다.
도 7은 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
도 8은 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
도 9는 일 실시예에 따른 2차 프레임에 포함되는 제1 타일 및 제2 타일을 나타내는 도면이다.
도 10은 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 3차원 이미지를 래스터화 방법으로 렌더링하는 과정을 나타내는 도면이다.
도 1을 참조하면, 래스터화 방법으로 렌더링하는 과정은 11단계(S11) 내지 17단계(S17)들을 포함할 수 있다. 또한, 도 1 하단의 도형들은 각 단계에서 정점(vertex) 또는 픽셀의 처리를 개념적으로 나타낸다.
11단계(S11)는 영상을 나타내는 정점(vertex)들을 생성하는 단계이다. 정점들은 영상에 포함된 오브젝트(object)들을 나타내기 위해 생성된다.
12단계(S12)는 생성된 정점들을 쉐이딩(shading)하는 단계이다. 정점 쉐이더(vertex shader)는 11단계(S11)에서 생성된 정점들의 색(color)을 지정하여, 정점들에 대한 쉐이딩을 수행할 수 있다.
13단계(S13)는 프리미티브들(primitives)을 생성하는 단계이다. 프리미티브는 점, 선 또는 정점들로부터 형성되는 다각형(polygon)을 나타낸다. 일 예로서, 프리미티브들은 정점들을 연결하여 형성된 삼각형들을 나타낼 수도 있다.
14단계(S14)는 프리미티브를 래스터화(rasterization)하는 단계이다. 프리미티브를 래스터화하는 것은 프리미티브를 복수의 프래그먼트들(fragments)로 분할하는 것을 의미한다. 프래그먼트는 프리미티브를 구성하는 단위이며, 영상 처리를 수행하기 위한 기본 단위일 수 있다. 프리미티브는 정점에 대한 정보만을 포함한다. 따라서, 래스터화하는 단계에서 정점과 정점 사이의 프레그먼트들을 생성할 때 보간(interpolation)이 수행될 수 있다.
15단계(S15)는 픽셀을 쉐이딩하는 단계를 나타낸다. 도 1에서는 픽셀 단위로 쉐이딩이 수행되는 것을 도시하고 있으나, 프래그먼트 단위로 쉐이딩이 수행될 수도 있다. 예를 들어, 픽셀 또는 프래그먼트를 쉐이딩하는 것은 픽셀 또는 프래그먼트의 색을 지정하는 것이다.
16단계(S16)는 래스터 오퍼레이션 단계를 나타낸다. 래스터 오퍼레이션 단계에서는 컬러 블렌딩, 깊이 검사 등을 수행함으로써, 쉐이딩된 픽셀의 정보에 기초하여, 래스터 이미지(픽셀들 또는 샘플들)를 생성한다. 생성된 래스터 이미지는 프레임 버퍼(frame buffer)로 출력된다.
17단계(S17)는 프레임 버퍼에 저장된 프레임을 표시하는 단계를 나타낸다. 11단계(S11) 내지 16단계(S16)를 통해 생성된 프레임은 프레임 버퍼에 저장된다. 프레임 버퍼에 저장된 프레임은 디스플레이 장치를 통해 표시된다.
도 2는 레이 트레이싱 방법을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 3차원 모델링은 광원(80), 제1 물체(31), 제2 물체(32), 제3 물체(33)를 포함할 수 있다. 도 2에서, 제1 물체(31), 제2 물체(32) 및 제3 물체(33)는 2차원 물체와 같이 표현되었지만, 이는 설명의 편의를 위한 것이며, 제1 물체(31), 제2 물체(32) 및 제3 물체(33)는 3차원 물체이다.
이때, 제1 물체(31)는 반사율 및 굴절율이 0보다 크고, 제2 물체(32) 및 제3 물체(33)는 반사율 및/또는 굴절율이 0이라고 가정할 수 있다. 즉, 제1 물체(31)는 빛을 반사 및 굴절시키며, 제2 물체(32) 및 제3 물체(33)는 빛을 반사시키지도 굴절시키지도 않는다고 가정할 수 있다.
도 2와 같은 3차원 모델링에서, 렌더링 장치는 3차원 영상을 생성하기 위해 시점(10)을 결정하고, 결정된 시점(10)에 따라 화면(15)을 결정할 수 있다.
시점(10)과 화면(15)이 결정되면, 렌더링 장치는 시점(10)으로부터 화면(15)의 각 픽셀들에 대하여 광선을 생성할 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 화면(15)의 해상도가 4*3인 경우, 12개의 픽셀에 대하여 각각 광선을 생성할 수 있다.
이하에서는, 하나의 픽셀(픽셀 A)에 대한 광선만을 설명하기로 한다.
도 2를 참조하면, 시점(10)으로부터 픽셀 A에 대하여 1차 광선(primary ray, 40)이 생성된다. 1차 광선(40)은 3차원 공간을 통과하여, 제1 물체(31)에 도달한다. 여기서, 제1 물체(31)는 일정한 단위 영역(이하, 프리미티브(primitive)라 한다.)들의 집합으로 구성될 수 있으며, 예를 들어, 프리미티브(primitive)는 삼각형, 사각형 등의 다각형일 수 있다. 이하에서는, 프리미티브가 삼각형인 것을 예로 들어 설명하기로 한다.
한편, 1차 광선(40)과 제1 물체(31)의 교차점(hit point)에서는 쉐도우 광선(shadow ray, 50), 반사 광선(reflection ray, 60) 및/또는 굴절 광선(refraction ray, 70)를 생성할 수 있다. 이때, 쉐도우 광선(50), 반사 광선(60) 및 굴절 광선(70)을 2차 광선이라고 한다.
쉐도우 광선(50)은 교차점으로부터 광원(80)의 방향으로 생성된다. 반사 광선(60)은 1차 광선(40)의 입사각에 대응되는 방향으로 생성되고, 제1 물체(31)의 반사율에 따른 가중치를 적용받는다. 굴절 광선(70)은 1차 광선(40)의 입사각 및 제1 물체(31)의 굴절율에 대응되는 방향으로 생성되고, 제1 물체(31)의 굴절율에 따른 가중치를 적용받는다.
렌더링 장치는 쉐도우 광선(50)을 통해 교차점이 광원(80)에 노출되어 있는지를 판단한다. 예를 들어, 도 2에 도시된 바와 같이, 쉐도우 광선(50)이 제2 물체(32)와 만나면, 해당 쉐도우 광선(50)이 생성된 교차점에 그림자가 생성될 수 있다.
또한, 렌더링 장치는 굴절 광선(70) 및 반사 광선(60)이 다른 물체에 도달하는지를 판단한다. 예를 들어, 도 1에 도시된 바와 같이, 굴절 광선(70)의 진행방향에는 어떠한 물체도 존재하지 않으며, 반사 광선(60)은 제3 물체(33)에 도달한다. 이에 따라, 렌더링 장치는 제3 물체(33)의 교차점의 좌표 및 색상 정보를 확인하고, 다시 제3 물체(33)의 교차점으로부터 쉐도우 광선(90)을 생성한다. 이때, 렌더링 장치는 쉐도우 광선(90)이 광원(80)에 노출되어 있는지 판단한다.
한편, 제3 물체(33)의 반사율 및 굴절율은 0이므로, 제3 물체(33)에 대한 반사 광선 및 굴절 광선은 생성되지 않는다.
상술한 바와 같이, 렌더링 장치는 픽셀 A에 대한 1차 광선(40) 및 1차 광선(40)으로부터 파생되는 모든 광선들을 분석하고, 분석 결과에 따라 픽셀 A의 색상 값을 결정한다. 픽셀 A의 색상 값의 결정은 1차 광선(40)의 교차점의 색상, 반사 광선(60)의 교차점의 색상, 쉐도우 광선(50)이 광원(80)에 도달하는지 여부에 영향을 받는다.
렌더링 장치는, 상기와 같은 과정을 화면(15)의 모든 픽셀들에 대하여 수행하여, 화면(15)을 구성할 수 있다.
도 3은 일 실시예에 따른 하이브리드 렌더링 장치의 구성을 나타내는 블록도이다.
도 3을 참조하면, 일 실시예에 따른 하이브리드 렌더링 장치(100)는 타일 분류부(110), 타일 인출부(120), 제1 렌더링부(131) 및 제2 렌더링부(132)를 포함하는 렌더링부(130) 및 전력 제어부(140)를 포함할 수 있다.
타일 분류부(110)는 2차원 프레임에 포함되는 복수의 타일들을 제1 타일 및 제2 타일 중 어느 하나로 분류할 수 있다. 타일은 2차원 프레임을 가상으로 분할한 각각의 영역을 의미할 수 있다. 또한, 타일은 프리미티브의 일부 또는 전체를 포함할 수도 있다.
타일 분류부(110)는 타일에 포함된 프리미티브의 속성에 기초하여, 타일을 제1 타일 및 제2 타일 중 어느 하나로 분류할 수 있다. 이때, 프리미티브의 속성은 반사율 또는 굴절율과 같은 물질적 특성을 포함할 수 있다. 예를 들어, 타일이 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하는 경우, 타일 분류부(110)는 해당 타일을 제1 타일로 분류할 수 있다. 반면에, 타일이 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하지 않는 경우, 타일 분류부(110)는 해당 타일을 제2 타일로 분류할 수 있다. 여기서는, 설명의 편의를 위해, 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하는 타일을 제1 타일로, 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하지 않는 타일을 제2 타일로 설명하지만, 이에 한정되는 것은 아니다.
타일 인출부(120)는 제1 타일 및 제2 타일 중 어느 하나로 분류된 복수의 타일들 중 적어도 하나의 타일을 인출(fetch)하여, 렌더링부(130)로 출력할 수 있다. 또한, 타일 인출부(120)는 인출된 타일이 제1 타일인지 제2 타일인지 여부를 판단할 수 있다.
렌더링부(130)는 제1 렌더링부(131) 및 제2 렌더링부(132)를 포함할 수 있다. 제1 렌더링부(131)는 제1 타일 및 제2 타일에 대하여, 래스터화 방법으로 렌더링을 수행할 수 있다. 예를 들어, 제1 렌더링부(131)는 제1 타일 및 제2 타일에 포함되는 프리미티브(반사 또는 굴절의 속성을 가지지 않는 프리미티브)의 1차 광선에 대한 렌더링을 수행할 수 있다.
제2 렌더링부(132)는 제1 타일에 대하여, 레이 트레이싱 방법으로 렌더링을 수행할 수 있다. 예를 들어, 제2 렌더링부(132)는 제1 타일에 포함되는 프리미티브(반사 또는 굴절의 속성을 가지는 프리미티브)의 2차 광선에 대한 렌더링을 수행할 수 있다.
전력 제어부(140)는 타일 인출부(120)에서 인출된 타일이 제1 타일인지 제2 타일인지 판단한 결과에 따라, 제2 렌더링부(132)의 전력을 제어할 수 있다.
예를 들어, 타일 인출부(120)에 인출된 타일이 제2 타일인 경우, 제2 타일은 반사 또는 굴절 속성을 가지는 프리미티브를 포함하지 않으므로, 렌더링부(130)는 인출된 제2 타일을 래스터화 방법만 이용하여, 렌더링할 수 있다. 예를 들어, 제1 렌더링부(131)는 인출된 제2 타일을 래스터화 방법으로 렌더링할 수 있으며, 제2 렌더링부(132)는 인출된 제2 타일에 대하여, 렌더링을 수행할 필요가 없다. 이에 따라, 타일 인출부(120)에 인출된 타일이 제2 타일인 경우, 전력 제어부(140)는 제2 렌더링부(132)의 전원을 오프(Off)하도록 제어할 수 있다.
반면에, 타일 인출부(120)에 인출된 타일이 제1 타일인 경우, 제1 타일은 반사 또는 굴절 속성을 가지는 프리미티브를 포함하므로, 렌더링부(130)는 인출된 타일을 래스터화 방법 및 레이 트레이싱 방법을 모두 이용하여 렌더링할 수 있다. 예를 들어, 제1 렌더링부(131)는 인출된 제1 타일의 1차 광선에 대해서는 래스터화 방법으로 렌더링하며, 제2 렌더링부(132)는 인출된 제1 타일의 2차 광선(반사 또는 굴절 속성을 가지는 광선)에 대해서는 레이 트레이싱 방법으로 렌더링할 수 있다. 이에 따라, 타일 인출부(120)에 인출된 타일이 제1 타일인 경우, 전력 제어부(140)는 제2 렌더링부(132)의 전원을 온(On)하도록 제어할 수 있다.
도 4는 일 실시예에 따른 하이브리드 렌더링 시스템의 구성을 나타내는 블록도이다.
도 4를 참조하면, 일 실시예에 따른 하이브리드 렌더링 시스템은 하이브리드 렌더링 장치(200) 및 외부 메모리(300)를 포함할 수 있다.
하이브리드 렌더링 장치(200)는 기하 처리부(205), 타일 분류부(210), 타일 인출부(220), 렌더링부(230), 전력 제어부(240) 및 내부 메모리(250)를 포함할 수 있다. 외부 메모리(300)는 객체 데이터(305), 타일 데이터(315)를 저장할 수 있으며, G-버퍼(320) 및 프레임 버퍼(330)를 포함할 수 있다.
한편, 도 4의 타일 분류부(210)는 도 3의 타일 분류부(110)에, 도 4의 타일 인출부(220)는 도 3의 타일 인출부(120)에, 도 4의 제1 렌더링부(231)는 도 3의 제1 렌더링부(131)에 도 4의 제2 렌더링부(232)는 도 3의 제2 렌더링부(132)에, 도 4의 전력 제어부(240)는 도 3의 전력 제어부(140)에 대응하는 구성일 수 있다.
도 4를 참조하면, 기하 처리부(205)는 외부 메모리(300)에 저장된 객체 데이터(305)를 이용하여, 정점(vertex)들을 생성할 수 있다. 또한, 기하 처리부(205)는 정점들을 이용하여, 객체에 포함되는 프리미티브(primitive)들을 생성할 수 있다. 기하 처리부(205)는 생성된 프리미티브에 대한 정보를 타일 분류부(210)로 출력할 수 있다.
타일 분류부(210)는 프리미티브에 대한 정보에 기초하여, 프리미티브가 2차원 프레임을 구성하는 복수의 타일들 중 어느 타일에 포함되는지 분류(binning)할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 프레임(410)이 9개의 타일을 포함하며, 9개의 타일 중 6개의 타일(411, 412, 413, 414, 415, 416)은 적어도 하나의 프리미티브를 포함할 수 있다. 도 5를 참조하면, 제1 프리미티브(P1)는 타일 T1(411) 및 타일 T3(413)에 포함되며, 제2 프리미티브(P2)는 타일 T2(412), 타일 T3(413) 및 타일 T5(415)에 포함된다. 또한, 제3 프리미티브(P3)는 타일 T4(414) 및 타일 T6(416)에 포함되며, 제4 프리미티브(P4)는 타일 T5(415) 및 타일 T6(416)에 포함된다.타일 분류부(210)는 상술한 바와 같이, 프리미티브가 복수의 타일 중 어느 타일에 포함되는지를 판단하여, 도 5에 도시된 바와 같이, 각각의 타일에 포함되는 프리미티브 정보를 포함하는 타일 리스트(420)를 생성할 수 있다. 이때, 타일 리스트(420)는 타일에 포함되는 프리미티브가 반사 또는 굴절의 속성을 가지는지 여부에 대한 프리미티브 속성 정보를 포함할 수 있다.
또한, 타일 분류부(210)는 제1 타일에 포함되는 전체 프리미티브의 개수, 반사 또는 굴절 속성을 가지는 프리미티브의 개수, 전체 프리미티브의 면적, 반사 또는 굴절 속성을 가지는 프리미티브의 면적 등을 계산할 수 있으며, 이에 기초하여, 제1 타일의 작업부하(work load)를 계산할 수 있다. 이때, 제1 타일의 작업 부하는 타일에 포함되는 전체 프리미티브의 개수 대비 반사 또는 굴절 속성을 가지는 프리미티브의 개수 비율 및 전체 프리미티브의 면적 대비 반사 또는 굴절 속성을 가지는 프리미티브의 면적 비율 중 적어도 하나를 포함할 수 있다.
타일 분류부(210)는 타일 리스트 또는 제1 타일에 대한 작업 부하를 포함하는 타일 데이터(315)를 외부 메모리(300)에 저장할 수 있다.
타일 인출부(220)는 타일 데이터(315)에 기초하여, 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 인출된 타일을 렌더링부(230)로 출력할 수 있다. 이때, 타일 인출부(220)는 인출된 타일이 제1 타일인지 제2 타일인지 여부를 판단할 수 있다. 예를 들어, 타일 인출부(220)는 타일 데이터에 포함되는 타일의 종류를 나타내는 불린(boolean)값에 기초하여, 인출된 타일이 제1 타일인지 제2 타일인지 여부를 판단할 수 있다.
한편, 렌더링부(230)는 래스터라이저(233), 제1 렌더링부(231), 제2 렌더링부(232) 및 ROP부(235)를 포함할 수 있으며, 타일 인출부(220)로부터 출력된 타일을 래스터화 방법 또는 레이 트레이싱 방법으로 렌더링할 수 있다.
래스터라이저(233)는 타일 인출부(220)로부터 출력된 타일에 포함되는 프리미티브를 프래그먼트로 분할할 수 있다. 래스터라이저(233)는 제1 타일에 포함되는 프리미티브 및 제2 타일에 포함되는 프리미티브를 복수의 프래그먼트로 분할하고, 분할된 프래그먼트들을 제1 렌더링부(231)로 출력할 수 있다.
또한, 래스터라이저(233)는 제1 타일에 포함되는 프리미티브 중 반사 또는 굴절의 속성을 가지는 프리미티브(제1 프리미티브)를 복수의 프래그먼트로 분할할 수 있다. 래스터라이저(233)는 분할된 프래그먼트들을 제1 렌더링부(231) 및 제2 렌더링부(232)로 출력할 수 있다. 래스터라이저(233)는 분할된 프래그먼트들을 버퍼에 저장하고, 버퍼는 저장된 프래그먼트들을 제1 렌더링부(231) 및 제2 렌더링부(232) 중 적어도 하나로 출력할 수 있다.
제1 렌더링부(231)는 제1 타일에 포함되는 프래그먼트 및 제2 타일에 포함되는 프래그먼트를 래스터화 방법으로 렌더링할 수 있다. 예를 들어, 제1 렌더링부(231)는 제1 타일에 포함되는 프래그먼트 및 제2 타일에 포함되는 프래그먼트의 색상 값을 결정할 수 있다. 제1 렌더링부(231)는 반사 또는 굴절의 속성을 가지지 않는 1차 광선에 대한 렌더링을 수행할 수 있다.
한편, 제2 렌더링부(232)는 제1 타일에 포함되는 반사 또는 굴절의 속성을 가지는 프래그먼트를 레이 트레이싱 방법으로 렌더링할 수 있다. 제2 렌더링부(232)는 기하 정보를 이용하여, 프래그먼트에 대한 1차 광선의 교차점(해당 프래그먼트에 대하여 생성된 1차 광선과 객체와의 교차점)을 계산할 수 있으며, 계산된 교차점을 이용하여, 반사 광선, 굴절 광선, 쉐도우 광선 등의 2차 광선을 생성할 수 있다.
이때, 렌더링에 필요한 기하 정보는 프리미티브의 깊이(depth) 정보, 노말 벡터(normal vector), 위치(position) 정보 중 적어도 하나를 포함할 수 있다. 또한, 기하 정보는 미리 계산되어, 외부 메모리(300)에 포함되는 G-버퍼(320)에 저장될 수 있다. G-버퍼(320)에 저장되어 있는 기하 정보는 하이브리드 렌더링 장치(200)의 온-칩 버퍼(On-chip Buffer) 형태의 내부 메모리(250)에 저장될 수 있다. 다만, 이에 한정되는 것은 아니며, 내부 메모리(250)는 온-칩 버퍼뿐만 아니라, SRAM 또는 캐시 메모리 등의 형태일 수 있다.
제2 렌더링부(232)는 기하 정보에 기초하여, 생성된 2차 광선과 객체와의 교차점 및 교차점의 색상을 계산할 수 있다. 또한, 제2 렌더링부(232)는 반사 또는 굴절의 속성을 가지는 프래그먼트를 래스터화 방법으로 렌더링한 값(해당 프래그먼트에 대한 1차 광선에 대한 색상 값) 및 해당 프래그먼트를 제2 렌더링부(232)에서 레이 트레이싱으로 렌더링한 값(해당 프래그먼트에 대한 2차 광선에 대한 색상 값)을 모두 고려하여, 프래그먼트의 색상 값을 결정할 수 있다.
ROP(Raster Operation)부(235)는 래스터화 방법으로 렌더링된 프래그먼트들과 레이 트레이싱 방법으로 렌더링된 프래그먼트들의 깊이 검사(depth test)를 수행하여, 프래그먼트들의 가시성(선후)관계를 판단하고, 타일에 포함되는 복수의 픽셀들의 최종적인 픽셀 값들을 결정할 수 있다.
타일에 포함된 복수의 픽셀들의 픽셀 값이 결정되면, 타일은 프레임 버퍼(330)로 출력된다.
다시 도 4를 참조하면, 전력 제어부(240)는 타일 인출부(220)에 인출된 타일이 제1 타일인지 제2 타일인지 여부에 따라, 제2 렌더링부(232)의 전력을 제어할 수 있다. 예를 들어, 타일 인출부(220)에 인출된 타일이 제1 타일인 경우, 제2 렌더링부(232)의 전원을 온(On)(제2 렌더링부(232)에 전력을 공급)하고, 인출된 타일이 제2 타일인 경우, 제2 렌더링부(232)의 전원을 오프(Off)(제2 렌더링부(232)에 전력을 차단)할 수 있다. 전력 제어부(240)는 인출된 타일이 제2 타일이지만 제2 렌더링부(232)에서 이전 타일에 포함되는 프래그먼트들을 렌더링 중인 경우, 제2 렌더링부(232)의 전원을 오프하지 않을 수 있다.
제1 타일에 포함되는 반사 또는 굴절 속성을 가지는 프래그먼트의 경우, 2차 광선에 대한 렌더링은 레이 트레이싱 방법을 이용하기 때문에, 제2 렌더링부(232)에서 레이 트레이싱 렌더링이 수행되어야 한다.
반면에, 제2 타일에 포함되는 프래그먼트의 경우, 래스터화 방법만으로 렌더링을 수행하므로, 제2 렌더링부(232)에서 레이 트레이싱 렌더링을 수행할 필요가 없다. 이에 따라, 타일 인출부(220)에 인출된 타일이 제2 타일인 경우, 제2 렌더링부(232)의 전력을 차단할 수 있다.
도 6은 본 발명의 일 실시예에 따른 하이브리드 렌더링 장치의 구성을 나타내는 블록도이다.
하이브리드 렌더링 장치(400)는 타일 분류부(410), 타일 인출부(420), 전력 제어부(440) 및 래스터라이저(431), 쉐이더(436), 교차점 탐색부(435), ROP부(437) 및 타일 버퍼(450)를 포함할 수 있다. 또한, 쉐이더(436)는 프래그먼트 쉐이더(432), 레이 쉐이더(433), 레이 제너레이터(434)를 포함할 수 있다.
한편, 도 6의 프래그먼트 쉐이더(432)는 도 3 및 도 4의 제1 렌더링부(131, 231)에 대응하는 구성일 수 있다. 레이 쉐이더(433), 레이 제너레이터(434) 및 교차점 탐색부(435)는 도 3 및 도 4의 제2 렌더링부(132, 232)에 대응하는 구성일 수 있다.
2차원 프레임은 가상의 타일들로 분할될 수 있으며, 타일 분류부(410)는 복수의 타일들을 제1 타일 및 제2 타일 중 어느 하나로 분류할 수 있다. 타일 분류부(410)는 타일에 포함된 프리미티브의 반사 또는 굴절 속성을 판단하여, 복수의 타일들을 제1 타일 및 제2 타일 중 어느 하나로 분류할 수 있다. 제1 타일은 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하는 타일을 의미하며, 제2 타일은 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하지 않는 타일을 의미한다.
또한, 타일 분류부(410)는 타일에 포함되는 전체 프리미티브의 개수, 반사 또는 굴절 속성을 가지는 프리미티브의 개수, 전체 프리미티브의 면적, 반사 또는 굴절 속성을 가지는 프리미티브의 면적 등을 계산할 수 있으며, 이에 기초하여, 타일의 작업부하(work load)를 나타내는 정보를 계산할 수 있다. 타일의 작업 부하는 타일에 포함되는 전체 프리미티브의 개수 대비 반사 또는 굴절 속성을 가지는 프리미티브의 개수 비율 및 전체 프리미티브의 면적 대비 반사 또는 굴절 속성을 가지는 프리미티브의 면적 비율 중 적어도 하나를 포함할 수 있다.
타일 분류부(410)는 타일의 분류 정보 및 타일의 작업 부하를 포함하는 타일 데이터(415)를 외부 메모리에 저장할 수 있다.
프래그먼트 쉐이더(432)는 종래의 래스터화 기반의 GPU 장치에 포함되는 구성으로, 도 1에서 설명한 픽셀 쉐이더에 대응하는 구성일 수 있다. 프래그먼트 쉐이더(432)는 프래그먼트의 색상 값을 결정할 수 있다. 프래그먼트 쉐이더(432)는 반사 또는 굴절을 고려하지 않는 프래그먼트에 대한 1차 광선의 색상 값을 결정할 수 있다.
레이 제너레이터(434)는 복수의 프래그먼트에 대한 2차 광선들을 생성할 수 있다. 레이 제너레이터(434)는 기하 정보를 이용하여, 프래그먼트에 대한 1차 광선의 교차점(해당 프래그먼트에 대하여 생성된 1차 광선과 객체와의 교차점)을 계산하고, 계산된 교차점을 이용하여, 반사 광선, 굴절 광선, 쉐도우 광선 등의 2차 광선을 생성할 수 있다. 이때, 기하 정보는 프리미티브의 깊이(depth) 정보, 노말 벡터(normal vector), 위치(position) 정보 중 적어도 하나를 포함할 수 있으며, 기하 정보는 미리 계산되어, 하이브리드 렌더링 장치(400)의 내부 메모리에 저장될 수 있다.
교차점 탐색부(435)는 종래의 레이 트레이싱 기반의 GPU 장치에 포함되는 구성으로, TRV(Traversal) 유닛 및 IST(Intersection) 유닛을 포함할 수 있다. 교차점 탐색부(435)는 KD-tree(K-dimensional tree), BVH(Bounding Volume Hirearchy) 등을 적용하여, 3차원 공간상의 객체들의 관계를 나타내는 가속 구조를 탐색하여, 광선의 교차점 및 색상 값을 계산할 수 있다. 계산된 교차점 및 색상 값은 레이 쉐이더(433)로 출력될 수 있다.
레이 쉐이더(433)는 프래그먼트에 대한 2차 광선의 교차점에 대한 정보 및 교차점의 물질의 특성에 기초하여, 프래그먼트에 대한 2차 광선에 대한 색상 값을 결정할 수 있다. 또한, 레이 쉐이더(433)는 2차 광선에 대한 색상 값 및 해당 프래그먼트를 래스터화 방법으로 쉐이딩한 색상 값(해당 프래그먼트에 대한 1차 광선에 대한 색상 값)에 기초하여 해당 프래그먼트의 색상 값을 결정할 수 있다. 이에 따라, 레이 쉐이더(433)는 교차점의 물질의 기본 색상 및 광원에 의한 효과 등을 고려하여, 프래그먼트의 색상 값을 결정할 수 있다.
ROP(Raster Operation)부는 래스터화 방법으로 렌더링된 프래그먼트 또는 레이 트레이싱 방법으로 렌더링된 프래그먼트의 깊이 검사(depth test)를 수행하여, 프래그먼트들의 가시성(선후)관계를 판단할 수 있다. 이에 따라, ROP부는 타일 버퍼(450)에 저장된 타일에 포함되는 복수의 픽셀들의 최종적인 픽셀 값들을 결정할 수 있다. 타일의 픽셀 값들이 결정되면, 타일은 프레임 버퍼로 출력될 수 있다.
도 7은 본 발명의 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
도 7을 참조하면, 하이브리드 렌더링 장치(100, 200, 400)는 2차원 프레임에 포함되는 복수의 타일을 제1 타일 및 제2 타일로 분류할 수 있다(S510).
예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 타일이 반사 또는 굴절 속성을 가지는 프리미티브를 포함하는지 여부에 따라 제1 타일 및 제2 타일로 분류할 수 있다. 제1 타일은 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하는 타일을 의미하며, 제2 타일은 반사 또는 굴절의 속성을 가지는 프리미티브를 포함하지 않는 타일을 의미한다.
하이브리드 렌더링 장치(100, 200, 400)는 복수의 타일 중 적어도 하나의 타일을 인출하여, 제1 타일인지 제2 타일인지 여부를 판단할 수 있다(S520).
예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 타일 데이터에 포함되는 타일의 종류를 나타내는 불린(boolean)값에 기초하여, 인출된 타일이 제1 타일인지 제2 타일인지 판단할 수 있다.
하이브리드 렌더링 장치(100, 200, 400)는 판단결과에 따라, 제2 렌더링부의 전력을 제어할 수 있다(S530).
하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제1 타일인 경우, 제2 렌더링부에 전력을 공급하도록 제어할 수 있다. 반면에, 인출된 타일이 제2 타일인 경우, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부에 전력을 차단하도록 제어할 수 있다.
이에 대해서는, 도 8을 참조하여, 자세히 설명하기로 한다.
또한, 하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제1 타일인 경우, 인출된 제1 타일의 작업 부하를 나타내는 정보에 기초하여, 제2 렌더링부의 전력 공급을 제어할 수 있다. 이때, 제1 타일의 작업 부하는 제1 타일에 포함되는 전체 프리미티브의 개수 대비 반사 또는 굴절 속성을 가지는 프리미티브의 개수에 대한 비율 및 전체 프리미티브의 면적 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 면적에 대한 비율 중 적어도 하나를 포함할 수 있다.
예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 인출된 제1 타일의 작업 부하를 나타내는 정보에 기초하여, 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제어할 수 있다. 이에 대해서는 도 10을 참조하여, 자세히 설명하기로 한다.
한편, 하이브리드 렌더링 장치(100, 200, 400)는 제1 타일에 포함된 프리미티브를 래스터화 방법 및 레이 트레이싱 방법 중 적어도 하나로 렌더링하고, 제2 타일에 포함된 프리미티브를 래스터화 방법으로 렌더링할 수 있다(S540).
하이브리드 렌더링 장치(100, 200, 400)는 제1 타일에 포함되는 프래그먼트 및 제2 타일에 포함되는 프래그먼트를 래스터화 방법으로 렌더링할 수 있다. 예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 반사 또는 굴절의 속성을 가지지 않는 1차 광선에 대한 렌더링을 수행할 수 있으며, 하이브리드 렌더링 장치(100, 200, 400)는 반사 또는 굴절의 속성을 가지지 않는 프리미티브에 대해서 래스터화 방법만으로 렌더링을 수행할 수 있다.
또한, 하이브리드 렌더링 장치(100, 200, 400)는 제1 타일에 포함되는 반사 또는 굴절의 속성을 가지는 프래그먼트를 레이 트레이싱 방법으로 렌더링할 수 있다. 하이브리드 렌더링 장치(100, 200, 400)는 기하 정보를 이용하여, 프래그먼트에 대한 1차 광선의 교차점(해당 프래그먼트에 대하여 생성된 1차 광선과 객체와의 교차점)을 계산할 수 있으며, 계산된 교차점을 이용하여, 반사 광선, 굴절 광선, 쉐도우 광선 등의 2차 광선을 생성할 수 있다. 하이브리드 렌더링 장치(100, 200, 400)는 생성된 2차 광선과 객체와의 교차점 및 교차점의 색상을 계산할 수 있다.
또한, 하이브리드 렌더링 장치(100, 200, 400)는 반사 또는 굴절의 속성을 가지는 프래그먼트를 래스터화 방법으로 렌더링한 값(해당 프래그먼트에 대한 1차 광선에 대한 색상 값) 및 해당 프래그먼트를 제2 렌더링부(232)에서 레이 트레이싱으로 렌더링한 값(해당 프래그먼트에 대한 2차 광선에 대한 색상 값)을 모두 고려하여, 해당 프래그먼트의 색상 값을 결정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
도 8을 참조하면, 하이브리드 렌더링 장치(100, 200, 400)는 복수의 타일을 제1 타일 및 제2 타일로 분류할 수 있다(S610).
하이브리드 렌더링 장치(100, 200, 400)는 복수의 타일 중 적어도 하나의 타일은 인출하고(S620), 인출된 타일이 제1 타일이지 판단할 수 있다(S630).
도 8의 610 단계(S610)는 도 7의 510 단계(S510)에 대응하고, 도 8의 620 단계(S620) 및 630 단계(S630)는 도 7의 520 단계(S520)에 대응하므로, 자세한 설명은 생략하기로 한다.
하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제1 타일인 경우, 제2 렌더링부(132, 232)의 전원을 온(On)할 수 있다(S640). 이때, 제2 렌더링부(132, 232)의 전원이 오프 상태인 경우, 제2 렌더링부(132, 232)의 전원을 온 하고, 제2 렌더링부(132, 232)의 전원이 온 상태인 경우, 계속해서 제2 렌더링부(132, 232)의 전원을 온 상태로 유지할 수 있다.
하이브리드 렌더링 장치(100, 200, 400)는 제1 타일을 래스터화 방법 및 레이 트레이싱 방법으로 렌더링할 수 있다(S650).
예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 인출된 제1 타일에 포함되는 반사 또는 굴절의 속성을 가지는 프리미티브를 래스터화 방법 및 레이 트레이싱 방법으로 렌더링할 수 있다. 또한, 하이브리드 렌더링 장치(100, 20)는 인출된 제1 타일에 포함되는 반사 또는 굴절의 속성을 가지지 않는 프리미티브는 래스터화 방법으로 렌더링할 수 있다.
반면에, 하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제2 타일인 경우, 제2 렌더링부(132, 232)가 유휴상태인지 판단할 수 있다(S660).
제2 렌더링부(132, 232)가 유휴상태인 경우, 제2 렌더링부(132, 232)의 전원을 오프(off)할 수 있다(S670). 제2 렌더링부(132, 232)가 이전 타일에 포함된 프래그먼트를 렌더링하고 있는 경우, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부의 전원을 오프하지 않고, 제2 렌더링부(132, 232)는 이전 타일의 렌더링 처리를 완료할 수 있다.
하이브리드 렌더링 장치(100, 200, 400)는 인출된 제2 타일에 포함되는 프리미티브를 래스터화 방법으로 렌더링할 수 있다(S680).
도 9는 본 발명의 일 실시예에 따른 2차 프레임에 포함되는 제1 타일 및 제2 타일을 나타내는 도면이다.
도 9를 참조하면, 2차 프레임은 반사 또는 굴절의 속성을 가지는 제1 영역(710) 및 반사 또는 굴절의 속성을 가지지 않는 제2 영역(720)을 포함할 수 있다. 제1 영역(710)을 포함하는 타일들(음영 표시된 타일들)이 제1 타일이며, 제2 영역을 포함하는 타일들(음영 표시가 되지 않은 타일들)이 제2 타일이다.
하이브리드 렌더링 장치(100, 200, 400)에서 제2 타일을 처리하는 경우, 레이 트레이싱 렌더링을 수행하지 않고, 래스터화 방법의 렌더링만 수행하므로, 제2 렌더링부(레이 트레이싱 렌더링 부)는 유휴상태일 수 있다. 따라서, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부의 전원을 오프함으로써, 전체적인 전력 소모를 절감할 수 있다.
또한, 도 9에 도시된 바와 같이, 제1 타일들은 서로 인접성(공간적 구역성)이 있어, 2차원 프레임에 포함되는 복수의 타일들을 행 방향 또는 열 방향으로 순차적으로 처리하는 경우, 제2 렌더링부(132, 232)의 전원을 온하거나 오프하는 스위칭이 빈번하게 발생하지 않는다. 따라서, 제2 렌더링부(132, 232)의 전력을 제어하기 위한 스위칭으로 인한 전력 소모는 크지 않다.
도 10은 본 발명의 일 실시예에 따른 하이브리드 렌더링 방법을 나타내는 흐름도이다.
도 10을 참조하면, 하이브리드 렌더링 장치(100, 200, 400)는 복수의 타일을 제1 타일 및 제2 타일로 분류할 수 있으며, 제1 타일의 작업 부하를 결정할 수 있다(S810).
하이브리드 렌더링 장치(100, 200, 400)는 제1 타일에 포함되는 전체 프리미티브의 개수, 반사 또는 굴절 속성을 가지는 프리미티브의 개수, 전체 프리미티브의 면적, 반사 또는 굴절 속성을 가지는 프리미티브의 면적 등을 계산할 수 있으며, 이에 기초하여, 제1 타일의 작업부하(work load)를 계산할 수 있다. 이때, 제1 타일의 작업 부하는 타일에 포함되는 전체 프리미티브의 개수 대비 반사 또는 굴절 속성을 가지는 프리미티브의 개수 비율 및 전체 프리미티브의 면적 대비 반사 또는 굴절 속성을 가지는 프리미티브의 면적 비율 중 적어도 하나를 포함할 수 있다. 또한, 하이브리드 렌더링 장치(100, 200, 400)는 타일의 분류 정보, 제1 타일의 작업 부하 정보를 포함하는 타일 데이터를 외부 메모리에 저장할 수 있다.
하이브리드 렌더링 장치(100, 200, 400)는 복수의 타일 중 적어도 하나의 타일을 인출하고(S820), 인출된 타일이 제1 타일인지 판단할 수 있다(S830).
하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제1 타일인 경우, 제1 타일의 작업 부하에 기초하여, 제2 렌더링부에 인가하는 전력을 제어할 수 있다(S840).
예를 들어, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부의 전원이 오프 상태인 경우, 제2 렌더링부(132, 232)의 전원을 온 하고, 인출된 제1 타일의 작업 부하가 임계값 이상인 경우, 제2 렌더링부(132, 232)에 인가하는 전압 및 주파수 중 적어도 하나를 제1 전압 또는 제1 주파수로 제어할 수 있다. 또는, 인출된 제1 타일의 작업 부하가 임계값 미만인 경우, 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제2 전압 또는 제2 주파수로 제어할 수 있다. 이때, 제1 전압은 제2 전압보다 크고, 제1 주파수는 제2 주파수보다 클 수 있다. 다만, 이에 한정하는 것은 아니다.
또는, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부(132, 232)에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이의 작업 부하의 차이에 기초하여, 제2 렌더링부(132, 232)의 전력을 제어할 수 있다. 예를 들어, 제2 렌더링부(132, 232)에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이에 작업 부하가 증가한 경우, 제2 렌더링부(132, 232)의 전압 및 주파수 중 적어도 하나를 증가시켜, 제2 렌더링부(132, 232)로 인가되는 전력을 증가시킬 수 있다. 또는 서로 인접한 제1 타일들 사이에 작업 부하가 감소한 경우, 제2 렌더링부(132, 232)의 전압 및 주파수 중 적어도 하나를 감소시켜, 제2 렌더링부(132, 232)로 인가되는 전력을 감소시킬 수 있다. 다만, 이에 한정하는 것은 아니다.
또는, 제2 렌더링부(132, 232)에서 순차적으로 렌더링되는 서로 인접한 제1 타일들의 작업 부하 차이가 제2 임계값 이상인 경우, 제2 렌더링부(132, 232)로 인가되는 전력을 조절하도록 제어할 수 있으며, 서로 인접한 제1 타일들의 작업 부하 차이가 제2 임계값 미만인 경우, 제2 렌더링부(132, 232)로 인가되는 전력을 계속 유지할 수 있다. 다만, 이에 한정하는 것은 아니다.
하이브리드 렌더링 장치(100, 200, 400)는 제1 타일을 래스터화 방법 및 레이 트레이싱 방법으로 렌더링할 수 있다(S850). 도 10의 850단계(S850)은 도 8의 650단계(S650)에 대응하므로, 구체적인 설명은 생략하기로 한다.
한편, 하이브리드 렌더링 장치(100, 200, 400)는 인출된 타일이 제2 타일인 경우, 제2 렌더링부(132, 232)가 유휴상태인지 판단할 수 있다(S860).
제2 렌더링부(132, 232)가 유휴상태인 경우, 제2 렌더링부(132, 232)의 전원을 오프(off)할 수 있다(S870). 제2 렌더링부(132, 232)가 이전 타일에 포함된 프래그먼트를 렌더링하고 있는 경우, 하이브리드 렌더링 장치(100, 200, 400)는 제2 렌더링부의 전원을 오프하지 않고, 제2 렌더링부(132, 232)는 이전 타일의 렌더링 처리를 완료할 수 있다.
하이브리드 렌더링 장치(100, 200, 400)는 인출된 제2 타일에 포함되는 프리미티브를 래스터화 방법으로 렌더링할 수 있다(S880).
본 발명에 따른 하이브리드 렌더링 장치 및 하이브리드 렌더링 방법은, 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 하이브리드 렌더링 장치 및 하이브리드 렌더링 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM. CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (27)

  1. 2차원 프레임에 포함된 복수의 타일들을 반사 또는 굴절 속성의 프리미티브를 포함하는 제1 타일 및 반사 또는 굴절 속성의 프리미티브를 포함하지 않는 제2 타일로 분류하는 타일 분류부;
    상기 제1 타일 및 제2 타일 중 적어도 하나를 래스터화 방법으로 렌더링하는 제1 렌더링부 및 상기 제1 타일을 레이 트레이싱 방법으로 렌더링하는 제2 렌더링부를 포함하는 렌더링부;
    상기 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 상기 인출된 타일이 상기 제1 타일 또는 상기 제2 타일인지를 판단하며, 상기 인출된 타일을 상기 렌더링부로 출력하는 타일 인출부(tile fetcher); 및
    상기 판단결과에 따라, 상기 제2 렌더링부의 전력을 제어하는 전력 제어부;를 포함하는 하이브리드 렌더링 장치.
  2. 제1항에 있어서,
    상기 전력 제어부는,
    상기 인출된 타일이 제1 타일인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 하이브리드 렌더링 장치.
  3. 제1항에 있어서,
    상기 전력 제어부는,
    상기 제2 렌더링부의 상태에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 하이브리드 렌더링 장치.
  4. 제3항에 있어서,
    상기 전력 제어부는,
    상기 인출된 타일이 제1 타일이고, 상기 제2 렌더링부의 전원이 오프(Off)인 경우, 상기 제2 렌더링부의 전원을 온(On)하고,
    상기 인출된 타일이 제2 타일이고, 상기 제2 렌더링부가 유휴 상태인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 하이브리드 렌더링 장치.
  5. 제1항에 있어서,
    상기 타일 분류부는 상기 복수의 타일들 각각에 포함되는 프리미티브에 대한 정보를 포함하는 타일 데이터를 생성하고, 상기 프리미티브에 대한 정보는 상기 프리미티브가 상기 반사 또는 굴절 속성을 가지는지에 대한 정보를 포함하는 하이브리드 렌더링 장치.
  6. 제1항에 있어서,
    상기 제1 렌더링부는,
    상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브의 1차 광선에 대한 렌더링을 수행하고, 상기 제2 렌더링부는 상기 제2 타일에 포함되는 프리미티브의 2차 광선에 대한 렌더링을 수행하는 하이브리드 렌더링 장치.
  7. 제1항에 있어서,
    상기 렌더링부는,
    상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브를 프래그먼트로 분할하는 래스터라이저를 더 포함하고,
    상기 제1 렌더링부 및 제2 렌더링부는 상기 분할된 프래그먼트에 대한 색상 값을 결정하는 하이브리드 렌더링 장치.
  8. 제7항에 있어서,
    상기 렌더링부는,
    상기 제1 렌더링 부 및 상기 제2 렌더링부 중 적어도 하나에서 색상 값이 결정된 프래그먼트의 깊이 검사를 수행하는 ROP부를 더 포함하는 하이브리드 렌더링 장치.
  9. 제1항에 있어서,
    상기 타일 분류부는,
    상기 제1 타일에 대한 작업 부하(workload)를 계산하고,
    상기 전력 제어부는,
    상기 제2 렌더링부에서 렌더링되는 제1 타일의 작업 부하에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 하이브리드 렌더링 장치.
  10. 제9항에 있어서,
    상기 제1 타일에 대한 작업 부하는,
    상기 제1 타일에 포함되는 전체 프리미티브의 개수 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 개수에 대한 비율 및 상기 전체 프리미티브의 면적 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 면적에 대한 비율 중 적어도 하나에 기초하여, 계산되는 하이브리드 렌더링 장치.
  11. 제9항에 있어서,
    상기 전력 제어부는,
    상기 제1 타일의 작업 부하가 임계값 이상인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제1 전압 또는 제1 주파수로 제어하고, 상기 제1 타일의 작업 부하가 임계값 미만인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제2 전압 또는 제2 주파수로 제어하며,
    상기 제1 전압은 상기 제2 전압보다 크고, 상기 제1 주파수는 상기 제2 주파수보다 큰 하이브리드 렌더링 장치.
  12. 제9항에 있어서,
    상기 전력 제어부는,
    상기 제2 렌더링부에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이의 작업 부하 차이에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 하이브리드 렌더링 장치.
  13. 제12항에 있어서,
    상기 전력 제어부는,
    상기 서로 인접한 제1 타일들 사이에 상기 작업 부하가 증가한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 증가시키고, 서로 인접한 제1 타일들 사이에 상기 작업 부하가 감소한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 감소시키는 하이브리드 렌더링 장치.
  14. 2차원 프레임에 포함된 복수의 타일들을 반사 또는 굴절 속성의 프리미티브를 포함하는 제1 타일 및 반사 또는 굴절 속성의 프리미티브를 포함하지 않는 제2 타일로 분류하는 단계;
    상기 복수의 타일 중 적어도 하나의 타일을 인출(fetch)하여, 상기 인출된 타일이 상기 제1 타일 또는 상기 제2 타일인지를 판단하는 단계;
    상기 판단결과에 따라, 상기 제2 렌더링부의 전력을 제어하는 단계; 및
    상기 제1 타일은 래스터화 방법 및 레이 트레이싱 방법으로 렌더링하고, 상기 제2 타일은 래스터화 방법으로 렌더링하는 단계를 포함하는 하이브리드 렌더링 방법.
  15. 제14항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 인출된 타일이 제1 타일인 경우, 상기 제2 렌더링부의 전원을 온(On)하고, 상기 인출된 타일이 제2 타일인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 단계를 포함하는 하이브리드 렌더링 방법.
  16. 제14항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 제2 렌더링부의 상태에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계인 하이브리드 렌더링 방법.
  17. 제16항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 인출된 타일이 제1 타일이고, 상기 제2 렌더링부의 전원이 오프(Off)인 경우, 상기 제2 렌더링부의 전원을 온(On)하고,
    상기 인출된 타일이 제2 타일이고, 상기 제2 렌더링부가 유휴 상태인 경우, 상기 제2 렌더링부의 전원을 오프(Off)하는 단계를 포함하는 하이브리드 렌더링 방법.
  18. 제14항에 있어서,
    상기 복수의 타일들을 분류하는 단계는
    상기 복수의 타일들 각각에 포함되는 프리미티브에 대한 정보를 포함하는 타일 데이터를 생성하는 단계를 더 포함하고,
    상기 프리미티브에 대한 정보는 상기 프리미티브가 상기 반사 또는 굴절 속성을 가지는지에 대한 정보를 포함하는 하이브리드 렌더링 방법.
  19. 제14항에 있어서,
    상기 렌더링하는 단계는,
    상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브의 1차 광선에 대하여, 상기 래스터화 방법으로 렌더링을 수행하는 단계; 및
    상기 제2 타일에 포함되는 프리미티브의 2차 광선에 대하여, 상기 레이 트레이싱 방법으로 렌더링을 수행하는 단계를 포함하는 하이브리드 렌더링 방법.
  20. 제14항에 있어서,
    상기 방법은,
    상기 제1 타일 및 제2 타일 중 적어도 하나에 포함되는 프리미티브를 프래그먼트로 분할하는 단계를 더 포함하고,
    상기 렌더링하는 단계는,
    상기 분할된 프래그먼트에 대한 색상 값을 결정하는 단계를 포함하는 하이브리드 렌더링 방법.
  21. 제20항에 있어서,
    상기 렌더링하는 단계는,
    상기 색상 값이 결정된 프래그먼트의 깊이 검사를 수행하는 단계를 더 포함하는 하이브리드 렌더링 방법.
  22. 제14항에 있어서,
    상기 방법은,
    상기 제1 타일에 대한 작업 부하(workload)를 계산하는 단계를 더 포함하고,
    상기 전력을 제어하는 단계는,
    상기 제2 렌더링부에서 렌더링되는 제1 타일의 작업 부하에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계를 포함하는 하이브리드 렌더링 방법.
  23. 제22항에 있어서,
    상기 제1 타일에 대한 작업 부하를 계산하는 단계는,
    상기 제1 타일에 포함되는 전체 프리미티브의 개수 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 개수에 대한 비율 및 상기 전체 프리미티브의 면적 대비 상기 반사 또는 굴절 속성을 가지는 프리미티브의 면적에 대한 비율 중 적어도 하나에 기초하여, 계산되는 단계인 하이브리드 렌더링 방법.
  24. 제22항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 제1 타일의 작업 부하가 임계값 이상인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제1 전압 또는 제1 주파수로 제어하고, 상기 제1 타일의 작업 부하가 임계값 미만인 경우, 상기 제2 렌더링부에 인가하는 전압 및 주파수 중 적어도 하나를 제2 전압 또는 제2 주파수로 제어하는 단계를 포함하고,
    상기 제1 전압은 상기 제2 전압보다 크고, 상기 제1 주파수는 상기 제2 주파수보다 큰 하이브리드 렌더링 방법.
  25. 제22항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 제2 렌더링부에서 순차적으로 렌더링되는 서로 인접한 제1 타일들 사이의 작업 부하 차이에 기초하여, 상기 제2 렌더링부의 전력을 제어하는 단계를 포함하는 하이브리드 렌더링 방법.
  26. 제25항에 있어서,
    상기 전력을 제어하는 단계는,
    상기 서로 인접한 제1 타일들 사이에 상기 작업 부하가 증가한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 증가시키고, 서로 인접한 제1 타일들 사이에 상기 작업 부하가 감소한 경우, 상기 제2 렌더링부의 전압 및 주파수 중 적어도 하나를 감소시키는 단계를 포함하는 하이브리드 렌더링 방법.
  27. 제14항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020140143602A 2014-10-22 2014-10-22 하이브리드 렌더링 장치 및 방법 KR20160047317A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140143602A KR20160047317A (ko) 2014-10-22 2014-10-22 하이브리드 렌더링 장치 및 방법
EP15178851.0A EP3016074A1 (en) 2014-10-22 2015-07-29 Hybrid rendering apparatus and method
CN201510594529.5A CN105551075A (zh) 2014-10-22 2015-09-17 混合渲染设备和方法
US14/884,033 US20160116973A1 (en) 2014-10-22 2015-10-15 Hybrid rendering apparatus and method
JP2015204462A JP2016085738A (ja) 2014-10-22 2015-10-16 ハイブリッドレンダリング装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140143602A KR20160047317A (ko) 2014-10-22 2014-10-22 하이브리드 렌더링 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20160047317A true KR20160047317A (ko) 2016-05-02

Family

ID=53761257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140143602A KR20160047317A (ko) 2014-10-22 2014-10-22 하이브리드 렌더링 장치 및 방법

Country Status (5)

Country Link
US (1) US20160116973A1 (ko)
EP (1) EP3016074A1 (ko)
JP (1) JP2016085738A (ko)
KR (1) KR20160047317A (ko)
CN (1) CN105551075A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023106838A1 (ko) * 2021-12-10 2023-06-15 세종대학교산학협력단 카메라 움직임에 따른 레이 트레이싱 화질조절방법, 이를 수행하는 화질조절장치 및 이를 저장하는 기록매체

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842428B2 (en) * 2014-06-27 2017-12-12 Samsung Electronics Co., Ltd. Dynamically optimized deferred rendering pipeline
US9773340B2 (en) * 2015-06-12 2017-09-26 Qualcomm Incorporated Rendering using ray tracing to generate a visibility stream
JP6870256B2 (ja) * 2016-09-22 2021-05-12 株式会社三洋物産 遊技機
KR102554419B1 (ko) * 2017-12-26 2023-07-11 삼성전자주식회사 프리페칭된 그래픽스 데이터를 이용하여 타일 기반 렌더링을 수행하는 방법 및 장치
US10853994B1 (en) * 2019-05-23 2020-12-01 Nvidia Corporation Rendering scenes using a combination of raytracing and rasterization
US11227430B2 (en) 2019-06-19 2022-01-18 Samsung Electronics Co., Ltd. Optimized pixel shader attribute management
CN111340928B (zh) 2020-02-19 2022-05-03 杭州群核信息技术有限公司 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备
US11869117B2 (en) 2021-03-18 2024-01-09 Samsung Electronics Co., Ltd. Systems and methods of adaptive, variable-rate, hybrid ray tracing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282604A1 (en) * 2005-05-27 2006-12-14 Ati Technologies, Inc. Methods and apparatus for processing graphics data using multiple processing circuits
KR101217559B1 (ko) * 2006-10-27 2013-01-02 삼성전자주식회사 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치
US8379022B2 (en) * 2008-09-26 2013-02-19 Nvidia Corporation Fragment shader for a hybrid raytracing system and method of operation
KR20100132605A (ko) * 2009-06-10 2010-12-20 삼성전자주식회사 하이브리드 렌더링 장치 및 방법
CN102314213B (zh) * 2010-07-09 2016-03-30 精英电脑股份有限公司 动态调整工作频率的计算机系统
KR101799978B1 (ko) * 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
CN102651142B (zh) * 2012-04-16 2016-03-16 深圳超多维光电子有限公司 图像渲染方法和装置
KR20130123645A (ko) * 2012-05-03 2013-11-13 삼성전자주식회사 그래픽 처리 장치를 위한 동적 로드 밸런싱 장치 및 방법
CN102707447B (zh) * 2012-06-15 2015-10-28 中航华东光电有限公司 立体显示器多视点像素发光仿真方法
JP2014075786A (ja) * 2012-09-11 2014-04-24 Canon Inc 画像形成装置、画像形成装置の制御方法、及び、プログラム
US9305370B2 (en) * 2013-07-31 2016-04-05 Qualcomm Incorporated Graphical rendering with implicit surfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023106838A1 (ko) * 2021-12-10 2023-06-15 세종대학교산학협력단 카메라 움직임에 따른 레이 트레이싱 화질조절방법, 이를 수행하는 화질조절장치 및 이를 저장하는 기록매체

Also Published As

Publication number Publication date
JP2016085738A (ja) 2016-05-19
EP3016074A1 (en) 2016-05-04
US20160116973A1 (en) 2016-04-28
CN105551075A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
KR20160047317A (ko) 하이브리드 렌더링 장치 및 방법
US11270506B2 (en) Foveated geometry tessellation
KR102224845B1 (ko) 하이브리드 렌더링 방법 및 장치
US7948487B2 (en) Occlusion culling method and rendering processing apparatus
US7812837B2 (en) Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method
US8593459B2 (en) Tree insertion depth adjustment based on view frustum and distance culling
KR102493461B1 (ko) 렌더링 시스템 및 방법
KR102193684B1 (ko) 레이 트레이싱 처리 장치 및 방법
CN112513712A (zh) 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法
KR20160126329A (ko) 적응적 샘플링을 수행하여 영상을 처리하는 방법 및 장치.
KR20150046643A (ko) 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법
KR20150039493A (ko) 레이 트레이싱 처리 장치 및 방법
US20160117855A1 (en) Rendering apparatus and method
JP5937957B2 (ja) リアルタイム大局照明レンダリングシステム
KR102558739B1 (ko) 3d 렌더링 방법 및 장치
US10621774B2 (en) Systems and methods for rendering reflections
US10818079B2 (en) Systems and methods for rendering reflections
US20200051313A1 (en) Systems and methods for rendering reflections
Futterlieb et al. Smooth visualization of large point clouds
US11727638B1 (en) Adaptive geometric smoothing
JP6487578B1 (ja) プログラム、記録媒体、及び影描画方法
JP5321385B2 (ja) 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
JP2007299080A (ja) 画像生成方法及び画像生成装置
KR20160142166A (ko) 그래픽 프로세서

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid