KR20120034024A - 가상 환경의 한 지점에 수신된 광량의 평가 방법 - Google Patents
가상 환경의 한 지점에 수신된 광량의 평가 방법 Download PDFInfo
- Publication number
- KR20120034024A KR20120034024A KR1020110099026A KR20110099026A KR20120034024A KR 20120034024 A KR20120034024 A KR 20120034024A KR 1020110099026 A KR1020110099026 A KR 1020110099026A KR 20110099026 A KR20110099026 A KR 20110099026A KR 20120034024 A KR20120034024 A KR 20120034024A
- Authority
- KR
- South Korea
- Prior art keywords
- point
- points
- group
- virtual environment
- groups
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 광원(10)에 의해 비추어지며 각각이 적어도 하나의 제1 지점을 포함하는 복수의 그룹을 구성하는 복수의 제1 지점을 포함하는 가상 환경(1)의 지점 P(43)에서 수신된 광량을 평가하는 방법에 관한 것이다. 필요한 계산 시간을 최소화하면서 디스플레이를 개선하기 위해, 상기 방법은, 각 그룹에 대해 수신된 입사 광량을 평가하는 단계; 시점(40)으로부터 보이는 가상 환경의 지점들들 적어도 일부를 그룹화하며 상기 지점 P(43)를 포함하는 표면을 평가하는 단계; 상기 표면과 연관된 적어도 하나의 폐색 정보 항목에 따라서 상기 광원(10)으로부터 수신된 입사광의 반사에 의한 상기 지점 P(43)의 조명에 기여하는 상기 복수의 그룹 중 적어도 제1 그룹(321, 351)을 평가하는 단계; 및 상기 적어도 하나의 제1 그룹과 연관된 적어도 하나의 반사율 정보 항목에 따라서 상기 적어도 하나의 제1 그룹(321, 351)에 의해 수신된 입사 광량으로부터 상기 지점 P(43)에 의해 수신된 광량을 평가하는 단계를 포함한다.
Description
본 발명은 영상 합성 분야에 관한 것으로, 특히 가상 환경 내에서의 광 반사를 고려한 가상 환경의 전역 조명의 평가와 시뮬레이션 분야에 관한 것이다. 본 발명은 또한 라이브 합성(live composition)을 위한 특수 효과의 맥락에서 이해될 수 있다.
종래, 가상 환경의 전역 조명(global illumination)을 시뮬레이트하는 여러 가지 방법이 존재하며, 이들 방법은 3가지 주요 그룹으로 나뉘어질 수 있다. 첫 번째 그룹의 방법은 가상 환경(장면이라고도 함)을 매우 작은 요소로 분해하는 것과, 요소 쌍들의 2개 요소 간의 에너지 전달의 평가에 바탕을 두고 있다. 라디오시티(radiosity)라고 하는 이러한 방법들은 일반적으로 상당한 메모리 용량을 필요로 하며 요소들에 대해 많은 가시성 테스트를 실시해야 하는데, 이는 고도의 계산 능력을 요하는 것이다. 두 번째 그룹의 방법은 광자 매핑 기법 또는 광선 추적법 또는 이 둘을 이용하여 광선들이 따라가는 현재 경로를 추적하기 위한 광선 추적에 바탕을 두고 있다. 세 번째 그룹의 방법은 장면을 보는 관측자의 시점에 따라서 장면으로부터의 가시적 객체(visible object)들의 거리들에 대한 정보만을 고려하는 스크린 공간에서의 근사화에 바탕을 두고 있다. 후자의 방법들은 필터링 기법을 이용하여 인접한 가시 지점들 간의 에너지 전달을 평가한다. 이들 후자의 방법은 비교적 빠른 장점이 있으나 그 결과가 조잡하다.
특히 3D 대화식 시뮬레이션 게임과 애플리케이션이 출현함에 따라 고품질의 사실적인 빠른 전역 조명 평가를 제공하는 라이브 시뮬레이션 방법이 요구되고 있다.
본 발명의 목적은 상기 종래 기술 상의 단점들 중 적어도 한 가지를 해소하는 것이다.
특히 본 발명의 목적은 가상 환경을 구성하는 객체에서의 광의 반사를 고려하여 가상 환경에서의 광 확산의 생생한 사실적 표시를 합성하는데 필요한 계산 시간 및/또는 계산 능력을 최적화하는 것이다.
본 발명은 가상 환경의 한 지점 P에서 수신된 광량을 평가하는 방법에 관한 것으로 - 상기 가상 환경은 광원에 의해 비추어지는 복수의 제1 지점을 포함하고, 상기 제1 지점들은 각각이 적어도 하나의 제1 지점을 포함하는 복수의 그룹을 형성함 -, 상기 방법은,
각각의 그룹에 대해 수신된 입사 광량을 평가(estimate)하는 단계;
시점으로부터 보이는 가상 환경의 지점들들 적어도 일부를 그룹화하는 표면을 평가하는 단계 - 상기 표면은 상기 지점 P를 포함함 -;
상기 표면과 연관된 적어도 하나의 폐색 정보 항목에 따라서 상기 광원으로부터 수신된 입사광의 반사에 의한 상기 지점 P의 조명에 기여하는 상기 복수의 그룹 중 적어도 제1 그룹을 평가하는 단계; 및
상기 적어도 하나의 제1 그룹과 연관된 적어도 하나의 반사율 정보 항목에 따라서 상기 적어도 하나의 제1 그룹에 의해 수신된 입사 광량으로부터 상기 지점 P에 의해 수신된 광량을 평가하는 단계
를 포함한다.
특정한 특징에 따라서, 상기 방법은 각각의 제1 지점에 대해서, 각각의 제1 지점을 그 인접 영역의 복수의 제1 지점으로부터 분리하는 거리들의 평균을 나타내는 값을 평가하는 단계를 더 포함하고, 상기 제1 지점들은 상기 평가된 값들에 따라서 상기 그룹들로 그룹화되고, 제1 지점들의 위치와 배향을 나타내는 정보와, 상기 그룹의 배향을 나타내는 배향 정보 항목과, 상기 그룹의 위치를 나타내는 위치 정보 항목은 각각의 그룹과 연관된다.
바람직하게는, 상기 방법은
각각의 제1 지점에 대해서, 각각의 제1 지점을 그 인접 영역의 복수의 제1 지점으로부터 분리하는 거리들의 평균을 나타내는 값을 평가하는 단계;
상기 제1 지점들을 상기 평가된 값들에 따라서 복수의 제2 그룹으로 그룹화하는 단계 - 제1 지점들의 위치와 배향을 나타내는 정보와, 상기 제2 그룹의 배향을 나타내는 배향 정보 항목과, 상기 제2 그룹의 위치를 나타내는 위치 정보 항목이 각각의 제2 그룹과 연관됨 -; 및
상기 제2 그룹들의 배향 및 위치 정보에 따라서 상기 제2 그룹들을 재그룹화함으로써 상기 그룹들을 생성하는 단계
를 더 포함한다.
특정한 특징에 따라서, 상기 제1 지점들의 위치를 나타내는 정보는 입사 방향들에 따라서 상기 광원을 상기 제1 지점들로부터 분리하는 제1 거리들의 평가에 의해 얻어지고, 상기 평가된 제1 거리들은 상기 가상 환경과 및 상기 광원과 연관된 섀도 맵에 저장된다.
바람직하게는, 상기 방법은 상기 시점과 상기 시점으로부터 보이는 환경의 상기 지점들을 분리하는 제2 거리들을 평가하는 단계를 더 포함하고, 상기 평가된 제2 거리들은 상기 가상 환경 및 상기 시점과 연관된 깊이 맵에 저장되고, 상기 평가된 제2 거리들로부터 상기 적어도 하나의 폐색 정보 항목이 얻어진다.
본 발명의 여러 가지 특징과 이점들은 첨부 도면을 참조한 하기의 상세한 설명으로부터 더 잘 이해될 것이다.
도 1a는 본 발명의 특정 실시예에 따른, 광원에 의해 조명된 가상 환경을 보여주는 도면.
도 1b는 본 발명의 특정 실시예에 따른, 도 1a의 가상 환경과 광원에 연관된 섀도 맵을 보여주는 도면.
도 2 및 3은 본 발명의 2가지 특정 실시예에 따른, 도 1의 가상 환경에서의 간접 발광기 지점들의 그룹화를 보여주는 도면.
도 4a 및 5는 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 보여주는 도면.
도 4b는 본 발명의 특정 실시예에 따른, 도 1 및 4a의 가상 환경과 연관된 도 4a의 시점에서의 섀도 맵을 보여주는 도면.
도 6은 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 구현하는 장치를 도시한 도면.
도 7은 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 보여주는 도면.
도 1a는 본 발명의 특정 실시예에 따른, 광원에 의해 조명된 가상 환경을 보여주는 도면.
도 1b는 본 발명의 특정 실시예에 따른, 도 1a의 가상 환경과 광원에 연관된 섀도 맵을 보여주는 도면.
도 2 및 3은 본 발명의 2가지 특정 실시예에 따른, 도 1의 가상 환경에서의 간접 발광기 지점들의 그룹화를 보여주는 도면.
도 4a 및 5는 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 보여주는 도면.
도 4b는 본 발명의 특정 실시예에 따른, 도 1 및 4a의 가상 환경과 연관된 도 4a의 시점에서의 섀도 맵을 보여주는 도면.
도 6은 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 구현하는 장치를 도시한 도면.
도 7은 본 발명의 특정 실시예에 따른, 도 1의 가상 환경에서의 특정 지점에서 수신된 광량의 평가 방법을 보여주는 도면.
도 1은 광원(10)에 의해 조명된 가상 환경 또는 가상 장면(1)을 보여준다. 광원(10)이 공급하는 광은 광 원뿔(101)을 구성한다. 가상 환경(1)은 당업자에게 잘 알려져 있는 방법에 따라, 예컨대, 모델이 다각형을 구성하는 정점과 모서리의 리스트로 정해지는 다각형 세트와 동질화(assimilate)되는 다각형 모델링법과, 모델이 제어 꼭지점을 통해 생성된 곡선 세트로 정해지는 NURBS(Non uniform rational basic spline)형 곡선 모델링, 표면 세분에 의한 모델링에 의해 모델링된 하나 또는 몇 개의 가상 객체(12, 13, 14, 15)를 포함한다. 가상 객체는 실제 환경을 구성하는 (실제 또는 가공의) 객체(예컨대, 지면, 집 또는 집 정면, 차, 나무, 즉, 집, 거리, 시내, 시골 등의 일부와 같은 환경을 구성하는 요소)의 (모델링에 의해 얻어지는) 가상 표현, 즉 가공(imaginary)이다. 가상 환경의 각각의 객체(12, 13, 14, 15)는 이를 덮는 표면에 의해 특징지워지는데, 각 객체의 표면은 (하나 또는 몇 개의 방향에서 그 표면에 의해 반사되는 입사광의 비율에 대응하는) 고유의 반사 특성을 가지고 있다. 바람직하게는 객체의 표면 반사율은 광을 반사하는 객체 구역(하나 또는 몇 개의 표면 지점을 포함하는 표면 구역)에 따라 변한다. 즉, 객체의 표면 반사율은 일정치 않다. 일 변형으로서, 객체의 표면 반사율은 객체의 표면의 임의의 지점에서 일정하다. 따라서 객체(12)는 광원(10)으로부터 많은 입사광을 수신하며, 이 입사광은 광원(10)이 비추는 지점들(121 내지 12i)에 의해 반사된다. 이 지점들(121 내지 12i)은 특이 지점들에, 또는 일 변형으로서, 각각이 몇 개의 지점(예컨대 5, 10 또는 20개 지점)을 포함하는 표면 요소들에 대응한다. 도 1의 설명 중 나머지 부분에서, 표면 지점은 단일 지점과 표면 요소 모두를 지정한다. 동일한 방식으로 객체(13)는 광원(10)으로부터 많은 입사광을 수신하며, 이 입사광은 광원(10)이 비추는, 각각이 단일 지점 또는 표면 요소에 대응하는 지점들(131 내지 13i)에 의해 반사된다. 객체(15)도 각각이 단일 지점 또는 표면 요소에 대응하는 지점들(151 내지 15i)에 의해 반사되는 많은 입사광을 수신한다. 각 지점(121 내지 12i, 131 내지 13i, 151 내지 15i)과 연관된 표면 요소에 대한 법선은 흑색의 화살표로 나타낸다. 광을 반사하는 각 표면 요소의 법선에 상대적인 정보는 주어진 방향에 따라 반사된 광량을 평가하는데 유용하다.
일 변형으로서, 가상 환경(1)은 복수의 광원, 예컨대 100, 1000, 100000 또는 1000000개의 광원에 의해 비추어진다.
제1 실시예에 따라, "세계 공간(world space)"이라 불리는 가상 환경 공간에서 광원(10)이 비추는 제1 지점들이라 불리는 지점들의 위치를 찾아내는 것이 이뤄지는데, 이 위치는 세계 공간에서 기하학적 좌표로 나타낸다. 이 정보는, 제1 지점들과 연관된 반사율 정보 및 제1 지점들과 연관된 표면 요소의 법선에 대한 정보와 함께, GPU와 연관된 메모리에 기록된 표(table)들로 구성된 데이터 구조에 기록된다. 이 기록들은 각각 반사율 기록, 법선 기록 및 위치 기록이라 불린다. 이 기록들에 의해 가상 환경(1)의 제1 지점 세트가 참조될 수 있으며, 상기 제1 지점들은 광원(10)으로부터의 광을 광원이 비추거나 비추지 않는 가상 환경의 다른 지점들로 반사시킬 수 있다. 표면(S)은 제1 지점 세트의 지점들을 서로 연결함으로써 정해진다.
제2 실시예에 따라서, 가상 환경(1)은 광원(10)으로부터 보이는 대로 표시된다. 광원(10)으로부터 보이는 가상 환경(1)을 나타내는 정보는 섀도 맵(11)에 저장된다. 섀도 맵은 바람직하게는 가상 환경(1)의 각각의 제1 지점에 대해 고려되는 제1 지점으로부터 광원(10)을 분리시키는 거리를 나타내는 정보 항목을 포함한다. 도 1b는 본 발명의 특정 실시예에 따른, 그와 같은 섀도 맵(11)을 보여준다. 거리를 나타내는 정보는 벡터(1100 내지 110i)로 표현되는데, 그 노름(norm)은 광원과 고려되는 비춰진 지점 간의 거리와 같다. 따라서 섀도 맵은 광원(10)에 의해 형성되며 광원(10)의 주 조명 방향에 수직인 표면에 투사되는 가상 환경(1)의 제1 지점과 연관된 복수의 지점으로 구성된다. 거리 광원/제1 지점을 나타내는 정보 항목은 섀도 맵에 대응하는 각 지점과 연관된다. 거리를 나타내는 벡터에 의해 구성된 섀도 맵의 각 지점을 연결함으로써 광원(10)으로부터 보이는 바와 같은 환경의 제1 지점들의 세트를 나타내는 표면(S')이 얻어진다. 이 표면(S')은 표면(S)처럼 환경의 제1 지점들의 세트, 즉 광원(10)이 비추는 가상 환경의 지점들을 나타낸다. 또한 표면(S)과 똑 같이 가상 환경의 지점 세트를 나타내는 이 표면(S')은 광원(10)으로부터의 광을 광원이 비추거나 비추지 않는 다른 지점으로 반사시킬 수 있다. 바람직하게는, 거리를 나타내는 정보이외에도, 각 제1 지점과 연관된 표면 요소의 반사율을 나타내는 정보, 섀도 맵의 공간에서 제1 지점의 위치에 대한 정보, 및 각 제1 지점과 연관된 표면 요소에서의 법선에 대한 정보가 섀도 맵(11)에 저장된다. 따라서 표면(S')은 섀도 맵의 공간에서의 표면(S)의 표현에 대응한다. 섀도 맵을 이용하면 가상 환경이 수신한 광량의 평가에 필요한 계산을 줄일 수 있고, 따라서 가상 환경의 지점이 수신한 광량을 평가하는데 필요한 계산을 줄일 수 있는 이점이 있다. 섀도 맵 덕분에, 가상 환경의 지점이 광원(10)에 의해 비추어지는지 여부를 알기 위해서는 이 지점을 광원(10)으로부터 분리하는 거리와 이것이 속하는 입사 방향을 알기만 하면 충분하다. 따라서 이 지점에 의해 형성된 라인과, 한 쪽의 광원과 다른 쪽의 가상 환경의 객체들 간의 교차를 계산할 필요가 없어 필요한 계산을 줄일 수 있다.
도 2는 제1 지점들이 지점 그룹으로 그룹화되고, 따라서 지점 그룹들이 광원(10)이 비추는 몇 개의 지점을 포함하고 수신된 입사광을 반사시킬 수 있는, 도 1에 나타낸 가상 환경(1)을 보여준다. 그와 같은 제1 지점의 그룹화는 전역 조명의 평가에 필요한 계산을 줄일 수 있는 이점이 있다. 실제로, 가상 환경(1)의 전역 조명의 평가를 위해서, 가상 환경의 각 제1 지점을 가상 환경의 하나 또는 몇 개의 다른 지점을 간접적으로 비출 수 있는 간접 광원으로 생각한다. 그와 같은 반사의 계산은 입사 광원의 수가 증가함에 따라 계산 능력 및/또는 시간편에서 볼 때 자원이 더욱 많이 소모된다. 간접 조명은 표면에 걸쳐서 아주 약간 변한다는 점과 표면에 걸친 이런 조명 변화가 이웃한 표면들에 대한 거리에 직접적으로 관계있다는 점을 고려하면, 지점들을 일관성있게 그룹화하며 가상 환경(1)의 조명 품질을 그대로 유지함으로써 입사광을 반사시키는 광원의 수를 줄일 수 있다. 간접 광원의 각각에 대해, 즉 수신된 입사광을 반사시키는 광원의 각각에 대해, 즉 표면(S)의 (또는 섀도 맵의 공간 내에 있다면 표면(S')의) 각각의 제1 지점에 대해, 고려되는 광원을 둘러싸는 표면(S)(각각 S')의 제1 지점들까지의 평균 거리가 평가된다. 이를 위해 그리고 계산을 더 빨리하기 위해 표면(S)(각각 S')에 속하는 간접 광원 인근의 제1 지점들은 세계 공간에서(각각 섀도 맵의 공간에서) 샘플링된다. 그런 다음에, 그들의 상대 위치에 기초하여, 고려되는 간접 광원과 이웃한 제1 지점들 간의 평균 거리가 계산된다. 임계치보다 작은 간접 광원으로부터의 거리, 예컨대 25cm, 50cm 또는 1m보다 작은 거리에 위치한 표면(S)(각각 S')에 속하는 제1 지점들의 세트는 간접 광원의 인근으로 이해된다. 다른 예에 따라서, 간접 광원상의 인근은 간접 광원을 원점으로 갖고 있고 간접 광원 위에, 즉 간접 광원과 연관된 표면 요소 위에 반구를 구성하는 방향 세트로 정의된다. 따라서, 반구를 구성하는 방향들 중 하나가 표면(S)(각각 S')의 제1 지점을 만날 때 이 제1 지점과 간접 광원 간의 거리가 계산된다. 바람직하게는, 이렇게 계산된, 임계치(예컨대(25cm, 50cm 또는 1m)보다 큰 거리는 간접 광원과 인근의 제1 지점들 간의 평균 거리의 평가에 고려되지 않는다. 일단 평균 거리가 고려되면, 표면(S)(또는 S')에 속하는 간접 광원 지점을 둘러싸는 제1 지점들은 함께 그룹화되고, 고려되는 간접 광원 지점과 함께 그룹화된 제1 지점들은 주어진 임계치보다 작은(예컨대 평균 거리의 0배(0은 포함하지 않음)와 1배 사이에 포함된 거리보다 작은) 간접 광원으로부터의 거리에 위치한 것들이다. 가상 환경(1)의 제1 지점들을 그룹화한 지점들의 그룹은 바람직하게는 간접 광원 지점을 중심으로 하고 고려되는 간접 광원으로부터의 인근의 제1 지점들의 평균 거리에 비례하는 값을 반경으로 하는 디스크(221 내지 22i, 231 내지 23i, 또는 251 내지 253)로 나타낸다. 이러한 동작은 바람직하게는 각각의 제1 지점에 대해, 즉 가상 환경(1)의 간접 광원 지점의 각각에 대해, 간접 광원 디스크들을 형성하는 지점들의 그룹들의 세트가 형성될 때까지 반복되며, 그러면 디스크의 수는 제1 지점들의 수와 같다. 일 변형에 따라서, 이러한 동작은 제1 지점들의 수만큼, 즉 가상 환경의 간접 광원 지점들의 수만큼 반복된다. 이 변형에 따라서, 디스크들의 수는 제1 지점들의 수보다 작다. 이 변형에 따라서, 예컨대 10 내의 하나의 제1 지점이 택해지고, 이 변형에서 선택된 제1 지점들은 예컨대 표면(S)(또는 S') 상에 균일하게 퍼진다. 이러한 간접 광원 디스크들을 광 원뿔(10)로 구성되며 광원(10)의 주 조명 방향에 수직인 표면 위에 투사함으로써 간접 광(21)을 방출하는 디스크 맵이 얻어진다. 각 디스크와 연관된 반사 특성은 바람직하게는 그 디스크에 속하는 제1 지점들의 반사율 평균에 대응한다.
일 변형에 따라서, 지점 그룹의 구성은 디스크와 다르며, 예컨대 정방형 표면, 직사각형 표면, 타원형 표면 또는 임의의 기하학적 형태의 표면이다.
도 3은 지점들의 그룹들(또는 디스크들)이 제2 지점들의 그룹들로 그룹화되고, 따라서 이 제2 지점들의 그룹들이 몇 개의 제1 지점들의 그룹을 포함하는, 도 2에 도시된 가상 환경(1)을 보여준다. 그와 같은 지점 그룹화는 전역 조명의 평가에 필요한 계산을 훨씬 더 많이 줄일 수 있는 이점이 있다.
제1 실시예에 따라서, 제2 지점 그룹의 구성은 다음과 같이 실시된다. 발광기 디스크 맵(the map of emitter disc) 중 제1 디스크가 선택된다. 선택된 디스크를 둘러싸는 디스크들을 하나씩 테스트하여 이들이 제1 디스크와 함께 그룹화되어야 하는지를 확인한다. 다음 조건을 충족하면 제1 디스크(또는 지점 그룹)에 디스크(또는 지점 그룹)가 추가된다.
- 추가될 디스크의 위치는 임계치보다 작은 제1 디스크 중심으로부터의 거리, 예컨대 제1 디스크의 반경의 2배 또는 3배에 있고,
- 추가될 디스크의 배향(orientation)이 제1 디스크의 배향과 지나치게 크게 다르지는 않다.
만일 추가될 디스크가 상기 조건을 충족하지 못하면 이 디스크는 제1 디스크에 추가되지 않는다. 디스크가 상기 조건을 충족한다면 이 디스크는 제1 디스크에 추가되고, 함께 그룹화된 2개의 디스크는 제2 그룹을 구성하는데, 이 때에 제2 그룹의 중심은 제2 그룹을 구성하는 2개의 디스크의 무게 중심에 대응한다. 그 다음, 다른 디스크를 테스트하여 이 디스크가 상기 제2 그룹에 추가되어야 하는지를 알아낸다. 제1 디스크에 가깝고 상기 조건을 충족하는 모든 디스크가 제2 그룹에 추가되고 나면, 제2 그룹에 속하지 않는 발광기의 캡(cap)으로부터의 다른 디스크를 선택하고, 이어서 그 주위의 디스크들을 테스트하여 추가하여 다른 제2 그룹을 구성한다. 이렇게 단계적으로 발광기 디스크 맵 중의 모든 디스크가 테스트되어 제2 그룹으로 그룹화된다. 그러면 새로 구성된 제2 그룹은 다음과 같이 정의된다.
- 제2 그룹의 중심과 배향은 제2 지점 그룹(321)을 구성하는 지점 그룹(또는 디스크)(231 내지 235)의 중심과 배향의 평균에 대응하고,
- 제2 지점 그룹의 반경은 제2 그룹에 추가된 모든 디스크(또는 지점 그룹)을 포함하도록 선택되고,
- 제2 지점 그룹의 반사율은 바람직하게는 이 제2 지점 그룹을 구성하는 디스크들(또는 지점 그룹들) 각각의 반사율의 가중 평균에 대응한다. 여기서 가중은 예컨대 지점 그룹의 크기에 관계가 있다(예컨대 지점 그룹이 디스크인 경우에는 그 반경에 따른다).
이렇게 하여, 제2 지점 그룹 D1(321)은 디스크(231 내지 235)를 그룹화하며, 이 제2 지점 그룹(321)의 무게중심은 지점(32)으로 나타내고, 제2 지점 그룹 D2(331)는 디스크(236 내지 23i)를 그룹화하며, 이 제2 지점 그룹(331)의 무게중심은 지점(33)으로 나타낸다. 제2 지점 그룹 D3(341)은 디스크(251 내지 253)를 그룹화하며, 이 제2 지점 그룹(341)의 무게 중심(barycentre)은 지점(34)으로 나타낸다. 제2 지점 그룹 D4(351)는 디스크(223 내지 22i)를 그룹화하며, 이 제2 지점 그룹(351)의 무게중심은 지점(35)으로 나타낸다. 제2 지점 그룹 D5(361)는 디스크(221 및 222)를 그룹화하며, 이 제2 지점 그룹(361)의 무게중심은 지점(36)으로 나타낸다.
제2 실시예에 따라서, 그와 같은 그룹화를 위해서 간접 광 발광기 디스크의 맵은 각각이 몇 개의 제1 지점 디스크를 포함하는 복수의 구역으로 세분된다. 그 목적은 각 구역에 대해 고려되고 있는 구역의 하나 또는 몇 개의 제1 지점 디스크를 그룹화하는 고유의 제2 지점 그룹(321, 331, 341, 351, 361)을 얻는 것이다. 각 구역에서는 이 구역에 속하는 발광기 디스크 맵 중의 제1 디스크(예컨대 디스크(231))가 선택된다. 그 다음에, 이 구역의 디스크(232 내지 235)가 제1 디스크(231)에 추가되어야 하는지 여부를 판단하기 위해, 그룹화 규칙이 정의되는데, 이 규칙은 이하의 조건이 충족된다면 제1 지점 그룹(또는 디스크)이 제1 디스크에 추가되어 고려되는 구역의 제2 지점 그룹을 구성할 수 있다는 것을 규정한다.
- 추가될 지점 그룹(또는 디스크)의 위치는 임계치보다 작은 제2 그룹의 중심으로부터의 거리, 예컨대 제1 디스크의 반경의 2배 또는 3배에 있고,
- 추가될 지점 그룹의 배향이 제1 디스크의 배향과 지나치게 크게 다르지는 않다.
추가될 디스크(또는 제1 지점 그룹)가 이 규칙을 충족하지 않으면 제1 지점 그룹은 고려되고 있는 구역에서 삭제된다.
추가될 지점 그룹(예컨대 232)이 이 규칙을 충족한다면 제2 지점 그룹(예컨대 321)은 그 구역의 제1 디스크(231)의 기여에 더하여 추가될 디스크(또는 지점 그룹)(232)의 기여를 포함하도록 변경된다. 고려되고 있는 구역의 디스크 세트(231 내지 235)에 대한 상기 규정된 규칙의 테스트 종료 시에는 이와 같이 형성된 제2 지점 그룹에 대해 다음과 같은 것이 얻어진다.
- 제2 그룹의 중심과 배향은 제2 지점 그룹(321)을 구성하는 지점 그룹(231 내지 235)의 중심과 배향의 평균에 대응하고,
- 제2 지점 그룹의 반경은 제2 그룹에 추가된 모든 지점 그룹을 포함하도록 확장되고,
- 추가될 지점 그룹(231)의 반사율은 제2 지점 그룹의 반사율의 평가에 고려된다. 제2 지점 그룹을 구성하기 위한 제1 지점 그룹의 그룹화의 종료 시에는 제2 지점 그룹의 반사율은 바람직하게는 제2 지점 그룹을 구성하는 지점 그룹들 각각의 반사율의 가중 평균에 대응한다. 여기서 가중은 예컨대 그룹의 크기에 관계가 있다(예컨대 지점 그룹이 디스크인 경우에는 그 반경의 함수이다).
발광기 디스크들의 맵을 몇 개의 구역으로 세분하는 것은 제2 지점 그룹의 수를 시작부터 정의할 수 있고 어느 디스크(또는 지점 그룹)가 특정의 제2 지점 그룹을 구성할 가능성이 큰지를 확인할 수 있다는 이점이 있다. 특히 이러한 세분에 따라서 디스크를 제2 지점 그룹으로 그룹화하는데 필요한 계산을 간단하게하면서 그러한 그룹화 가능성을 제한할 수 있다. 발광기 디스크들의 맵의 세분 구역의 수는 예컨대 사용자가 조정하고 선정할 수 있는 파라미터이다.
이렇게 하여, 제2 지점 그룹 D1(321)은 디스크(231 내지 235)를 그룹화하며, 이 제2 지점 그룹(321)의 무게중심은 지점(32)으로 나타내고, 제2 지점 그룹 D2(331)는 디스크(236 내지 23i)를 그룹화하며, 이 제2 지점 그룹(331)의 무게중심은 지점(33)으로 나타낸다. 제2 지점 그룹 D3(341)은 디스크(251 내지 253)를 그룹화하며, 이 제2 지점 그룹(341)의 무게중심은 지점(34)으로 나타낸다. 제2 지점 그룹 D4(351)는 디스크(223 내지 22i)를 그룹화하며, 이 제2 지점 그룹(351)의 무게중심은 지점(35)으로 나타낸다. 제2 지점 그룹 D5(361)는 디스크(221 및 222)를 그룹화하며, 이 제2 지점 그룹(361)의 무게중심은 지점(36)으로 나타낸다.
도 4a 및 5는 본 발명의 특정 실시예에 따른, 광원(10)이 비추는 가상 환경(1)의 객체들(12, 13, 15)이 수신하는 입사광의 반사를 고려하여 가상 환경(1)의 지점(43)에서 수신된 광량을 평가하는 방법을 보여준다.
도 4a는 어떤 시점(40), 예컨대 가상 환경(1)의 관측자로부터 본, 도 1의 가상 환경(1)을 보여준다. 도 4a의 예에 따라서 관측자(40)는 관측 방향(42)에 따라 가상 환경(1)의 지점 P(43)를 보는데, 이 지점 P(43)는 관측 방향(42)과, 이 관측 방향이 만나는, 시점(40)을 원점으로 하는 가상 환경(1)의 제1 객체, 즉 객체(14) 간의 교차에 대응한다. 시점(40)으로부터 가상 환경(1)을 표시하기 위해, 광원(10)으로부터 수신된 광량과 가상 환경(1)의 제1 지점에 의해 반사된 광량을 포괄하는, 지점 P(43)에 의해 수신된 광량은 광원(10)으로부터 수신된 광의 반사에 의한 지점 P의 간접 조명에 관여한다. 이를 위해 시점(40)으로부터 볼 수 있는 가상 환경(1)의 모든 지점을 그룹화하는 표면(S1)이 정의된다. 그 다음에, 이들 제1 지점에 의해 수신된 입사광의 반사에 의한 지점 P(43)의 간접 조명에 관여하는 가상 환경(1)의 제1 지점들이 표면(S1)과 연관된 폐색(occlusion) 정보 항목으로부터 정의된다. 이를 위해 가상 환경의 제1 지점 각각에 대해, 고려되는 제1 지점을, 이 고려되는 제1 지점을 원점으로 하는 지점 P(43)에 연결시키는 라인에 의해 정의된 방향이 표면(S1)과 교차하는지 여부가 평가된다. 이 정의된 방향이 표면(S1)과 교차한다면 폐색이 있는 것이고, 고려되는 제1 지점은 지점 P(43)의 간접 조명에 기여하는 제1 지점의 일부가 아니다. 반대의 경우에, 즉 이 정의된 방향이 표면(S1)과 교차하지 않으면 폐색이 없는 것이고, 고려되는 제1 지점은 지점 P(43)의 간접 조명에 기여하는 제1 지점의 일부이다. 이는 도 5에 나타나 있다.
도 5는 (광원(10)으로부터 수신된 입사광을 가상 환경의 다른 지점으로 반사킬 수 있는) 한 편의 제1 지점과 제1 지점을 원점으로 하는 다른 편의 지점 P(43) 간의 방향을 보여준다. 이에 따라서, 방향(51)은 제2 지점 그룹 D1(321)의 지점 P(43)로의 반사의 주 방향을 나타낸다. 방향(52)은 제2 지점 그룹 D4(351)의 지점 P(43)로의 반사의 주 방향을 나타낸다. 방향(53)은 제2 지점 그룹 D3(341)의 지점 P(43)로의 반사의 주 방향을 나타낸다. 도 5에 분명히 나타나 있는 바와 같이 방향(51, 52)은 (시점(40)으로부터 볼 수 있는 지점 세트로 정의된) 표면(S1)과 교차하지 않는 반면에 방향(53)은 S2와 교차한다. 이는 제2 지점 그룹 D1(321)과 D4(351)가 광원(10)으로부터 수신된 입사광의 반사에 의한 지점 P(43)의 간접 조명에 기여하는 반면에 제2 지점 그룹 D3(341)은 지점 P(43)의 간접 조명에 기여하지 않는다는 것을 의미한다. 도 5는 제2 그룹으로 그룹화된 가상 환경(1)의 제1 지점을 보여준다. 간접 조명에 기여하는 (도 1에 도시된 것과 같은) 제1 지점 또는 (도 2에 도시된 것과 같은) 지점 그룹의 결정은 동일한 방식으로 실시된다.
제1 실시예에 따라서, 지점 P(43)의 간접 조명에 기여하는 제1 지점(또는 지점 그룹 또는 제2 지점 그룹)의 결정은 세계 공간에서, 즉 고려되는 지점(및/또는 지점 그룹을 나타내는 지점, 예컨대 무게 중심 또는 지점 그룹의 중심)의 기하학적 좌표으로부터의 가상 환경의 공간에서 실시된다. 화살표(44)는 디스크(또는 지점 그룹)(231 내지 235)에 의해 수신된 입사광의 지점 P(43)로의 반사를 나타낸다.
제2 실시예에 따라서, 지점 P(43)의 간접 조명에 기여하는 제1 지점(또는 지점 그룹 또는 제2 지점 그룹)의 결정은 깊이 맵(41)의 공간에서 실시된다. 이 제2 실시예에 따라서, 시점(40)으로부터 보는 바와 같이 가상 환경(1)이 표시된다. 시점(40)으로부터 보는 바와 같은 가상 환경(1)을 나타내는 정보는 깊이 맵(41)에 저장된다. 깊이 맵은 바람직하게는 시점으로부터의 가상 환경(1)의 각 가시 지점에 대해서 고려되는 가시 지점의 시점(40)을 분리시키는 거리를 나타내는 정보 항목을 포함한다. 도 4b는 본 발명의 특정 실시예에 따른 그와 같은 깊이 맵(41)을 보여준다. 거리를 나타내는 정보는 그 노름이 시점(40)과 고려되는 가시 지점 간의 거리와 같은 벡터(410 내지 41i)로 나타낸다. 이렇게 하여 깊이 맵은 예컨대 시점(40)의 시야를 나타내는 원뿔로 구성되며 시점(40)의 관측 방향에 수직인 표면에 투시된 가상 환경(1)의 가시 지점들과 연관된 복수의 지점으로 구성된다. 깊이, 즉 거리 시점/가시 지점을 나타내는 정보 항목은 깊이 맵의 각 대응 지점과 연관된다. 깊이를 나타내는 벡터들의 끝(end)으로 구성된 깊이 맵의 각 지점을 연결함으로써 시점(40)으로부터 보여지는 환경의 가시 지점 세트를 나타내는 표면(S1')이 얻어진다. 이 표면(S1')은 표면(S1)과 같이 지점 P(43)를 포함하는 시점으로부터의 환경의 가시 지점 세트를 나타낸다. 어느 것이 지점 P의 간접 조명에 기여하는 제1 지점인지를 판단하기 위해, 본 방법은 도 4a의 제1 실시예에 대해 설명한 것과 동일하게 한다. 폐색 정보 항목은 표면(S1')과 연관되며, 제1 지점이 지점 P(43)의 간접 조명에 기여하는지 여부를 판단하기 위해서는 제1 지점(또는 지점 그룹 또는 제2 지점 그룹)을 제1 극한으로 지점 P(43)를 제2 극한으로 하는 라인에 대응하는 방향이 표면(S1')과 교차하는 여부를 판단하면 충분하다. 교차하는 경우에는 고려되는 제1 지점(또는 지점 그룹 또는 제2 지점 그룹)은 지점 P의 간접 조명에 기여하지 않고, 그 반대의 경우에는 이것은 지점 P의 간접 조명에 기여한다.
지점 P에 의해 수신된 광량을 얻기 위해서, 지점 P의 간접 조명에 기여하는 제1 지점들(또는 지점 그룹 또는 제2 지점 그룹) 각각에 의해 수신된 광량을 더하며, 제1 지점(또는 지점 그룹 또는 제2 지점 그룹)에 의해 반사된 광량은 제1 지점들에 의해 수신된 입사 광량과 고려되는 제1 지점들과 연관된 반사율 정보로부터 당업자에게 공진된 임의의 방법에 따라서 얻어진다. 지점 P에 의해 수신된 총 광량을 얻기 위해서는 지점 P도 광 환경의 제1 지점이라면, 즉 광원이 직접 비추는 지점이라면 광원으로부터 수신된 입사 광량도 더해져야만 한다.
관측 방향(42)을 따라 가상 환경(1)를 보고 있는 관측자가 수신하는 광량을 얻기 위해서는 지점 P(43)와 연관된 반사 함수에 지점 P에 의해 수신된 총 광량을 곱하면 충분하다. 마지막으로 관측자(40)이 수신하는 총 광량을 결정하기 위해서는 각 관측 방향에 따라 수신된 광량이 평가되어 합산되어야 한다.
도 6은 가상 환경(1)의 지점에서 수신된 광량의 평가와 하나 또는 몇 개의 영상의 표시 신호의 생성을 위해 구성된 장치(6)의 하드웨어 실시예를 보여준다. 장치(6)는 예컨대 개인용 컴퓨터(PC), 랩톱 컴퓨터 또는 게임기이다.
장치(6)는 클록 신호를 전송하는 어드레스 및 데이터 버스(65)에 의해 서로 연결된 다음의 구성요소들을 포함한다.
- 마이크로프로세서(61)(또는 CPU),
- 다음을 포함하는 그래픽 카드(62),
● 몇 개의 그래픽 프로세서 유닛(GPU)(620),
● 그래픽 랜덤 액세스 메모리(GRAM)(621),
- ROM(Read Only Memory) 타입의 불활성 메모리(66),
- 랜덤 액세스 메모리(RAM)(67),
- 예컨대 키보드, 마우스, 웹캠과 같은 하나 또는 몇 개의 I/O(Input/Output) 장치(64), 및
- 전원(68).
장치(6)는 또한 특히 그래픽 카드에서 계산되고 구성된 합성 영상, 예컨대 라이브의 화면을 표시하기 위해 그래픽 카드(62)에 직접 연결된 디스플레이 스크린 형태의 디스플레이 장치(63)를 포함한다. 전용 버스를 이용하여 디스플레이 장치(63)를 그래픽 카드(62)에 연결하게 되면 데이터 전송 비트레이트가 훨씬 더 커지며 따라서 그래픽 카드에 의해 구성된 영상의 표시 대기 시간이 줄어드는 이점이 있다. 일 변형에 따라서, 디스플레이 장치는 장치(6) 외부에 있고 표시 신호를 전송하는 케이블에 의해 장치(6)에 연결된다. 장치(6)는, 예컨대 그래픽 카드(62)는 예컨대 LCD, 플라즈마 스크린 또는 비디오 프로젝터와 같은 외부 표시 수단에 표시 신호를 전송하도록 구성된 전송 또는 연결 수단(도 4에는 미도시)을 포함한다.
메모리(62, 66, 67)에 사용된 "레지스터"라는 용어는 이들 메모리 각각에서 저용량 메모리 영역(바이너리 데이터)과 (전체 프로그램이 저장될 수 있거나 계산된 또는 표시될 데이터를 나타내는 데이터의 전부 또는 일부가 저장될 수 있는) 대용량 메모리 영역을 지정함에 유의한다.
마이크로프로세서(61)는 작동되면 RAM(67)에 저장된 프로그램의 명령어를 로드하여 실행한다.
랜덤 액세스 메모리(67)는 특히 다음의 것을 포함한다.
- 레지스터(630)에서 장치(6)를 작동시키는 마이크로프로세서(61)의 운영 프로그램, 및
- 가상 환경(1)을 나타내는 파라미터(671)(예컨대 가상 환경(1)의 모델링 파라미터, 가상 환경(1)의 조명 파라미터).
본 발명에 특정적인 방법의 단계들을 구현하는 후술하는 알고리즘은 이들 단계를 구현하는 장치(6)와 연관된 그래픽 카드(62)의 메모리 GRAM(67)에 저장된다. 스위치 온되고 환경을 나타내는 파라미터(670)가 RAM(67)에 로드되면 그래픽 카드(62)의 그래픽 프로세서(620)는 이들 파라미터를 GRAM(621) 내로 로드하여 예컨대 HLSL(High Level Shader Language) 언어나 GLSL(OpenGL Shading Language)을 이용하여 "쉐이더(shader)" 타입의 마이크로프로그램 형태의 이들 알고리즘의 명령어를 실행한다.
랜덤 액세스 메모리 GRAM(621)은 특히 다음의 것들을 포함한다.
- 레지스터(6210)에서 가상 환경(1)을 나타내는 파라미터,
- 광원과 가상 환경(1)의 비추어진 지점들 간의 제1 거리를 나타내는 값(6211),
- 시점과 이 시점으로부터 보이는 가상 환경(1)의 지점들 간의 제2 거리를 나타내는 값(6212),
- 하나 또는 몇 개의 입사 방향을 따라 가상 환경(1)에 의해 수신된 입사 광량을 나타내는 값(6213),
- 가상 환경(1)의 하나 또는 몇 개의 지점에서 수신된 광량을 나타내는 값(6214), 및
- 가상 환경(1)의 하나 또는 몇 개의 지점 그룹을 나타내는 파라미터(6215)(예컨대 구성 제1 지점(들) 또는 지점 그룹들, 지점 그룹 각각에 의해 덮여진 표면에서의 법선, 지점 그룹 각각과 연관된 반사율 정보 항목, 지점 그룹 각각의 중심 또는 무게 중심의 위치).
일 변형에 따라서, GRAM(621)에서 사용될 수 있는 메모리 저장 공간이 부족하면 값(6211 내지 6214)과 파라미터(6215)를 저장하기 위해 RAM(67)의 일부가 CPU(61)에 의해 할당된다. 그러나 이 변형은, 데이터가 전송 용량이 대개는 GPU로부터 GRAM으로 또는 그 역으로 데이터를 전송하는데 있어 그래픽 카드에서 가능한 전송 용량보다 낮은 버스(65)를 통해 그래픽 카드로부터 랜덤 액세스 메모리(67)로 전송되어야 하기 때문에, GPU에 포함된 마이크로프로그램으로부터 구성된 환경(1)의 표현을 포함하는 영상의 구성 시에 대기 시간을 더 크게 한다.
다른 변형에 따라서, 전원(68)은 장치(4) 외부에 구비된다.
도 7은 본 발명의 비한정적인 특정 바람직한 실시예에 따른, 장치(6)에서 구현된 가상 환경의 지점 P에서 수신된 광량의 평가 방법을 보여준다.
초기화 단계(70)에서, 장치(6)의 여러 가지 파라미터가 갱신된다. 특히 가상 환경(1)을 나타내는 파라미터가 초기화된다.
그 다음, 단계(71)에서, 광원이 비춘 가상 환경의 지점 그룹 각각에 대해 광원으로부터 수신된 입사 광량이 평가된다. 가상 환경은 광원이 비춘 지점 세트를 포함한다. 이 비추어진 지점은 제1 지점이라 부른다. 제1 실시예에서, 각 지점 그룹은 고유의 제1 지점을 포함하며, 각 제1 지점에 대해 수신된 입사 광량의 평가가 실시된다. 제1 변형에 따라서, 지점 그룹들 중 적어도 일부는 몇 개의 제1 지점을 포함한다. 동일 지점 그룹에 속하는 제1 지점은 이 제1 지점을 그 주위 지점들 중 다른 제1 지점으로부터 분리시키는 거리의 가상 환경의 각 제1 지점에 대한 평가 후에 재그룹화된다. 이들 거리가 평가되고 나면 고려되는 제1 지점을 그 인접 영역의 다른 제1 지점으로부터 분리시키는 거리의 평균을 나타내는 값이 가상 환경의 각 제1 지점에 대해 평가된다. 그 다음에, 평가된 거리 평균을 나타내는 값으로부터 그리고 제1 지점의 위치와 그 배향을 나타내는 정보로부터(즉 제1 지점 각각과 연관된 표면 요소에서의 법선으로부터) 제1 지점들이 하나 또는 몇 개의 지점 그룹으로 재그룹화된다. 제1 지점들이 지점 그룹들로 재그룹화되고 나면, 그 지점 그룹의 배향을 나타내는 (즉 그 지점 그룹에 의해 덮여진 표면에서의 법선을 나타내는) 정보 항목이 각 지점 그룹은 물론 (예컨대 지점 그룹이 디스크를 구성하는 경우에는 그 지점 그룹의 중심의 위치에, 또는 지점 그룹이 디스크가 아닌 다른 형태를 취하는 경우에는 그 지점 그룹의 무게 중심의 위치에 대응하는) 그 지점 그룹의 위치를 나타내는 정보 항목과 연관된다. 제2 변형에 따라서, 몇 개의 지점을 포함하는 지점 그룹들 중 적어도 일부는 재그룹화되어 제1 변형에서 결정된 몇 개의 지점 그룹을 포함하는 하나 또는 몇 개의 제2 지점 그룹을 구성한다. 제2 그룹 또는 지점 그룹을 구성하기 위해 재그룹화되도록 선택된 지점 그룹은 이들 지점 그룹들 각각과 연관된 배향 및 위치 정보에 따라 선택된다. 제2 지점 그룹이 구성되고 나면, 그 지점 그룹에 의해 수신된 광량의 평가는 지점 그룹의 재그룹화로부터 구성된 제2 지점 그룹에 의해 수신된 광량의 평가에 대응한다.
다음, 단계(72)에서, 주어진 시점으로부터 보여지는 가상 환경(1)의 지점 세트를 재그룹화하는 표면이 결정되며, 이 표면에 속하는 지점 P에서 수신된 광량이 결정된다.
다음, 단계(73)에서, 복수의 지점 그룹 중에서 (그리고/또는 복수의 제2 지점 그룹 중에서) 하나 또는 몇 개의 제1 지점 그룹이 결정되며, 이 결정된 제1 그룹은 수신된 입사 광량의 반사에 의한 지점 P의 조명에 기여하는 것이다. 이러한 결정은 단계(72)에서 정해진 가상 환경의 가시 지점에 따라서 실시된다. 지점 그룹은, 이 지점 그룹을 지점 P에 연결하는 라인이 가시 지점의 표면과 교차하는 지점을 갖고 있지 않으면 지점 P의 조명에 기여하는 것으로 생각된다. 이 라인이 가시 지점의 표면과 교차하는 지점을 갖고 있는 경우에는 이 지점 그룹은 지점 P의 조명에 기여하지 않는 것으로 생각된다. 라인과 가시 지점의 표면 간에 교차가 있는지를 판단하기 위해서 세계 공간에서 고려되는 지점의 좌표를 이용하여 계산이 실시된다. 일 변형에 따라서, 그리고 계산을 줄이기 위해서 교차의 존부 판단에 필요한 계산은 가상 공간(1) 및 고려되는 시점과 연관된 깊이 맵의 공간에서 실시된다.
마지막으로, 단계(74)에서, 지점 P의 조명에 기여하는 지점 그룹들 각각에 의해 수신된 입사 광량과 지점 P의 조명에 기여하는 지점 그룹들 각각과 연관된 반사율 정보 항목으로부터 지점 P에 수신된 광량이 평가된다.
본 발명은 상기 실시예들에 한정되는 것은 아님은 물론이다.
특히 본 발명은 가상 환경의 지점 P에서 수신된 광량의 평가 방법에 한정되지 않고, 이 방법을 구현하는 장치, 특히 적어도 하나의 GPU를 포함하는 장치로 확장된다. 지점 P에서 수신된 광량의 평가에 필요한 계산의 구현은 쉐이더 타입 마이크프로그램에서의 구현에 한정되지 않고, 임의의 프로그램 타입, 예컨대 CPU형 마이크로프로세서에 의해 실행될 수 있는 프로그램에서의 구현으로 확장된다.
본 발명의 이용은 라이브 이용에 한정되지 않고, 임의의 다른 이용, 예컨대 합성 영상의 표시를 위해 녹화 스튜디오에서의 사후 제작 프로세싱으로 알려진 프로세싱으로 확장된다. 본 발명의 사후 제작에서의 구현은 특히 필요한 계산 시간을 줄이면서 사실성이 뛰어난 시각적 디스플레이를 제공하는 이점이 있다.
또한 본 발명은 몇 개의 관측 방향에 따라 시점으로부터 보여지는 임의의 지점 P에 의해 수신된 광량이 계산되고 발생되는 광을 나타내는 정보가 관측 방향에 대응하는 영상의 화소를 표시하는데 이용되는, 2차원 또는 3차원에서의 비디오 영상 구성 방법에 관한 것이다. 영상의 각 화소에 의한 표시를 위해 계산된 광 값은 관측자의 다양한 시점에 맞도록 다시 계산된다.
본 발명은 예컨대 PC 또는 휴대형 컴퓨터 또는 라이브 영상을 생성하고 표시하는 전문 게임기에서 실행될 수 있는 프로그램을 통해 비디오 게임 애플리케이션에서 이용될 수 있다. 도 4와 관련하여 설명된 장치(4)에는 바람직하게는 키보드 및/또는 조이스틱, 예컨대 음성 인식 같은 것도 가능한 명령을 입력하기 위한 기타 다른 모드와 같은 상호작용 수단이 구비된다.
1: 가상 환경
10: 광원
121-12i: 지점
61: CPU
62: 그래픽 카드
63: 디스플레이
64: I/O 장치
67: RAM
68: 전원 장치
10: 광원
121-12i: 지점
61: CPU
62: 그래픽 카드
63: 디스플레이
64: I/O 장치
67: RAM
68: 전원 장치
Claims (6)
- 가상 환경(1)의 한 지점 P(43)에서 수신된 광량을 평가하는 방법으로서 - 상기 가상 환경(1)은 광원(10)에 의해 비추어지는 복수의 제1 지점(121 내지 12i, 131 내지 13i, 151 내지 153)을 포함하고, 상기 제1 지점들은 각각이 적어도 하나의 제1 지점을 포함하는 복수의 그룹을 형성함 -,
각각의 그룹에 대해 수신된 입사 광량을 평가하는 단계(71);
시점(viewpoint)(40)으로부터 보이는 상기 가상 환경의 지점들의 적어도 일부를 그룹화하는 표면(41)을 평가하는 단계(72) - 상기 표면은 상기 지점 P(43)를 포함함 -;
상기 표면(41)과 연관된 적어도 하나의 폐색 정보 항목에 따라서 상기 광원으로부터 수신된 입사광의 반사에 의한 상기 지점 P(43)의 조명에 기여하는 상기 복수의 그룹 중 적어도 제1 그룹(321, 351)을 평가하는 단계; 및
상기 적어도 하나의 제1 그룹과 연관된 적어도 하나의 반사율 정보 항목에 따라서 상기 적어도 하나의 제1 그룹(321, 351)에 의해 수신된 입사 광량으로부터 상기 지점 P(43)에 의해 수신된 광량을 평가하는 단계
를 포함하는 것을 특징으로 하는 광량 평가 방법. - 제1항에 있어서,
상기 표면(41)은 상기 시점(40)으로부터 보이는 상기 가상 환경의 각각의 지점과 상기 시점(40)을 분리하는 거리를 나타내는 깊이 맵으로부터 평가되는 것을 특징으로 하는 광량 평가 방법. - 제1항 또는 제2항에 있어서,
각각의 제1 지점에 대해서, 각각의 제1 지점을 그 인접 영역의 복수의 제1 지점으로부터 분리시키는 거리들의 평균을 나타내는 값을 평가하는 단계를 더 포함하고, 상기 제1 지점들은 상기 평가된 값들에 따라서 상기 그룹들로 그룹화되고, 제1 지점들의 위치와 배향을 나타내는 정보와, 상기 그룹의 배향을 나타내는 배향 정보 항목과, 상기 그룹의 위치를 나타내는 위치 정보 항목은 각각의 그룹과 연관되는 것을 특징으로 하는 광량 평가 방법. - 제1항 또는 제2항에 있어서,
각각의 제1 지점에 대해서, 각각의 제1 지점을 그 인접 영역의 복수의 제1 지점으로부터 분리하는 거리들의 평균을 나타내는 값을 평가하는 단계;
상기 제1 지점들을 상기 평가된 값들에 따라서 복수의 제2 그룹으로 그룹화하는 단계 - 제1 지점들의 위치와 배향을 나타내는 정보와, 상기 제2 그룹의 배향을 나타내는 배향 정보 항목과, 상기 제2 그룹의 위치를 나타내는 위치 정보 항목이 각각의 제2 그룹과 연관됨 -; 및
상기 제2 그룹들의 배향 및 위치 정보에 따라서 상기 제2 그룹들을 재그룹화함으로써 상기 그룹들을 생성하는 단계
를 더 포함하는 것을 특징으로 하는 광량 평가 방법. - 제3항에 있어서,
상기 제1 지점들의 위치를 나타내는 정보는 입사 방향들에 따라서 상기 광원을 상기 제1 지점들로부터 분리하는 제1 거리들의 평가에 의해 얻어지고, 상기 평가된 제1 거리들은 상기 가상 환경(1)과 및 상기 광원(10)과 연관된 섀도 맵(11)에 저장되는 것을 특징으로 하는 광량 평가 방법. - 제1항 또는 제2항에 있어서,
상기 시점과 상기 시점으로부터 보이는 환경의 상기 지점들을 분리하는 제2 거리들을 평가하는 단계를 더 포함하고, 상기 평가된 제2 거리들은 상기 가상 환경(1) 및 상기 시점(40)과 연관된 깊이 맵(41)에 저장되고, 상기 평가된 제2 거리들로부터 상기 적어도 하나의 폐색 정보 항목이 얻어지는 것을 특징으로 하는 광량 평가 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1057903 | 2010-09-30 | ||
FR1057903A FR2965652A1 (fr) | 2010-09-30 | 2010-09-30 | Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120034024A true KR20120034024A (ko) | 2012-04-09 |
Family
ID=44169007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110099026A KR20120034024A (ko) | 2010-09-30 | 2011-09-29 | 가상 환경의 한 지점에 수신된 광량의 평가 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9082230B2 (ko) |
EP (1) | EP2437219B1 (ko) |
JP (1) | JP5873672B2 (ko) |
KR (1) | KR20120034024A (ko) |
CN (1) | CN102446365B (ko) |
FR (1) | FR2965652A1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013106145A (ja) * | 2011-11-11 | 2013-05-30 | Fuji Xerox Co Ltd | 読取装置 |
US10713838B2 (en) * | 2013-05-03 | 2020-07-14 | Nvidia Corporation | Image illumination rendering system and method |
EP3057067B1 (en) * | 2015-02-16 | 2017-08-23 | Thomson Licensing | Device and method for estimating a glossy part of radiation |
KR102399686B1 (ko) * | 2015-07-28 | 2022-05-19 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
JP6202118B2 (ja) * | 2016-03-09 | 2017-09-27 | 日本電気株式会社 | 描画装置、描画方法およびプログラム |
CN108961372B (zh) * | 2018-03-27 | 2022-10-14 | 北京大学 | 一种基于统计模型检验的渐进式光子映射方法 |
WO2020023880A1 (en) * | 2018-07-26 | 2020-01-30 | Nvidia Corporation | Global illumination using shared lighting contributions for interactions in path tracing |
US11790594B2 (en) * | 2019-08-18 | 2023-10-17 | Nvidia Corporation | Ray-tracing with irradiance caches |
US12067667B2 (en) | 2020-05-15 | 2024-08-20 | Nvidia Corporation | Using directional radiance for interactions in path tracing |
KR20230092514A (ko) * | 2021-12-17 | 2023-06-26 | 삼성전자주식회사 | 렌더링 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221594A (ja) * | 1994-12-13 | 1996-08-30 | Fujitsu Ltd | ラジオシティ法を用いる描画方法および装置 |
US20080259081A1 (en) * | 2006-07-24 | 2008-10-23 | Bunnell Michael T | System and methods for real-time rendering with global and specular illumination |
US20090102843A1 (en) * | 2007-10-17 | 2009-04-23 | Microsoft Corporation | Image-based proxy accumulation for realtime soft global illumination |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778267A (ja) | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
DE19606357A1 (de) * | 1996-02-12 | 1997-08-14 | Gmd Gmbh | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
US6476805B1 (en) * | 1999-12-23 | 2002-11-05 | Microsoft Corporation | Techniques for spatial displacement estimation and multi-resolution operations on light fields |
US7262770B2 (en) * | 2002-03-21 | 2007-08-28 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
EP1844445A1 (en) | 2004-10-27 | 2007-10-17 | Pacific Data Images Llc | Volumetric shadows for computer animation |
JP4974612B2 (ja) * | 2006-05-18 | 2012-07-11 | 旭化成ホームズ株式会社 | 光環境解析用プログラム及び光環境解析装置 |
DE102006025096B4 (de) * | 2006-05-23 | 2012-03-29 | Seereal Technologies S.A. | Verfahren und Einrichtung zum Rendern und Generieren computer-generierter Videohologramme |
US8436855B1 (en) * | 2007-02-19 | 2013-05-07 | Aechelon Technology, Inc. | Efficient illumination of large three dimensional environments |
CN100594519C (zh) * | 2008-03-03 | 2010-03-17 | 北京航空航天大学 | 用球面全景摄像机实时生成增强现实环境光照模型的方法 |
CN101354784B (zh) * | 2008-08-21 | 2010-10-13 | 上海交通大学 | 基于图像的真实光源获取及重光照的方法 |
US8432395B2 (en) * | 2009-06-16 | 2013-04-30 | Apple Inc. | Method and apparatus for surface contour mapping |
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 |
-
2010
- 2010-09-30 FR FR1057903A patent/FR2965652A1/fr active Pending
-
2011
- 2011-09-23 EP EP11182544.4A patent/EP2437219B1/en active Active
- 2011-09-27 US US13/200,626 patent/US9082230B2/en active Active
- 2011-09-28 JP JP2011212801A patent/JP5873672B2/ja not_active Expired - Fee Related
- 2011-09-29 KR KR1020110099026A patent/KR20120034024A/ko not_active Application Discontinuation
- 2011-09-29 CN CN201110293777.8A patent/CN102446365B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221594A (ja) * | 1994-12-13 | 1996-08-30 | Fujitsu Ltd | ラジオシティ法を用いる描画方法および装置 |
US20080259081A1 (en) * | 2006-07-24 | 2008-10-23 | Bunnell Michael T | System and methods for real-time rendering with global and specular illumination |
US20090102843A1 (en) * | 2007-10-17 | 2009-04-23 | Microsoft Corporation | Image-based proxy accumulation for realtime soft global illumination |
Non-Patent Citations (1)
Title |
---|
Dong, Zhao, et al. "Interactive global illumination using implicit visibility." Computer Graphics and Applications, 2007. PG'07. 15th Pacific Conference on. IEEE, 2007., Oct. 2007 * |
Also Published As
Publication number | Publication date |
---|---|
EP2437219B1 (en) | 2015-08-12 |
US9082230B2 (en) | 2015-07-14 |
EP2437219A1 (en) | 2012-04-04 |
JP2012089121A (ja) | 2012-05-10 |
JP5873672B2 (ja) | 2016-03-01 |
CN102446365A (zh) | 2012-05-09 |
US20130176313A1 (en) | 2013-07-11 |
CN102446365B (zh) | 2016-01-13 |
FR2965652A1 (fr) | 2012-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120034024A (ko) | 가상 환경의 한 지점에 수신된 광량의 평가 방법 | |
CA2866849C (en) | Method for estimating the opacity level in a scene and corresponding device | |
JP5873683B2 (ja) | 仮想環境でのオクルージョンを推定する方法 | |
US9235663B2 (en) | Method for computing the quantity of light received by a participating media, and corresponding device | |
US11270494B2 (en) | Shadow culling | |
JP5916764B2 (ja) | 仮想環境における隠蔽の推定方法 | |
CA2866589C (en) | Method for representing a participating media in a scene and corresponding device | |
US8878847B2 (en) | Method for estimation of an item of information representative of height | |
Balz et al. | Improved real-time SAR simulation in urban areas | |
EP2428935B1 (en) | Method for estimating the scattering of light in a homogeneous medium | |
US20240176931A1 (en) | Apparatus and method for real-time volumetric rendering of dynamic particles | |
Chochlík | Scalable multi-GPU cloud raytracing with OpenGL | |
Huelin et al. | Deferred Normalized Irradiance Probes | |
Timonen | Scalable algorithms for height field illumination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |