KR20170072151A - 3d 가상 장면의 조도를 결정하는 방법 및 장치 - Google Patents

3d 가상 장면의 조도를 결정하는 방법 및 장치 Download PDF

Info

Publication number
KR20170072151A
KR20170072151A KR1020160170402A KR20160170402A KR20170072151A KR 20170072151 A KR20170072151 A KR 20170072151A KR 1020160170402 A KR1020160170402 A KR 1020160170402A KR 20160170402 A KR20160170402 A KR 20160170402A KR 20170072151 A KR20170072151 A KR 20170072151A
Authority
KR
South Korea
Prior art keywords
points
gratings
position information
illuminance
virtual scene
Prior art date
Application number
KR1020160170402A
Other languages
English (en)
Other versions
KR102555463B1 (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 삼성전자주식회사
Publication of KR20170072151A publication Critical patent/KR20170072151A/ko
Application granted granted Critical
Publication of KR102555463B1 publication Critical patent/KR102555463B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/506Illumination models
    • 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/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity

Landscapes

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

Abstract

3D 가상 장면을 복수의 격자들을 이용하여 구분하고, 광원으로부터 방출된 복수의 광선들이 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점들 및 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하고, 복수의 제 1 지점들에서 반사된 복수의 광선들이 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하고, 복수의 제 1 격자들의 위치 정보 및 복수의 제 2 격자들의 위치 정보에 기초하여 복수의 격자들 각각의 조도를 결정하고, 결정된 복수의 격자들 각각의 조도에 기초하여 3D 가상 장면을 렌더링하고, 복수의 제 1 지점들의 위치 정보, 복수의 제 1 격자들의 위치 정보, 복수의 제 2 지점들의 위치 정보, 복수의 제 2 격자들의 위치 정보 및 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장하는 방법이 개시된다.

Description

3D 가상 장면의 조도를 결정하는 방법 및 장치{Method and device for determining illumination of 3D virtual scene}
다양한 실시예들은 3D 가상 장면의 조도를 결정하는 방법 및 장치에 관한 것이며, 보다 구체적으로는 3D 가상 장면의 조도를 결정하여 3D 가상 장면을 렌더링(rendering)하기 위한 방법 및 장치에 관한 것이다.
3D 가상 장면을 렌더링함에 있어서, 3D 가상 장면 내의 조도를 결정하는 것이 요구된다. 3D 가상 장면의 현실성을 증가시키기 위해서는, 광원으로부터 직접적으로 받는 영향뿐 아니라 3D 가상 장면 내 객체에서 반사된 빛에 의한 간접적인 영향도 고려하는 것이 요구된다. 종래에는 3D 가상 장면을 렌더링함에 있어서, 3D 가상 장면 내 객체에서 반사된 빛에 의한 간접적인 영향을 반영하는데 어려움이 있었다.
다양한 실시예들은, 광원에서 방출된 광선의 직접적인 입사 및 간접적인 반사에 의해 3D 가상 장면 내의 특정 위치에 축적되는 빛의 정보들을 종합하여 3D 가상 장면의 조도를 결정하며, 결정된 조도를 기초로 3D 가상 장면을 렌더링하는 전자 장치 및 그 동작 방법을 제공할 수 있다.
일부 실시예에 따른 3D 가상 장면을 렌더링하는 전자 장치는: 상기 3D 가상 장면을 복수의 격자들을 이용하여 구분하고, 광원으로부터 방출된 복수의 광선들이 상기 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사(incident)하는 복수의 제 1 지점들 및 상기 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하고, 상기 복수의 제 1 지점들에서 반사된 상기 복수의 광선들이 상기 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 상기 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하고, 상기 복수의 제 1 격자들의 위치 정보 및 상기 복수의 제 2 격자들의 위치 정보에 기초하여 상기 복수의 격자들 각각의 조도를 결정하고, 결정된 상기 복수의 격자들 각각의 조도에 기초하여 상기 3D 가상 장면을 렌더링하는 제어부; 및
상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장하는 저장부를 포함할 수 있다.
일 실시예에서, 상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나는 광선 추적(ray tracing) 및 래스터화(rasterization) 중 적어도 하나에 의해 획득될 수 있다.
일 실시예에서, 상기 제어부는 상기 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트할 수 있다.
일 실시예에서, 상기 제어부는 상기 저장부에 저장된 정보에 기초하여 상기 복수의 격자들의 조도를 결정할 수 있다.
일 실시예에서, 상기 제어부는 상기 복수의 격자들 각각의 조도를 결정함에 있어서: 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하는 격자의 조도를, 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하지 않는 격자의 조도보다 높게 결정할 수 있다.
일 실시예에서, 상기 복수의 광선들의 조도는, 상기 복수의 광선들이 상기 하나 이상의 객체에서 반사되는 경우 감소하는 것으로 결정될 수 있다.
일부 실시예에 따른 3D 가상 장면을 렌더링하는 방법은: 상기 3D 가상 장면을 복수의 격자들을 이용하여 구분하는 단계; 광원으로부터 방출된 복수의 광선들이 상기 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점들 및 상기 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하는 단계; 상기 복수의 제 1 지점들에서 반사된 상기 복수의 광선들이 상기 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 상기 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하는 단계; 상기 복수의 제 1 격자들의 위치 정보 및 상기 복수의 제 2 격자들의 위치 정보에 기초하여 상기 복수의 격자들 각각의 조도를 결정하는 단계; 결정된 상기 복수의 격자들 각각의 조도에 기초하여 상기 3D 가상 장면을 렌더링하는 단계; 및 상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나는 광선 추적 및 래스터화 중 적어도 하나에 의해 획득될 수 있다.
일 실시예에서, 상기 복수의 격자들 각각의 조도를 결정하는 단계는, 상기 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트하는 단계를 포함할 수 있다.
일 실시예에서, 방법은 상기 저장된 정보에 기초하여 상기 복수의 격자들의 조도를 결정할 수 있다.
일 실시예에서, 상기 복수의 격자들 각각의 조도를 결정하는 단계는: 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하는 격자의 조도를, 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하지 않는 격자의 조도보다 높게 결정할 수 있다.
일 실시예에서, 상기 복수의 광선들의 조도는, 상기 복수의 광선들이 상기 하나 이상의 객체에서 반사되는 경우 감소하는 것으로 결정할 수 있다.
일부 실시예에 따른 기록 매체는, 3D 가상 장면을 복수의 격자들을 이용하여 구분하는 단계; 광원으로부터 방출된 복수의 광선들이 상기 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점들 및 상기 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하는 단계; 상기 복수의 제 1 지점들에서 반사된 상기 복수의 광선들이 상기 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 상기 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하는 단계; 상기 복수의 제 1 격자들의 위치 정보 및 상기 복수의 제 2 격자들의 위치 정보에 기초하여 상기 복수의 격자들 각각의 조도를 결정하는 단계; 및 결정된 상기 복수의 격자들 각각의 조도에 기초하여 상기 3D 가상 장면을 렌더링하는 단계를 포함하는 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체이다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 2는 일 실시예에 따른 3D 가상 장면에 대해 도시하는 도면이다.
도 3은 일 실시예에 따른 3D 가상 장면 내의 제 1 지점들에 대해 도시하는 도면이다.
도 4는 일 실시예에 따른 3D 가상 장면 내의 제 1 격자들에 대해 도시하는 도면이다.
도 5는 일 실시예에 따른 3D 가상 장면 내의 제 2 지점들에 대해 도시하는 도면이다.
도 6은 일 실시예에 따른 3D 가상 장면 내의 제 2 격자들에 대해 도시하는 도면이다.
도 7a 및 7b는 일 실시예에 따른 3D 가상 장면의 렌더링에 대해 도시하는 도면이다.
도 8은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 9는 일 실시예에 따른 3D 가상 장면의 조도 결정 방법을 나타내는 흐름도이다.
아래에서는 첨부한 도면을 참조하여 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 실시예를 상세히 설명한다. 그러나 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서에서 사용된 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
첨부된 도면은 발명의 일 실시예를 설명하기 위하여 개략적으로 도시될 수 있으며, 몇몇 치수는 보다 명확한 표현을 위해 과장될 수 있다. 이와 유사하게, 도면의 상당 부분은 임의로 표현될 수 있다.
개시에 기재된 실시예 및 첨부된 도면은 발명의 다양한 실시예 중 일부를 통해 발명을 설명하기 위한 것이며, 개시에 기재된 실시예 및 첨부된 도면만으로 발명이 한정되는 것은 아니다.
본 개시에 기재된 실시예에서 “제 1 지점”이라는 용어는, 광원으로부터 방출된(originated) 광선이 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 지점을 의미한다.
본 개시에 기재된 실시예에서 “제 1 격자”라는 용어는, 3D 가상 장면을 복수의 격자를 통해 구분했을 때, 제 1 지점을 포함하는 격자를 의미한다.
본 개시에 기재된 실시예에서 “제 2 지점”이라는 용어는, 제 1 지점에서 반사된 광선이 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 지점을 의미한다.
본 개시에 기재된 실시예에서 “제 2 격자”라는 용어는, 3D 가상 장면을 복수의 격자를 통해 구분했을 때, 제 2 지점을 포함하는 격자를 의미한다.
본 개시에 기재된 실시예에서 “기여”라는 용어는, 광선이 특정 객체의 특정 위치에 입사하여, 특정 위치의 조도를 밝게 하는 것을 의미한다.
도 1 내지 도 9는 개시의 실시예들을 나타내는 도면들이다. 도면들은 특정한 스케일로 작성된 것이 아니며, 도면들은 개시의 이해를 돕기 위한 것이지 개시의 범위를 한정하는 것으로 해석하여서는 안 된다. 일관성 및 명확성을 위해 서로 다른 도면에 나타나는 동일한 요소들에는 동일한 참조 번호가 부여되었다.
이하 첨부된 도면을 참고하여 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
전자 장치(100)는, 예를 들어 제어부(110) 및 저장부(120)를 포함할 수 있다.
제어부(110)는 일 실시예에서, 3D 가상 장면을 복수의 격자들을 이용하여 구분할 수 있다.
제어부(110)는 일 실시예에서, 광원으로부터 방출된 복수의 광선들이 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점들 및 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득할 수 있다.
일 실시예에서, 광원은 3D 가상 장면 내에 위치할 수 있으며, 광원의 종류는, 예를 들어 3D 가상 장면 내의 태양, 형광등 등이 있을 수 있다.
일 실시예에서, 3D 가상 장면 내에 하나 이상의 객체가 존재할 수 있다. 하나 이상의 객체는, 예를 들어 담벼락, 사람, 건물, 나무 등을 포함하는 모든 객체일 수 있다.
일 실시예에서, 제어부(110)는 하나 이상의 객체에 광선이 입사하는 위치를 기능적으로(functionally) 결정하는 것이 가능한 소프트웨어 및 하드웨어 중 적어도 하나에 의해 수행될 수 있다. 예를 들어, 제어부(110)는 레스터라이저(rasterizer) 일 수 있다.
일 실시예에서, 제어부(110)는 하나 또는 그 이상의 마이크로 프로세서(microprocessor), 마이크로 컴퓨터, 마이크로 컨트롤러, 디지털 신호 처리부(Digital Signal Processing unit), 중앙 처리 장치(Central Processing Unit, CPU), 상태 기계(State Machine), 연산 회로, 및/또는 동작 명령에 기초하여 신호를 처리 또는 조작할 수 있는 다른 장치로 구성될 수 있다.
제어부(110)는 일 실시예에서, 복수의 제 1 지점들에서 반사된 복수의 광선들이 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득할 수 있다.
제어부(110)는 일 실시예에서, 복수의 제 1 격자들의 위치 정보 및 복수의 제 2 격자들의 위치 정보에 기초하여 복수의 격자들 각각의 조도를 결정할 수 있다.
일 실시예에서, 3D 가상 장면 내의 격자는 제 1 격자 및 제 2 격자 중 적어도 하나에 해당하거나, 제 1 격자 및 제 2 격자 모두에 해당하지 않을 수 있다. 격자가 제 1 격자 및 제 2 격자에 해당하는 경우, 제 1 격자에 의한 빛의 기여와 제 2 격자에 의한 빛의 기여를 합산하여 조도를 결정할 수 있다.
일 실시예에서, 3D 가상 장면 내의 격자에 광원으로부터 광선이 직접적으로(3D 가상 장면 내의 하나 이상의 객체(220, 230)에서 반사된 바 없이) 입사할 수 있으며, 하나 이상의 객체(220, 230)에서 한 번 이상 반사된 후 간접적으로 입사할 수 있다.
일 실시예에서, 복수의 격자들 각각의 조도를 결정함에 있어서, 제 1 격자 및 제 2 격자 중 적어도 하나에 해당하는 격자의 조도를, 제 1 격자 및 제 2 격자 중 적어도 하나에 해당하지 않는 격자의 조도보다 높게 결정할 수 있다.
일 실시예에서, 제어부(110)가 복수의 격자들 각각의 조도를 결정함에 있어서, 광원에서 방출된 광선이 광원으로부터 이동한 거리, 광선이 하나 이상의 객체로부터 반사되었는지 여부 및 반사 횟수, 격자가 제 1 격자 및 제 2 격자 중 적어도 하나에 해당하는지 여부 등이 고려될 수 있다.
일 실시예에서, 제어부(110)는 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트할 수 있다. 이를 통해, 3D 가상 장면 내의 하나 이상의 객체 또는 광원의 시간에 따른 변화를 복수의 격자들 각각의 조도에 반영할 수 있다. 3D 가상 장면 내의 하나 이상의 객체 또는 광원의 시간에 따른 변화는, 위치의 변화, 형태의 변화, 성질의 변화 등을 포함할 수 있으며, 이에 한정되지 않는다.
제어부(110)는 일 실시예에서, 결정된 복수의 격자들 각각의 조도에 기초하여 3D 가상 장면을 렌더링 할 수 있다.
일 실시예에서, 복수의 제 1 지점들의 위치 정보, 복수의 제 1 격자들의 위치 정보, 복수의 제 2 지점들의 위치 정보, 복수의 제 2 격자들의 위치 정보 및 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나는 광선 추적(ray tracing) 및 래스터화(rasterization) 중 적어도 하나에 의해 획득될 수 있다.
저장부(120)는 일 실시예에서, 복수의 제 1 지점들의 위치 정보, 복수의 제 1 격자들의 위치 정보, 복수의 제 2 지점들의 위치 정보, 복수의 제 2 격자들의 위치 정보 및 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장할 수 있다.
일 실시예에서, 저장부(120)는 휘발성 메모리(예컨대, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 및 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 저장부(120)는 데이터 베이스를 포함할 수도 있다.
일 실시예에서, 저장부(120)에 저장된 정보는 일시적으로 저장되거나, 영구적으로 저장될 수 있다.
저장부(120)는 일 실시예에서, 저장부(120)에 저장된 정보들에 기초하여 복수의 격자들의 조도를 결정할 수 있다.
한편, 도 1에 도시된 전자 장치(100)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치(100)의 사양에 따라 통합, 추가 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 또는 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다.
또한, 각 블록에서 수행하는 기능들은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 2는 일 실시예에 따른 3D 가상 장면에 대해 도시하는 도면이다.
3D 가상 장면(200)은, 예를 들어 게임, 시뮬레이션 또는 컴퓨터를 활용한 디자인 산업에 이용될 수 있다.
도 2에서는 가상 장면이 2D처럼 표현되어 있으나 이는 설명의 편의를 위함이고, 3D 가상 장면(200)에 대해 설명하는 것임은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
도 2에 도시된 태양 표시는 광원(210)을 나타내며, 두 개의 직사각형은 하나 이상의 객체(220, 230)를 나타낸다.
광원(210)으로부터 방출된 광선에 의한 3D 가상 장면(200)의 조도 배치 결정의 편의를 위해 3D 가상 장면(200) 내의 공간을 구획할 수 있다. 일 실시예에서, 도 2에 도시된 바와 같이 3D 가상 장면(200)은 복수의 격자(240)들로 구분될 수 있다. 격자는, 예를 들어 복셀 격자일 수 있다.
도 3은 일 실시예에 따른 3D 가상 장면 내의 제 1 지점들에 대해 도시하는 도면이다.
일 실시예에서, 광원(210)으로부터 방출된 복수의 광선들(310)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체(220, 230)에 입사할 수 있다. 복수의 광선들(310)이 하나 이상의 객체(220, 230)에 입사하면서 전자 장치(100)는 제 1 지점(320)을 결정할 수 있다.
일 실시예에서, 광선이 광원(210)에서 유래하여 이동함에 따라, 전자 장치(100)는 광선의 조도가 점차 감소하는 것으로 결정할 수 있다.
도 4는 일 실시예에 따른 3D 가상 장면 내의 제 1 격자들에 대해 도시하는 도면이다.
일 실시예에서, 복수의 광선들(310)이 하나 이상의 객체(220, 230)에 입사하면서 전자 장치(100)는 제 1 지점(320)을 결정할 수 있고, 제 1 지점(320)을 포함하는 제 1 격자(410)도 결정할 수 있다.
일 실시예에서, 제 1 지점(320) 및 제 1 격자(410)의 결정은 광선 추적법(ray tracing), 래스터화(rasterization) 또는 이와 유사한 방법에 의해 수행될 수 있다. 광선 추적법에 있어서, 전자 장치(100)는 광선의 유래점 및 벡터에 기초하여 광선이 3D 가상 장면(200) 내 하나 이상의 객체에 입사하는 위치를 검출할 수 있다. 래스터화에 있어서, 전자 장치(100)는 3D 가상 장면(200) 내 하나 이상의 객체(220, 230)에서 어떤 부분이 광원(210)에서 보이며, 따라서 어떤 부분이 광원(210)에 의해 비춰질 수 있는지 여부를 검출할 수 있다.
도 5는 일 실시예에 따른 3D 가상 장면 내의 제 2 지점들에 대해 도시하는 도면이다.
일 실시예에서, 제 1 지점(320)에서 반사된 복수의 광선들(510)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체(220, 230)에 입사할 수 있다. 제 1 지점(320)에서 반사된 복수의 광선들(510)이 하나 이상의 객체(220, 230)에 입사하면서 전자 장치(100)는 제 2 지점(520)을 결정할 수 있다.
일 실시예에서, 복수의 광선들(310)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체(220, 230)에서 반사되는 경우, 반사된 복수의 광선들(510)의 조도는 반사 전 복수의 광선들(310)의 조도보다 낮은 것으로 결정될 수 있다.
도 6은 일 실시예에 따른 3D 가상 장면 내의 제 2 격자들에 대해 도시하는 도면이다.
일 실시예에서, 제 1 지점(320)에서 반사된 복수의 광선들(510)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체(220, 230)에 입사하면서 전자 장치(100)는 제 2 지점(520)을 결정할 수 있고, 제 2 지점(520)을 포함하는 제 2 격자(610)도 결정할 수 있다.
도 7a 및 도 7b는 일 실시예에 따른 3D 가상 장면의 렌더링에 대해 도시하는 도면이다.
일 실시예에서, 전자 장치(100)는, 광원이 3D 가상 장면(200) 내 특정 격자의 조도에 직접 및 간접적으로 기여한 정도를 합산하여 3D 가상 장면(200) 내 복수의 격자들의 현재 조도를 결정할 수 있으며, 결정된 복수의 격자들의 현재 조도를 기준으로 3D 가상 장면(200)을 렌더링 할 수 있다.
일 실시예에서, 디스플레이 장치에서 디스플레이 하기 위해 3D 가상 장면(200)이 렌더링 될 수 있다. 3D 가상 장면(200)을 전자 장치(100)가 렌더링 하는 것은, 단일의 2D 이미지로 렌더링 하는 것에 한정되지 않으며, 예를 들어 짧은 시간 간격을 두고 복수의 2D 이미지 또는 3D 이미지로 렌더링 할 수 있다.
일 실시예에서, 전자 장치(100)는 렌더링의 기준이 되는 관측 위치(710)를 결정할 수 있다. 보다 구체적으로, 제어부(110)는 렌더링의 기준이 되는 관측 위치(710)를 결정할 수 있다. 예를 들어, 3D 가상 장면(200) 내에 위치한 특정 사람이 주인공 역할을 수행하는 3D 게임의 경우, 주인공의 눈을 관측 위치(710)로 결정할 수 있다.
일 실시예에서, 전자 장치(100)는 결정된 관측 위치(710)를 기준으로, 관측 위치(710)에서 관측되는(720) 3D 가상 장면을 렌더링 할 수 있다. 보다 구체적으로, 제어부(110)는 결정된 관측 위치(710)를 기준으로 3D 가상 장면(200)을 렌더링 할 수 있다. 예를 들어, 3D 가상 장면(200) 내에 위치한 주인공의 눈이 관측 위치로 결정된 경우, 주인공의 눈을 기준으로 3D 가상 장면(200)을 렌더링 할 수 있다. 도 7b는 3D 가상 장면(200)의 렌더링의 예시(730)를 도시한다.
따라서, 주인공의 위치가 변화함에 따라 주인공의 시선에서 관측되는 사물의 위치 및 명암의 위치 등이 변화하므로, 렌더링 결과도 달라질 수 있다. 다시 말해, 주인공이 바뀌거나 주인공의 위치가 변화하는 등으로 관측 위치가 변화하는 경우, 렌더링 결과가 달라질 수 있다.
도 8은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
단계 810 내지 단계 850은 전자 장치(100)의 각 구성의 동작에 의해 수행되므로, 단계 810 내지 단계 850에 대한 설명은 도 1 내지 도 7에 대한 설명과 내용이 중복될 수 있다. 따라서 설명의 간단을 위해, 중복되는 내용 중 구체적인 부분에 대한 기재는 생략하기로 한다.
단계 810에서 전자 장치(100)는, 3D 가상 장면(200)을 복수의 격자(240)들을 이용하여 구분할 수 있다.
단계 820에서 전자 장치(100)는, 광원(210)으로부터 방출된 복수의 광선들(310)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체(220, 230)에 입사하는 복수의 제 1 지점(320)들 및 복수의 제 1 지점(320)들을 포함하는 복수의 제 1 격자(410)들의 위치 정보를 획득할 수 있다.
단계 830에서 전자 장치(100)는, 복수의 제 1 지점(320)들에서 반사된 복수의 광선(510)들이 하나 이상의 객체(220, 230)에 입사하는 복수의 제 2 지점(520)들 및 복수의 제 2 지점(520)들을 포함하는 복수의 제 2 격자(610)들의 위치 정보를 획득할 수 있다.
단계 840에서 전자 장치(100)는, 복수의 제 1 격자(410)들의 위치 정보 및 복수의 제 2 격자(610)들의 위치 정보에 기초하여 복수의 격자들 각각의 조도를 결정할 수 있다.
일 실시예에서, 전자 장치(100)는 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트할 수 있다.
단계 850에서 전자 장치(100)는, 결정된 복수의 격자들 각각의 조도에 기초하여 3D 가상 장면(200)을 렌더링 할 수 있다.
도 9는 일 실시예에 따른 3D 가상 장면의 조도 결정 방법을 나타내는 흐름도이다.
단계 910에서 전자 장치(100)는, 광원(210)으로부터 방출된 복수의 광선들(310)이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점(320)들 및 복수의 제 1 지점(320)들을 포함하는 복수의 제 1 격자(410)들의 위치 정보를 획득할 수 있다.
단계 920에서 전자 장치(100)는, 복수의 제 1 지점(320)들에서 반사된 복수의 광선(510)들이 하나 이상의 객체(220, 230)에 입사하는 복수의 제 2 지점(520)들 및 복수의 제 2 지점(520)들을 포함하는 복수의 제 2 격자(610)들의 위치 정보를 획득할 수 있다.
단계 930에서 전자 장치(100)는, 복수의 제 1 격자(410)들의 위치 정보 및 복수의 제 2 격자(610)들의 위치 정보에 기초하여 복수의 격자들 각각의 조도를 결정할 수 있다.
단계 940에서 전자 장치(100)는, 결정된 복수의 격자들 각각의 조도 정보를 저장할 수 있다.
단계 950에서 전자 장치(100)는, 제 2 광원으로부터 방출된 복수의 광선들이 3D 가상 장면(200) 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점(320)들 및 복수의 제 1 지점들을 포함하는 복수의 제 1 격자(410)들의 위치 정보를 획득할 수 있다.
일 실시예에서, 제 2 광원은 제 1 광원과는 별개의 광원일 수 있다. 예를 들어, 제 1 광원은 태양, 제 2 광원은 스탠드가 될 수 있다.
또는, 제 1 광원에서 방출된 광선이 3D 가상 공간(200) 내의 하나 이상의 객체(220, 230)에서 반사되는 경우, 반사되는 지점이 제 2 광원이 되어 광원의 역할을 새롭게 수행할 수 있다.
단계 960에서 전자 장치(100)는, 복수의 제 1 지점(320)들에서 반사된 복수의 광선(510)들이 하나 이상의 객체에 입사하는 복수의 제 2 지점(520)들 및 복수의 제 2 지점(520)들을 포함하는 복수의 제 2 격자(610)들의 위치 정보를 획득할 수 있다.
단계 970에서 전자 장치(100)는, 복수의 제 1 격자(410)들의 위치 정보, 복수의 제 2 격자(610)들의 위치 정보 및 기 저장된 복수의 격자들 각각의 조도 정보에 기초하여, 복수의 격자들 각각의 조도를 재결정할 수 있다.
단계 910 내지 970은 하나 이상의 객체(220, 230)의 특정 위치에서 한 번 반사된 광선들이 하나 이상의 객체(220, 230)의 또 다른 위치로 입사하는 과정까지 다루었지만, 당해 기술 분야에서 통상의 지식을 가진 자는, 광선들이 하나 이상의 객체(220, 230)의 다양한 위치에서 복수 번 반사될 수 있으며, 복수 번 반사되는 동안 3D 가상 장면(200) 내의 복수의 격자들 각각에 축적된 빛을 종합하여 3D 가상 장면(200) 내의 복수의 격자들 각각의 조도를 전자 장치(100)가 재결정(업데이트) 할 수 있다는 점에 대해 용이하게 파악할 수 있을 것이다.
전술한 발명의 설명은 예시를 위한 것이며, 발명이 속하는 기술분야의 통상의 지식을 가진 자는 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
개시의 권리범위는 후술하는 특허청구범위에 의하여 나타내어 질 수 있으며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함될 수 있는 것으로 해석되어야 한다.

Claims (13)

  1. 3D 가상 장면을 렌더링하는 전자 장치에 있어서:
    상기 3D 가상 장면을 복수의 격자들을 이용하여 구분하고, 광원으로부터 방출된(originated) 복수의 광선들이 상기 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사(incident)하는 복수의 제 1 지점들 및 상기 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하고,
    상기 복수의 제 1 지점들에서 반사된 상기 복수의 광선들이 상기 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 상기 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하고,
    상기 복수의 제 1 격자들의 위치 정보 및 상기 복수의 제 2 격자들의 위치 정보에 기초하여 상기 복수의 격자들 각각의 조도를 결정하고, 상기 결정된 복수의 격자들 각각의 조도에 기초하여 상기 3D 가상 장면을 렌더링하는 제어부;
    상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장하는 저장부를 포함하는, 전자 장치.
  2. 제 1 항에 있어서,
    상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나는 광선 추적(ray tracing) 및 래스터화(rasterization) 중 적어도 하나에 의해 획득되는, 전자 장치.
  3. 제 1 항에 있어서,
    상기 제어부는,
    상기 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트하는, 전자 장치.
  4. 제 1 항에 있어서,
    상기 제어부는,
    상기 저장부에 저장된 정보에 기초하여 상기 복수의 격자들의 조도를 결정하는, 전자 장치.
  5. 제 1 항에 있어서,
    상기 제어부는,
    상기 복수의 격자들 각각의 조도를 결정함에 있어서:
    상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하는 격자의 조도를, 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하지 않는 격자의 조도보다 높게 결정하는, 전자 장치.
  6. 제 1 항에 있어서,
    상기 복수의 광선들의 조도는, 상기 복수의 광선들이 상기 하나 이상의 객체에서 반사되는 경우 감소하는 것으로 결정되는, 전자 장치.
  7. 3D 가상 장면을 렌더링하는 방법에 있어서:
    상기 3D 가상 장면을 복수의 격자들을 이용하여 구분하는 단계;
    광원으로부터 방출된 복수의 광선들이 상기 3D 가상 장면 내에 위치한 하나 이상의 객체에 입사하는 복수의 제 1 지점들 및 상기 복수의 제 1 지점들을 포함하는 복수의 제 1 격자들의 위치 정보를 획득하는 단계;
    상기 복수의 제 1 지점들에서 반사된 상기 복수의 광선들이 상기 하나 이상의 객체에 입사하는 복수의 제 2 지점들 및 상기 복수의 제 2 지점들을 포함하는 복수의 제 2 격자들의 위치 정보를 획득하는 단계;
    상기 복수의 제 1 격자들의 위치 정보 및 상기 복수의 제 2 격자들의 위치 정보에 기초하여 상기 복수의 격자들 각각의 조도를 결정하는 단계; 상기 결정된 복수의 격자들 각각의 조도에 기초하여 상기 3D 가상 장면을 렌더링 하는 단계; 및
    상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나를 저장하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 복수의 제 1 지점들의 위치 정보, 상기 복수의 제 1 격자들의 위치 정보, 상기 복수의 제 2 지점들의 위치 정보, 상기 복수의 제 2 격자들의 위치 정보 및 상기 결정된 복수의 격자들 각각의 조도 정보 중 적어도 하나는 광선 추적 및 래스터화 중 적어도 하나에 의해 획득되는, 방법.
  9. 제 7 항에 있어서,
    상기 복수의 격자들 각각의 조도를 결정하는 단계는,
    상기 복수의 격자들 각각의 조도를 기 결정된 시간마다 업데이트하는 단계를 포함하는, 방법.
  10. 제 7 항에 있어서,
    상기 저장된 정보에 기초하여 상기 복수의 격자들의 조도를 결정하는, 방법.
  11. 제 7 항에 있어서,
    상기 복수의 격자들 각각의 조도를 결정하는 단계는:
    상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하는 격자의 조도를, 상기 제 1 격자 및 상기 제 2 격자 중 적어도 하나에 해당하지 않는 격자의 조도보다 높게 결정하는, 방법.
  12. 제 7 항에 있어서,
    상기 복수의 광선들의 조도는, 상기 복수의 광선들이 상기 하나 이상의 객체에서 반사되는 경우 감소하는 것으로 결정되는, 방법.
  13. 제7항 내지 제12항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.
KR1020160170402A 2015-12-09 2016-12-14 3d 가상 장면의 조도를 결정하는 방법 및 장치 KR102555463B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1521698.9A GB2545226A (en) 2015-12-09 2015-12-09 Determining lighting in a 3D virtual scene
GB1521698.9 2015-12-09

Publications (2)

Publication Number Publication Date
KR20170072151A true KR20170072151A (ko) 2017-06-26
KR102555463B1 KR102555463B1 (ko) 2023-07-17

Family

ID=55234646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160170402A KR102555463B1 (ko) 2015-12-09 2016-12-14 3d 가상 장면의 조도를 결정하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10510184B2 (ko)
KR (1) KR102555463B1 (ko)
GB (1) GB2545226A (ko)
WO (1) WO2017099557A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582399B2 (en) * 2018-03-09 2023-02-14 Northwestern University Adaptive sampling for structured light scanning
CN115082611B (zh) * 2022-08-18 2022-11-11 腾讯科技(深圳)有限公司 光照渲染方法、装置、设备和介质
CN115790840B (zh) * 2023-02-10 2023-04-28 济宁市质量计量检验检测研究院(济宁半导体及显示产品质量监督检验中心、济宁市纤维质量监测中心) 一种手术无影灯照度测试装置及方法
CN118691730A (zh) * 2023-03-21 2024-09-24 腾讯科技(深圳)有限公司 虚拟场景的光照更新方法、装置、设备、介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130085941A (ko) * 2010-04-01 2013-07-30 시리얼 테크놀로지즈 에스.에이. 홀로그래픽 시스템에서 투명 물체를 포함한 3차원 장면을 인코딩하는 방법 및 장치
JP2014182719A (ja) * 2013-03-21 2014-09-29 Yasuaki Iwai 仮想現実提示システム、仮想現実提示方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254583A (ja) * 1987-04-10 1988-10-21 Matsushita Electric Ind Co Ltd 光線追跡画像生成装置
US6333742B1 (en) * 1997-05-07 2001-12-25 Sega Enterprises, Ltd. Spotlight characteristic forming method and image processor using the same
US8411088B2 (en) 2000-06-19 2013-04-02 Nvidia Corporation Accelerated ray tracing
US7859530B2 (en) * 2003-04-30 2010-12-28 Pixar Subsurface rendering methods and apparatus
EP1899896A2 (en) 2005-06-23 2008-03-19 Mental Images GmbH Real-time precision ray tracing
US7884819B2 (en) 2006-09-27 2011-02-08 International Business Machines Corporation Pixel color accumulation in a ray tracing image processing system
KR101536197B1 (ko) * 2008-02-27 2015-07-13 삼성전자주식회사 3차원 영상 프로세서 및 프로세싱 방법
US8542231B2 (en) * 2009-06-29 2013-09-24 Crytek Gmbh Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene
KR20110099412A (ko) 2010-03-02 2011-09-08 삼성전자주식회사 반사맵 및 굴절맵을 이용한 레이 트레이싱 기법에 따른 랜더링 장치 및 방법
KR101080508B1 (ko) 2011-09-14 2011-11-04 인하대학교 산학협력단 다단계 점진적 포톤 매핑 방법
KR20140013292A (ko) 2012-07-23 2014-02-05 엘지전자 주식회사 레이 트레이싱 연산 시스템
CN104658033B (zh) * 2013-11-18 2017-06-20 华为技术有限公司 多光源下的全局光照绘制方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130085941A (ko) * 2010-04-01 2013-07-30 시리얼 테크놀로지즈 에스.에이. 홀로그래픽 시스템에서 투명 물체를 포함한 3차원 장면을 인코딩하는 방법 및 장치
JP2014182719A (ja) * 2013-03-21 2014-09-29 Yasuaki Iwai 仮想現実提示システム、仮想現実提示方法

Also Published As

Publication number Publication date
US20180365886A1 (en) 2018-12-20
GB2545226A (en) 2017-06-14
GB201521698D0 (en) 2016-01-20
WO2017099557A2 (ko) 2017-06-15
US10510184B2 (en) 2019-12-17
KR102555463B1 (ko) 2023-07-17
WO2017099557A3 (ko) 2018-03-08

Similar Documents

Publication Publication Date Title
KR20170072151A (ko) 3d 가상 장면의 조도를 결정하는 방법 및 장치
KR101930657B1 (ko) 몰입식 및 대화식 멀티미디어 생성을 위한 시스템 및 방법
JP6203406B2 (ja) 拡張現実環境内の平面の広がりを判定するためのシステムおよび方法
KR102223064B1 (ko) 영상 처리 장치 및 방법
EP2869273B1 (en) Ray tracing method and apparatus
CN107077756B (zh) 三维对象可视化方法、可视化装置、计算机可读存储介质
KR102493461B1 (ko) 렌더링 시스템 및 방법
CN106558090B (zh) 3d渲染和阴影信息存储方法和设备
BR102014027057A2 (pt) método e aparelho para gerar mapa de profundidade de uma cena
US20180061069A1 (en) Image processing apparatus, generation method, and non-transitory computer-readable storage medium
KR102433857B1 (ko) 혼합 현실에서 동적 가상 콘텐츠들을 생성하기 위한 디바이스 및 방법
US8867789B2 (en) Systems and methods for tracking an object in a video
KR102137263B1 (ko) 영상 처리 장치 및 방법
KR102101834B1 (ko) 영상 처리 장치 및 방법
KR20150039494A (ko) 광선 추적 가속 방법 및 장치
CN109035423B (zh) 一种房屋的虚拟三维模型的楼层分割方法及装置
KR102250254B1 (ko) 영상 처리 방법 및 장치
CN108205819A (zh) 用于通过复杂照明下路径追踪进行场景渲染的设备及方法
US20150091894A1 (en) Method and apparatus for tracing ray using result of previous rendering
JP2015184061A (ja) 抽出装置、方法及びプログラム
US20160147218A1 (en) Computing device and method for outputting programs of a workpiece
EP3343513A1 (en) Device and method for generating flexible dynamic virtual contents in mixed reality
JP6701195B2 (ja) 映像処理のための映像処理装置、方法及び記録媒体
JP2015515058A (ja) シーン内の関与媒質を表現する方法および対応する装置
US20150130798A1 (en) Rasterization in graphics processing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant