KR20120047778A - 가상 환경에서 차폐의 추정 방법 - Google Patents

가상 환경에서 차폐의 추정 방법 Download PDF

Info

Publication number
KR20120047778A
KR20120047778A KR1020110107619A KR20110107619A KR20120047778A KR 20120047778 A KR20120047778 A KR 20120047778A KR 1020110107619 A KR1020110107619 A KR 1020110107619A KR 20110107619 A KR20110107619 A KR 20110107619A KR 20120047778 A KR20120047778 A KR 20120047778A
Authority
KR
South Korea
Prior art keywords
point
shielding
intersection
virtual environment
semi
Prior art date
Application number
KR1020110107619A
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 톰슨 라이센싱
Publication of KR20120047778A publication Critical patent/KR20120047778A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • 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
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

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

Abstract

본 발명은 관찰 지점으로부터 보이는 가상 환경의 점 중 적어도 일부를 그룹화하는 표면(S)에 속하는 가상 환경의 점에서 차폐 추정을 위한 방법에 관한 것이다. 요구된 계산 시간을 최소화하면서, 디스플레이를 향상시키기 위해, 방법은
- 상기 표면(S)과 원점으로서 상기 점{(P)(16)}을 갖는 복수의 반직선 사이의 교차점(403)을 추정하는 단계로서, 상기 교차점(403)은 상기 복수의 반직선 중 각 반직선(40)의 이산 시킴(discretization)에 의해 추정되는, 교차점(403)을 추정하는 단계(72),
- 상기 복수의 반직선 중 상기 표면(S)과의 교차점을 갖는 반직선과 차폐 인자를 결합하는 단계로서, 상기 차폐 인자는 상기 교차점(403)으로부터 상기 점{(P)(16)}을 분리하는 차폐 거리(△0)의 함수인, 반직선과 차폐 인자의 결합 단계, 및
- 상기 추정된 교차점(403)으로부터 상기 점{(P)(16)}에서의 차폐의 추정 단계를
포함한다.

Description

가상 환경에서 차폐의 추정 방법{METHOD FOR ESTIMATION OF OCCLUSION IN A VIRTUAL ENVIRONMENT}
본 발명은 합성 이미지 구성의 분야에 관한 것이고, 더 구체적으로, 가상 환경에서 주변 차폐(ambient occlusion)의 추정 영역에 관한 것이다. 또한, 본 발명은 실시간 구성을 위한 특수 효과의 배경에서 이해된다.
종래 기술에 따라, 가상 환경에서 주변 차폐를 시뮬레이팅하는 상이한 방법이 존재한다. 이들 방법 중 하나에 따라, 가상 환경(또한, 장면으로 불리는)의 점에서 차폐를 계산하기 위해, 충분한 수의 광선이 이 점으로부터 가상 환경을 가로질러 방출(launch)되어, 이들 광선과 이 점에 이웃하는 외형(geometry) 사이의 교차점을 결정한다. 교차된 광선의 개수와 방출된 광선의 개수 사이의 관계는 고려되는 점에서의 차폐가 결정되는 것을 가능케 한다. 이러한 방법은 좋은 품질의 결과를 얻기 위해, 다수의 광선이 방출되게 한다. 계산을 수행하는데 요구되는 자원은 방출된 광선의 개수에 직접적으로 의존하는데, 요구된 디스플레이의 품질이 높다면, 계산에서의 요건이 너무나 많아서 실시간으로 수행할 수 없다. 차폐 계산을 실시간으로 수행하기 위해, 가상 환경의 디스플레이의 품질의 희생 하에, 방출되는 광선의 개수를 감소시키는 것이 필요할 수 있다.
특히 3차원(3D)에서 상호 작용의 시뮬레이션 게임 및 애플리케이션의 출현으로, 고 품질이고, 사실적이며, 신속한 전반적 차폐 추정을 제공하는 실시간 시뮬레이션 방법에 대한 필요성이 있다.
본 발명의 목적은 종래 기술의 이들 단점 중 적어도 하나를 극복하는 것이다.
더 구체적으로, 본 발명의 목적은 특히 가상 환경에서 주변 차폐를 실시간으로 추정하여 사실적 디스플레이를 생성하는데 요구되는 계산 시간 및/또는 계산 능력을 최적화하는 것이다.
본 발명은 가상 환경의 점(P)에서 차폐의 추정 방법에 관한 것인데, 점(P)은 관찰 지점으로부터 보이는 가상 환경의 점 중 적어도 일부를 그룹화하는 표면에 속하고, 방법은:
- 상기 표면과 원점으로서 점(P)을 갖는 복수의 반직선 사이의 교차점을 나타내는 정보의 항목을 추정하는 단계로서, 교차점은 복수의 반직선 중 각 반직선의 이산 시킴(discretization)에 의해 추정되는, 정보의 항목을 추정하는 단계,
- 표면과의 교차점을 갖는 복수의 반직선의 반직선과 차폐 인자를 결합하는 단계로서, 차폐 인자는 교차점으로부터 점(P)을 분리하는 차폐 거리의 함수인, 반직선과 차폐 인자를 결합하는 단계, 및
- 추정된 교차점을 나타내는 정보와 차폐 인자로부터 점(P)에서 차폐를 추정하는 단계를
포함한다.
일 특징에 따라, 복수의 반직선 중 하나의 반직선과 결합된 차폐 인자의 값은 반직선과 표면 사이의 교차점으로부터 점(P)을 분리하는 거리에 반비례한다.
이롭게, 점(P)에서의 차폐는 표면(S)과의 교차점을 갖는 반직선의 개수 대 복수의 반직선의 전체 개수의 비율에 대응하는데, 점(P)에서 차폐를 나타내는 비율의 분자는 차폐 인자로 가중된다.
특정 특징에 따라, 방법은 가상 환경의 보이는 점으로부터 관찰 지점을 분리하는 거리의 추정 단계를 추가로 포함하는데, 추정된 거리는 깊이 맵에 나타나고, 교차점을 나타내는 정보의 항목의 추정은 깊이 맵의 공간에서 수행된다.
이롭게, 복수의 반직선은 P를 중심으로 하고, 주로 점(P)과 결합된 표면의 요소 위로 떠오르는 반구를 형성한다.
특정 특징에 따라, 반구의 밑면은 점(P)과 결합된 표면의 요소에 접한다.
이롭게, 방법은 차폐 맵의 점(P)에서 차폐에 대표적인 정보의 항목의 저장 단계를 포함한다.
특정 특징에 따라, 반직선의 방향은 점(P)의 위치에 의존한다.
다른 특징에 따라, 교차점을 나타내는 정보는 광선 샘플링 방법을 사용하여 추정된다.
또한, 본 발명은 가상 환경의 점(P)에서 차폐의 추정을 위해 적응되는 디바이스에 관한 것인데, 점(P)은 관찰 지점으로부터 보이는 가상 환경의 점 중 적어도 일부를 그룹화하는 표면에 속하고, 이러한 디바이스는
- 표면과 원점으로서 점(P)을 갖는 복수의 반직선 사이의 교차점을 나타내는 정보의 항목을 추정하는 수단으로서, 교차점은 복수의 반직선 중 각 반직선의 이산 시킴에 의해 추정되는, 정보의 항목을 추정하는 수단,
- 표면과의 교차점을 갖는 복수의 반직선 중 반직선과 차폐 인자를 결합하는 수단으로서, 차폐 인자는 교차점으로부터 점(P)을 분리하는 차폐 거리(△0)의 함수인, 반직선과 차폐 인자를 결합하는 수단, 및
- 추정된 교차점을 나타내는 정보 및 차폐 인자로부터 점(P)에서 차폐를 추정하는 수단을
포함한다.
일 특징에 따라, 복수의 반직선과 결합된 차폐 인자의 값은 반직선과 표면 사이의 교차점으로부터 점(P)을 분리하는 거리에 반비례한다.
이롭게, 점(P)에서의 차폐는 표면과의 교차점을 갖는 반직선의 개수 대 복수의 반직선의 전체 개수의 비율에 대응하고, 점(P)에서 차폐를 나타내는 비율의 분자는 차폐 인자로 가중된다.
첨부 도면을 참조하는 다음의 서술을 읽을 시, 본 발명은 더 잘 이해될 것이고, 다른 특정 특징 및 장점도 나타날 것이다.
본 발명은 2D 또는 3D의 상호 작용의 시뮬레이션 게임 및 애플리케이션에서, 고 품질이고, 사실적이며, 신속한 전반적 차폐 추정에 요구되는 계산 시간을 감소시키면서, 시각적 디스플레이를 제공하는 장점을 제공한다.
도 1a는 본 발명의 특정 실시예에 따라, 관찰 지점에서 보이는 가상 환경을 개략적으로 도시하는 도면.
도 1b는 본 발명의 특정 실시예에 따라, 관찰 지점으로부터 도 1a의 보이는 점을 그룹화하는 표면을 나타내는 가상 환경 및 관찰 지점과 결합된 깊이 맵을 도시하는 도면.
도 2 및 도 3은 본 발명의 2가지 특정 실시예에 따라, 도 1a의 가상 환경의 보이는 점의 표면과의 교차점이 추정되는 방향으로 형성된 반구를 개략적으로 도시하는 도면.
도 4 및 도 5는 본 발명의 특정 실시예에 따라, 도 2 및 도 3의 방향과 도 1a의 가상 환경의 보이는 점 사이의 교차점의 추정 방법을 개략적으로 도시하는 도면.
도 6은 본 발명의 특정 구현에 따라, 도 1a의 가상 환경의 점에서 차폐의 추정을 위한 방법을 구현하는 디바이스를 도시하는 도면.
도 7은 본 발명의 특정 실시예에 따라, 도 1a의 가상 환경의 점에서 차폐의 추정 방법을 도시하는 도면.
본 발명은 가상 환경의 점(P)에서 차폐의 추정 방법의 특정 실시예를 참조로 서술된다. 이롭게, 점(P)은 관찰 지점으로부터 보이는 가상 환경의 점들의 전체 또는 일부로부터 형성된 표면의 일부이다. 점(P)에서의 차폐를 결정하기 위해, 원점으로서 점(P)을 갖는 복수의 광선은 가상 환경을 가로질러 방출되고, 이들 광선의 각 광선과 보이는 점들의 표면 사이의 교차점은 방출된 광선을 이산시킴으로써 결정된다. 점(P)에서의 차폐는 예를 들어, 보이는 점들의 표면과의 교차점을 갖는 광선의 개수와 전체 광선의 개수 사이의 관계에 대응한다. 방출된 광선 각각의 이산시킴은 표면과의 교차점이, 이 표면이 존재할 때, 정확히 결정되는 것을 가능케 한다. 다르게는 점에서의 쉐이딩(shading)으로 알려진 점에서의 차폐는 이러한 점의 이웃 외관에 의존하기 때문에, 고려된 점(P)을 둘러싸는 보이는 점들의 표면과의 교차점을 정확히 결정하는 것은 점(P)에서의 차폐가 많은 수의 광선의 방출을 요구하지 않고, 더 정확히 추정되는 것을 가능케 한다. 따라서, 서술된 본 발명의 특정 실시예에 따라, 점(P)에서의 차폐 추정은 빨라지고, 좋은 품질의 레벨을 제공하며, 구체적으로 실시간 처리 또는 실시간 응용을 가능케 한다.
보이는 점의 표면의 각 점에서 차폐를 추정함으로써, 가상 환경에 인가되는 조명을 알 필요 없이, 가상 환경의 주변 차폐를 결정하고, 따라서 가상 환경의 각 보이는 점에서 쉐이딩을 결정하는 것이 가능해 진다.
도 1a 및 도 1b는 관찰 지점(11), 예를 들어, 가상 환경(1)의 관찰자로부터 보이는 가상 환경 또는 가상 장면(1)을 도시한다. 가상 환경은 가상 환경의 모든 점에서 일정하고 균질한 조명을 보장하는 조명 환경에 의해 이롭게 조명된다. 가상 환경(1)은 당업자에게 알려진 임의의 방법에 따라 모델링된 하나 또는 수개의 가상 객체(12, 13, 14 및 15)를 포함하는데, 이 임의의 방법은 예를 들어, 각각이 다각형을 구성하는 꼭점(summit) 및 엣지(edge)의 리스트에 의해 한정되는 다각형의 세트와, 모델이 동화되는 다각형(polygonal) 모델링, 모델이 제어 정점(vertice)을 통해 생성된 굴곡의 세트에 의해 한정되는 NURBS(Non uniform rational basic spline, 비균일 유리 기본 스플라인) 타입의 굴곡 모델링, 그리고 표면의 서브 분할(subdivision)을 통한 모델링이 있다. 가상 객체에 의해, 실제 환경(예를 들어, 땅, 집 또는 집의 정면, 자동차, 나무 즉, 집, 거리, 도시, 시골 등의 일부와 같은 환경을 구성하는 임의의 요소) 또는 가상 요소로 구성되는 객체(실제 또는 가공)의 임의의 가상 표현(모델링에 의해 획득되는)이 이해된다. 가상 환경의 각 객체(12, 13, 14 및 15)는 이 객체를 커버하는 표면에 의해 특징 지워지고, 각 객체의 표면은 각 객체에 특수한 반사율 특성(하나 또는 수개의 방향으로 표면에 의해 반사되는 입사 광의 비에 대응하는)을 갖는다. 이롭게, 객체의 표면의 반사율은 광을 반사하는 객체의 영역(표면의 하나 또는 수개의 점을 포함하는 표면의 영역)에 따라 변한다, 즉, 객체의 표면의 반사율은 일정치 않다. 일 변형에 따라, 객체의 표면의 반사율은 객체의 표면의 임의의 점에서 일정하다. 도 1a 및 도 1b의 예시에 따라, 관찰자(11)는 관찰 방향(111)에 따라, 가상 환경(1)의 점{(P)(16)}을 보는데, 점{(P)(16)}은 관찰 방향(111)과, 원점으로서 관찰 지점(11)을 갖는 이 관찰 방향에 의해 마주치는 가상 환경(1)의 제 1 객체, 즉 객체(13) 사이의 교차점에 대응한다. 관찰 지점(11)으로부터 보이는 가상 환경(1)의 부분은 관찰 방향(111)을 포함하는 많은 수의 관찰 방향으로 구성되는 관찰 원뿔(viewing cone)(112)로 나타난다. 관찰 지점(11)으로부터 보이는 객체(12 내지 15)의 점의 세트는 이롭게 보이는 점의 표면(S)을 형성한다. 일 변형에 따라, 이들 객체(12 및 13)에 대한 관심만이 존재한다면, 표면(S)은 보이는 점의 세트의 서브셋, 예를 들어, 객체(12 및 13)의 보이는 점만을 포함한다. 점{(P)(16)}에서의 차폐를 결정하는 것은 점{(P)(16)}에 이웃하는 영역에서 표면(S)의 각 점으로부터 점(P)을 분리하는 거리를 결정하는 것을 의미하고, 다시 말해서, 원점으로서 점(P)을 갖는 반직선과 표면(S) 사이의 교차점을 결정하는 것을 의미한다. 예를 들어, 표면(S) 상에 점(P)의 이웃 영역에 의해, 점(P)으로부터 임계치보다 낮은 거리에 위치한, 예를 들어, 25cm, 50cm 또는 1m 미만의 거리에 위치한 표면(S)에 속하는 점의 세트가 이해된다. 이롭게, 점{(P)(16)}에서 원점을 갖는 반직선과 표면(S) 사이의 교차점의 결정은 넓은(world) 공간, 즉 고려된 점의 외관 좌표로부터의 가상 환경의 공간에서 수행된다. 원점으로서 점(P)을 갖는 반직선의 세트는 예를 들어, 중심(P)을 갖는 구를 형성하고, 밑면이 P 상에 중심을 둔 반구 또는 ¼구를 형성한다.
일 변형에 따라, 점{(P)(16)}에서 원점을 갖는 반직선과 표면(S) 사이의 교차점의 결정은 깊이 맵(110)의 공간에서 수행된다. 이러한 변형에 따라, 가상 환경(1)은 관찰 지점(11)으로부터 보이는 것과 같이 디스플레이된다. 관찰 지점(11)으로부터 보이는 가상 환경(1)을 나타내는 정보는 깊이 맵(110)에 저장된다. 깊이 맵은 관찰 지점으로부터 보이는 가상 환경(1)의 각 점에 대해, 고려되는 보이는 점으로부터 관찰 지점(11)을 분리하는 거리를 나타내는 정보의 항목을 포함한다. 도 1b는 본 발명의 특정 실시예에 따른 이러한 깊이 맵(110)을 도시한다. 거리를 나타내는 정보는, 놈(norm)이 관찰 지점(11)과 고려된 보이는 점 사이의 거리와 같은 벡터(1110 내지 1111i)로 나타난다. 따라서, 깊이 맵은 예를 들어, 관찰 지점(11)의 시야를 나타내고, 관찰 지점(11)의 관찰의 주 방향에 수직인 원뿔(112)에 의해 형성되는 표면상에 투영되는 가상 환경(1)의 보이는 점과 결합된 복수의 점으로 구성된다. 깊이를 나타내는 정보의 항목, 즉 거리 관찰 지점/보이는 점은 깊이 맵의 각 대응하는 점과 결합된다. 깊이를 나타내는 벡터의 단부에 의해 형성된 깊이 맵의 각 점을 연결함으로써, 관찰 지점(11)으로부터 보이는 환경의 보이는 점의 세트를 나타내는 표면(S')이 획득된다. 이러한 표면(S')은 관찰 지점으로부터 보이는 환경의 점의 전체 또는 일부의 세트를 나타내는 표면(S)과 유사하고, 점{(P)(43)}을 포함한다. 이러한 변형에 따라, 깊이 정보는 GPU와 결합된 메모리에 기록된 테이블로 구성된 데이터 구조에 이롭게 기록되고 저장된다. 이들 기록은 깊이 기록이라 불린다. 이들 기록은 관찰 지점(11)으로부터 보이는 가상 환경의 점의 세트가 참조되는 것을 가능케 하고, 예를 들어, 여기서 가상 환경의 주변 차폐, 또는 가상 환경의 부분, 예를 들어, 가상 환경(1)을 구성하는 수개의 객체(12 내지 15) 중 하나를 결정하기 위한 차폐 추정 방법이 존재할 수 있다.
도 2 및 도 3은 각각이 원점으로서 점{(P)(16)}을 갖고, 표면(S)(또는, 깊이 맵의 공간에 위치한다면, S')과의 교차점이 결정되는 반직선으로 형성되는 반구(20 및 30)를 도시한다. 도 2를 참조로 도시되는 바와 같이, 반구(20)는 각각이 원점으로서 점(P)을 갖는 반직선과 결합된 방향을 나타내는 복수의 벡터(22, 23)로 구성된다. 반구(20)는 가상 환경의 관찰 방향(111)에 본질적으로 수직인 밑면(21)을 갖는다. 반구(20)를 형성하는 벡터(22, 23)를 결정하기 위해, 밑면(21)은 예를 들어, n개의 샘플(각 샘플은 예를 들어, 점(211) 또는 점과 결합된 표면 요소에 대응하는)로 샘플링되고, 후에 밑면(21)의 각 샘플은 밑면(21)의 수직 축(Z)에 따라 반구(20)로 투영되어, 한편으론 단부로서 점(P)을 갖는 벡터(23), 다른 한편으론 밑면(21)의 고려된 샘플(211)의 프로젝션(projection)을 형성한다. 샘플의 개수(n)는 사용자에 의해 이롭게 구성된다. 계산을 가속화하기 위해, 샘플의 개수(n)는 이롭게 적다. 언더 샘플링(under-sampling)에 관련된 디스플레이 오차를 회피하기 위해, 점(P)과 결합된 반구를 나타내는데 사용된 n개의 샘플은 표면(S)의 주어진 영역에서 각 점(P) 마다, 고려된 표면(S)의 영역의 각 점(P)에 대한 n개의 상이한 샘플의 세트를 얻기 위해, 회전 매트릭스가 n개의 밑면 샘플에 적용된다. 이를 위해, 회전 매트릭스의 각도(θ)는 무작위로 변하거나, 또는 하나의 점(P)으로부터 다른 점으로 결정된 방식으로 변하여, 각 점(P)이 n개의 밑면 샘플로부터 n개의 샘플의 세트를 생성하는 것을 가능케 한다. 예를 들어, n개의 밑면 샘플에 적용되는 2차원(R2D)의 회전 매트릭스는:
Figure pat00001
과 같다.
벡터(22, 23) 모두는 공통 제 1 단부, 즉, 점{(P)(16)}을 갖고, 표면 요소는 각 벡터(22, 23)의 제 2 단부와 결합되며, 벡터와 결합된 표면 요소의 합은 반구(20)의 표면을 형성한다. 점{(P)(16)}에서 차폐를 얻기 위해, 원점으로서, 표면(S)과의 교차점(도 4 및 도 5를 참조로 더 정확히 설명되는)을 갖는 점(P)을 갖는 반직선이 먼저 결정되고, 이들 반직선에 대응하는 벡터와 결합된 표면 요소가 더해진다. 그런 후에, 한편으로, 표면{(S)(110)}과의 교차점을 갖는 반직선에 대응하는 표면 요소의 합과, 다른 한편으로 반구(20)의 전체 표면 사이의 비율이 얻어진다. 따라서, 획득된 표면비는 점{(P)(16)}에서의 차폐를 나타내고, 이 차폐는 점(P)의 표면(S) 상에서 쉐이딩을 나타낸다. 원점으로서 점{(P)(16)}을 갖는 복수의 반직선으로부터 형성된 반구(20)는 주로 점{(P)(16)}과 결합된 표면(S)의 표면 요소(210) 위에 있다. 표현 "주로 점(P)과 결합된 표면 요소(210) 위에 있다"을 통해, 반구를 형성하는 대다수의 벡터는 표면 요소(210)와 교차점을 갖지 않는다는 사실, 또는 반구의 밑면(21)은 점(P)에서 표면 요소에 접선과의 각이 주어진 임계치보다 낮게, 예를 들어, 45°미만으로 형성한다는 사실이 이해된다.
또한, 도 3은, 밑면(31)이 점{(P)(16)} 상에 중심을 둔 반구를 도시한다. 반구(30)는 복수의 벡터(32, 33)로 구성되는데, 각 벡터는 원점으로서 점(P)을 갖고, 표면(S)과의 교차점이 결정되어야 하는 반직선과 결합된 방향을 나타낸다. 도 2에 도시된 바와 같이, 반구(30)의 밑면은 점{(P)(16)}과 결합된 표면(S)의 표면 요소(210)에 접하는데, 벡터(N)는 표면 요소(210)에서의 접선에 수직이라는 것을 나타낸다. 밑면(31)이 점(P)과 결합된 표면 요소(210)에 접하는 반구(30)는 예를 들어, 밑면(21)이 축(Z)을 회전시키는 관찰 방향(111)에 수직인 반구(20)로부터, 축(Z)이 표면 요소(210)에서의 접선에 수직이 되게 하는 이러한 방식으로 획득된다. 이러한 경우에 사용되는 회전은 예를 들어, 표면 요소(210)에서의 접선에 수직인 공간에서의 관찰 방향(111)에 따라, 관찰 지점(11)으로부터 보이는 환경(1)에 대응하는 공간으로부터 샘플 방향(ωi)을 이끄는 회전에 대응하는데, 이 회전은 관찰 지점(11)으로부터 보이는 환경에 대응하는 공간의 좌표로 표시되고, 회전은 R3D로 불린다. 분석적으로, R3D는 각도/축 표현(r,θ)을 사용하여 결정되는데, r은 N(32) 및 Z(22)에 수직인 벡터로 한정되고, θ는
Figure pat00002
사이의 각으로 한정되는데, 여기서 ∥V∥는 벡터(V)의 정규화 연산자를 나타낸다.
수학식 2에서 3차원 축/각도 회전의 로드릭(Rodrigue) 공식을 적용함으로써,
Figure pat00003
Figure pat00004
Figure pat00005
이 획득된다.
이 회전 매트릭스는 샘플(211) 마다 한 번씩 계산되고, 법선(N)에 따라 배향된 방향(ωi)을 제공하기 위해 각 벡터에 적용된다.
도 4 및 도 5는 본 발명의 특정 실시예에 따라, 한편으로, 원점으로서 점{(P)(16)}을 갖는 방향(ωi)의 반직선(40)과, 다른 한편으로 표면(S) 사이의 교차점의 결정 방법을 도시한다.
도 4를 참조로 도시된 것처럼, 원점으로서 점{(P)(16)}과 방향(ωi)을 갖는 반직선(40)은 복수의 기본 샘플로 이산되고, 각 샘플은 반직선(40)의 세그먼트에 대응한다. 2개의 샘플, 즉, 세그먼트[P-Sωi] 및 [Sωi - Sωi+1]는 도 4에 도시된다. 따라서, 반직선(40)은 수개의 점, 즉, 점{(P)(16)}, Sωi(402) 및 Sωi+1(404)로 나타난다. 이러한 방법의 목적은 반직선(40)과 표면(S) 사이의 교차점(403)으로부터 점{(P)(16)}을 분리하는 거리에 대응하는 차폐 거리{△0(41)}를 결정하는 것이다. 샘플, 즉 반직선(40)의 세그먼트가 표면(S)과의 교차점을 갖는지를 결정하기 위해, 제 1 샘플에 대응하는 반직선(470)의 제 1 점{(Sωi)(402}은 도 5를 참조로 도시된 관찰 방향(111)에 따라 표면(S)에 투영된다. 점{(Sωi)(402)}의 표면(S)으로의 프로젝션은 점{(Stj)(52)}이고, 점{(Sωi)(402) 및 (Stj)(52)}을 분리하는 거리(δj)는 예를 들어, GPU와 결합된 메모리의 기록 테이블 안에 기록된다. 반직선(40)의 제 1 세그먼트[P-Sωi]가 표면(S)과 교차점을 갖는지를 결정하기 위해, 관찰 지점(11)의 위치와 점{(Sωi)(402) 및 (Stj)(52)}의 위치를 비교하는 것으로 충분하다. 점{(Sωi)(402)}이 점{(Stj)(52)} 즉, 관찰 방향(111)의 길이보다 관찰 지점(11)에 더 가깝다면, 반직선(40)의 제 1 세그먼트[P-Sωi]는 표면(S)과 어떠한 교차점도 갖지 않는다. 반대의 경우, 즉, 점{(Stj)(52)}이 점{(Sωi)(402)}보다 관찰 지점(11)에 더 가깝다면, 반직선(40)의 제 1 세그먼트[P-Sωi]는 표면(S)과 교차점을 갖는다. 반직선(40)의 제 1 세그먼트[P-Sωi]가 표면(S)과 교차점을 갖는 경우, 표면(S)과 반직선(40)의 교차점이 결정될 때, 반직선의 이산 시킴 처리는 정지된다. 도 4 및 도 5를 참조로 도시된 것과 반대의 경우, 즉 반직선(40)의 제 1 세그먼트[P-Sωi]가 표면(S)와 교차점을 갖지 않을 때, 반직선(40)의 이산 시킴 처리는 지속되고, 점{(P)(16)}으로부터 방향(P -> Sωi+1)으로 움직이는 다음의 세그먼트[Sωi-Sωi+1]로 지속한다. 점{(Sωi+1)(404)}은 관찰 방향(111)에 따라 표면(S)에 투영되는데, 프로젝션의 결과는 점{(Sωi+1)(404)} 및, 점{(Sωi+1)(404)}을 분리하는 거리(δj+1)이고, 점{(Sωi+1)(404)}은 예를 들어, GPU와 결합된 메모리의 기록 테이블에 기록된다. 반직선(40)의 제 2 세그먼트[Sωi-Sωi+1]가 표면(S)과 교차점을 갖는지를 결정하기 위해, 점{(Sωi+1)(404) 및 (Stj +1)(53)}의 위치는 관찰 지점(11)의 위치와 비교된다. 점{(Stj +1)(53)}은 점{(Sωi+1)(404)} 보다 관찰 지점(11)에 더 인접한데, 이는 제 2 세그먼트[Sωi-Sωi+1]가 표면(S)과 교차점을 갖는다는 것을 의미한다. 교차점의 위치를 정확히 결정하기 위해, 제 2 세그먼트[Sωi-Sωi+1]는 복수의 작은 크기의 샘플로 차례로 이산되고, 제 2 세그먼트의 이산 시킴을 나타내는 세그먼트[Sωi-Sωi+1]의 각 점은 Sωi(402)에 가장 인접한 점으로 시작하여, 방향(111)에 따라 표면(S)에 투영된다. 따라서, 반직선(40)의 세그먼트의 이산 시킴 동작을 재반복함으로써, 반직선(40)과 표면(S) 사이의 교차점의 위치를 매우 정확하게 예측하는 것이 가능하다. 점{(P)(16)} 및 추정된 교차점의 좌표로부터, 차폐 거리(△0)가 결정된다. 반직선(40)의 점점 더 작아지는 샘플로의 연속적인 이산 시킴이, 표면(s)과의 교차점이 정확히 추정되게 하는 것을 가능케 하는 경우, 요구되는 계산은 비용이 많이 들 수 있다. 이롭게, 표면(S)과의 어떠한 교차점도 반 직선의 n번째 샘플에서 결정되지 않았다면{n은 사전 결정된 임계값보다 높다(예를 들어, 15, 20, 25 또는 50개의 샘플과 같은)}, 반직선(40)이 표면(S)과의 교차점을 갖지 않았다고 고려된다.
일 변형에 따라, 반직선(40)과 표면(S) 사이의 교차점과 점(P) 사이의 차폐 거리(△'0)는 교차점 주위의 점{(Sωi)(402) 및 (Sωi+1)(404)}으로부터, 그리고 이전에 추정된 거리(δj 및 δj+1)로부터의 근사에 의해 결정된다. 이러한 변형에 따라, 반직선(40)의 샘플링을 나타내는 2개의 점, 예를 들어, 점{(Sωi)(402) 및 (Sωi+1)(404)} 사이에 포함되는 표면(s)의 표면 요소가 전반적으로 평면이라고 간주된다. 이러한 방식에서, 차폐 거리(△'0)는 선형으로 보간된다:
Figure pat00006
0 내지 1로 포함되는 점{(P)(16)}에서의 차폐 인자를 결정하기 위해, 마지막으로 샘플의 개수에 적응되는, 점(P)에서의 현재 차폐의 기여에 차폐 거리(△'0)의 제곱 루트가 부가된다. 따라서, 점(P)에서의 차폐 인자{A(P)}는 다음과 같이 획득된다.
Figure pat00007
여기서 n은 반직선의 개수에 대응하고,
고려된 반직선이 표면(S)과 교차점을 갖지 않는다면, VP,ωi는 0과 동일한 인자에 대응하고, 고려된 반직선이 표면(S)과 교차점을 갖는다면, 1과 동일한 인자에 대응하며,
α는 예를 들어, 사용자에 의해 구성된 사전 결정된 대비(constrast) 인자에 대응한다.
0에 인접한 차폐 인자{A(P)}의 값은 점(P)에서의 차폐가 많다는 것을 의미하고, 반대로 1에 근접한 차폐 인자{A(P)}의 값은 점(P)에서의 차폐가 적다는 것을 의미한다는 것을 주목해야된다. 이러한 차폐 인자는 표면(S)과의 교차점을 갖는 각 반직선의 기여가 점(P)에서의 차폐의 계산에서 가중되게 하는 것을 이롭게 가능케 한다. 도 2 및 도 3을 참조로 서술된 바와 같이, 원점으로서 점(P)을 갖는 복수의 반직선으로부터 형성된 반구의 표면 요소는 반구를 형성하는 각 반직선과 결합된다. 점(P)에서의 차폐를 결정하기 위해, 한편으로, 표면(S)과의 교차점을 갖는 반직선에 대응하는 표면 요소의 합과, 다른 한편으로 반구의 전체 표면 사이의 비율이 얻어지고, 이와 같이, 획득된 표면의 비율은 점(P)에서의 차폐를 나타낸다. 점(P)에서의 전반적인 차폐에서 표면(S)과의 교차점인 각 반직선(40)의 기여는 교차점으로부터 점(P)을 분리하는 거리에 의존한다. 사실, 차폐 거리가 증가 될수록, 점(P)에서의 전반적인 차폐에서 이러한 교차점의 기여는 줄어든다. 즉, 반직선(40)과 결합된 차폐 인자가 점점 1에 근접할수록, 점(P)에서의 전반적인 차폐의 계산에서 고려되는 반직선의 기여는 상당히 감소된다. 따라서, 표면(S)과의 교차점을 갖는 반직선과 결합된 표면 요소의 합을 계산하기 전에, 표면(S)과의 교차점을 갖는 반직선과 결합된 각 표면 요소를 차폐 인자만큼 가중시키는 것은 이롭다. 따라서, 점(P)에서의 전반적인 차폐는 결합된 인자{A(P)}로 가중되고, 표면(S)와의 교차점을 갖는 반직선과 결합된 표면 요소의 합과, 반직선의 전체 표면의 비율에 대응한다.
도 6은 가상 환경(1)의 한 점에서 차폐의 추정에, 적응되는 디바이스(6) 그리고 하나 또는 수개의 이미지의 디스플레이 신호의 생성의 하드웨어 실시예를 개략적으로 도시한다. 디바이스(6)는 예를 들어, 개인용 컴퓨터(PC), 랩톱 또는 게임 콘솔에 대응한다.
디바이스(6)는 또한, 클록 신호를 송신하는 어드레스 및 데이터의 버스(65)에 의해 서로 연결된 다음의 요소:
- 마이크로처리기(61)(또는 CPU),
- 그래픽 카드(62)로서,
· 수개의 그래픽 처리 유닛{(또는 GPU)(620)},
· 그래픽 랜덤 액세스 메모리{(GRAM)(621)}를
포함하는, 그래픽 카드(62),
- ROM(읽기 전용 메모리) 타입(66)의 비휘발성 메모리,
- 랜덤 액세스 메모리 또는 RAM(67),
- 예를 들어, 키보드, 마우스, 웹캠 등과 같은 하나 또는 수개의 I/O(입/출력) 디바이스(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)가 GRAM(67)에 적재되면, 그래픽 카드(62)의 그래픽 처리기(620)는 이들 파라미터를 GRAM(621)에 적재하고, 이들 알고리즘의 지령을 예를 들어, HLSL(High Level Shader Language) 언어 또는 GLSL(OpenGL Shading Language)를 사용하여 "쉐이더" 타입의 마이크로프로그램의 형태로 실행한다.
랜덤 액세스 메모리 GRAM(621)은 특히:
- 레지스터(6210)에서, 가상 환경(1)을 나타내는 파라미터,
- 관찰 지점(11)으로부터 보이는 가상 환경(1)의 점의 표면(S)을 나타내는 파라미터(6211)(예를 들어, 세상의 공간에서 점들의 좌표),
- 표면(S)과의 교차점이 결정된 반직선을 나타내는 파라미터(6212)(예를 들어, 원점, 방향, 이산 시킴 파라미터),
- 반직선과 표면(S) 사이의 교차점을 나타내는 정보(6213){예를 들어, 교차점의 좌표, 차폐 거리(△0), 거리(δj)},
- 가상 환경(1)의 하나 또는 수개의 보이는 점에서 차폐를 나타내는 차폐 정보(6214)의 하나 또는 수개의 항목, 및
- 관찰 지점(11)과, 관찰 지점(11)으로부터 보이는 가상 환경(1)의 점 사이의 거리를 나타내는 깊이 정보의 항목(6215)(예를 들어, 보이는 점으로부터 관찰 지점을 분리하는 거리를 나타내는 값)을
포함한다.
일 변형에 따라, GRAM(621)에서 이용가능한 메모리 저장 공간이 불충분하다면, 값(6211 내지 6214) 및 파라미터(6215)의 저장을 위해 CPU(61)에 의해 RAM(67)의 일 부분이 할당된다. 하지만, 이러한 변형은 데이터가 버스(65)를 통하여 그래픽 카드로부터 랜덤 액세스 메모리(67)로 송신될 때, GPU에 포함되는 마이크로프로그램으로부터 구성된 환경(1)의 표현을 포함하는 이미지의 구성에서 더 높은 레이턴시 타임을 야기하는데, 여기서, 버스(65)의 송신 성능은 GPU로부터 GRAM으로 또는 반대로의 데이터의 송신을 위해 그래픽 카드에서 이용가능한 성능보다 일반적으로 떨어진다.
다른 변형에 따라, 전원(68)은 디바이스(4)의 외부에 있다.
도 7은 본 발명의 비-제한적이고, 특히 이로운 실시예에 따라, 디바이스(6)에서 구현된 가상 환경의 점(P)에서 차폐의 추정 방법을 도시한다.
초기화 단계(70) 동안, 디바이스(6)의 상이한 파라미터가 업데이트된다. 특히, 가상 환경(1)을 나타내는 파라미터는 임의의 방식으로 초기화된다.
그런 후에, 단계(71) 동안, 관찰 지점(11)으로부터 보이는 가상 환경(1)의 점의 전체 또는 일부를 그룹화하는 표면(S)이 추정되는데, 이 표면은 차폐가 추정되는 점(P)을 포함한다. 표면(S)은 가상 환경(1)의 세상의 공간에서 이롭게 추정된다. 일 변형에 따라, 표면(S)은 관찰 지점(11)으로부터 보이는 가상 환경의 점의 전체 또는 일부로부터 관찰 지점을 분리하는 거리를 나타내는 깊이 맵의 공간에서 결정된다.
그런 후에, 단계(72) 동안, 한편으로, 원점으로서 점(P)을 갖는 복수의 반직선 중 각 반직선과, 다른 한편으로 표면(S) 사이의 교차점이 추정된다. 이를 위해, 각 반직선은 가변 크기의 라인의 세그먼트를 형성하는 방식으로 이산되는데, 각 세그먼트의 크기는 사용자에 의해 구성된다. 세그먼트의 크기가 더 커질수록, 교차점의 추정을 위한 계산은 교차점의 추정의 정확도의 희생하에 더 빨라진다. 반대로, 세그먼트의 크기가 더 작아질수록, 교차점의 추정은 더 정확해지고, 교차점의 추정에 대해 요구되는 계산이 더 비싸지게 된다. 이롭게, 교차점은 가상 환경(1)의 세상의 공간에서 추정된다.
일 변형에 따라, 교차점은 깊이 맵의 공간에서 추정된다.
다른 변형에 따라, 표면(S)과의 교차점이 추정되는 복수의 반직선은 점(P) 상에 중심을 둔 반구(20)를 형성하는데, 이 반구는 주로 점(P)과 결합된 표면 요소 위에 떠있다.
다른 변형에 따라, P 상에 중심을 두고, 표면(S)과의 교차점이 추정되는 반직선으로 형성된 반구(30)는 점(P)과 결합된 표면 요소에 접한다.
특히 이로운 일 변형에 따라, P 상에 중심을 둔 반구를 형성하는 반직선의 방향은 점(P)의 위치에 의존하고, 즉 점(P)의 좌표에 의존한다(이들 좌표가 세상의 공간 또는 깊이 맵의 공간에서 나타나는 지에 관계없이). 이러한 변형에 따라, 복수의 반직선은 표면(S)의 제 1 점(P)에 대해 한정되고, 표면(S)과 이들 반직선 각각의 교차점이 결정된다. 제 1 점에 이웃하는 제 2 점(P)에 대해, 한정된 반직선은 이롭게 제 1 점(P)과 결합된 반직선의 상이한 방향을 갖는 방식이다. 점(P)에 이웃하는 표면(S)의 각 점에 대해 동일한 논리가 적용된다. 따라서, 제 1 점(P)의 이웃 영역이 고려될 때, 상이한 방향을 갖는 다수의 반직선이 획득될 수 있는데, 이 반직선은, 제 1 점(P) 및, 점(P)과 이웃하는 점과 결합된 모든 반직선이 동일한 방향을 갖는 경우에, 점(P)에서 제한된 수의 반직선에 대한 차폐 추정 동안 생성될 수 있는 잡음을 이롭게 감소시킬 수 있다.
또 하나의 변형에 따라, 반직선(40)은 표면(S)과 이들 반직선 각각의 교차점을 결정하기 위한 광선 진행(marching) 방법을 사용하여 이산된다.
마지막으로, 단계(73) 동안, 점(P)에서의 차폐는 원점으로서 점(P)을 갖는 반직선과 표면(S)의 교차점을 나타내는 정보로부터 추정된다. 점(P)에서의 차폐는 표면(S)과의 교차점이 발견되는 반직선의 개수 대 표면(S)과의 교차점이 검색된 반직선의 개수의 비율에 이롭게 대응한다. 일 변형에 따라, 표면(S)과의 교차점이 검색된 반직선은 구, 또는 반구를 형성하는데, 구 또는 반구의 표면 요소는 각 반직선과 결합된다. 이러한 변형에 따라, 점(P)에서의 차폐는 표면(S)과의 교차점을 갖는 반직선과 결합된 표면 요소의 합과 구 또는 반구 각각의 전체 표면 사이의 비율에 대응한다. 다른 변형에 따라, 점(P)에서의 차폐를 나타내는 비율의 분자는 교차점을 갖는 반직선에 대해 표면(S)과의 교차점과 점(P) 사이의 거리를 고려하는 방식으로, 표면(S)과의 교차점을 갖는 각 반직선과 결합된 각 차폐 인자만큼 가중되는데, 교차점의 거리가 짧을 때, 반직선과 결합된 차폐는 더 커진다.
다른 변형에 따라, 점(P)에서의 차폐 정보는 차폐 맵에 저장된다. 가상 환경(1)의 주변 차폐가 추정된다면, 관찰 지점(11)으로부터 보이는 가상 환경(1)의 각 점에서의 차폐는 각 보이는 점에 대해 단계(72 및 73)를 반복함으로써 추정되는데, 각 보이는 점의 차폐 정보는 차폐 맵에 저장된다. 마찬가지로, 관찰 지점이 변할 때, 이러한 새로운 관찰 지점으로부터 하나 또는 수개의 보이는 점에서의 차폐를 추정하기 위해 단계(71 내지 73)가 반복된다.
자연히, 본 발명은 이전에 서술된 실시예에 제한되지 않는다.
특히, 본 발명은 가상 환경의 점(P)에서 차폐의 추정을 위한 방법에 제한되지 않을 뿐 아니라, 이러한 방법을 구현하는 임의의 디바이스, 및 특히 적어도 하나의 GPU를 포함하는 임의의 디바이스로 확장된다. 점(P)에서의 차폐의 추정에 대해 필요한 계산의 구현은 쉐이더 타입의 마이크로프로그램에서의 구현에 제한되지 않을 뿐 아니라, 임의의 프로그램 타입, 예를 들어, CPU 타입의 마이크로프로세서에 의해 실행될 수 있는 프로그램에서의 구현으로 확장된다.
본 발명의 사용은 실시간 이용에 제한되지 않을 뿐만 아니라, 임의의 다른 활용, 예를 들어 합성 이미지의 디스플레이를 위한 레코딩 스튜디오에서 후제작 처리로 알려진 처리로 확장된다. 후제작에서의 본 발명의 구현은 특히 요구되는 계산 시간을 감소시키면서, 사실적인 면에서 뛰어난 시각적 디스플레이를 제공하는 장점을 제공한다.
또한, 본 발명은 2차원 또는 3차원에서 비디오 이미지의 합성 방법에 관한 것인데, 여기서 하나 또는 수개의 관찰 방향에 따른 주변 차폐가 계산되고, 결과적인 주변 차폐를 나타내는 정보가 이미지의 픽셀의 디스플레이에 사용되는데, 각 픽셀은 관찰 방향에 대응한다. 이미지의 각 픽셀을 통한 디스플레이를 위해 계산된 주변 차폐는 관찰자의 상이한 관찰 지점에 적응하기 위해 재 계산된다.
또한, 본 발명은 가상 환경(1)의 객체 상에서 광의 반사를 고려하는, 점(P)에서 수신된 광의 품질의 추정 방법에 관한 것이다. 반사된 광의 품질은 고려된 점(P)에서의 차폐와, 고려된 점(P)에 이웃하는 영역과 결합된 표면 요소와 결합된 반사율 특성에 의존한다.
본 발명은 예를 들어, 이미지를 실시간으로 제작하고 디스플레이하는 PC 또는 휴대용 컴퓨터에서 또는 특정 게임 콘솔에서 실행될 수 있는 프로그램을 통해 비디오 게임 애플리케이션에 사용될 수 있다. 도 6을 참조로 서술된 디바이스(6)는 키보드 및/또는 조이스틱과 같은 상호작용 수단, 예를 들어, 음성 인식과 같은 명령 입력 또한 가능할 수 있는 다른 모드가 이롭게 구비된다.
1 : 가상 환경 12, 12, 13, 14, 15 : 가상 객체
11 : 관찰 지점 16 : 보이는 점
40 : 반직선 110 : 깊이 맵
403 : 교차점

Claims (12)

  1. 관찰 지점(11)으로부터 보이는 가상 환경(1)의 점 중 적어도 일부를 그룹화하는 표면(S)에 속하는, 가상 환경(1)의 점{(P)(16)}에서 차폐를 추정하는 방법에 있어서,
    - 상기 표면(S)과, 원점으로서 상기 점{(P)(16)}을 갖는 복수의 반직선 사이의 교차점(403)을 나타내는 정보(6213)를 추정하는 단계(72)로서, 상기 교차점(403)은 상기 복수의 반직선 중 각 반직선(40)의 이산 시킴(discretization)에 의해 추정되는, 정보(6213)를 추정하는 단계(72),
    - 상기 복수의 반직선 중 상기 표면(S)과의 교차점을 갖는 반직선과 차폐 인자를 결합하는 단계로서, 상기 차폐 인자는 상기 교차점(403)으로부터 상기 점{(P)(16)}을 분리하는 차폐 거리(△0)의 함수인, 반직선과 차폐 인자의 결합 단계, 및
    - 추정된 교차점(403)을 나타내는 상기 정보와 상기 차폐 인자로부터 상기 점{(P)(16)}에서 차폐의 추정 단계(73)를
    포함하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  2. 제1항에 있어서, 상기 복수의 반직선 중 하나의 반직선과 결합된 차폐 인자의 값은 상기 반직선과 상기 표면(S) 사이의 교차점으로부터 상기 점(P)을 분리하는 거리에 반비례하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 점{(P)(16)}에서의 차폐는 상기 표면(S)과의 교차점을 갖는 반직선의 개수 대, 복수의 반직선의 전체 개수의 비율에 대응하고, 상기 점(P)에서의 차폐를 나타내는 상기 비율의 분자는 상기 차폐 인자로 가중되는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  4. 제1항 또는 제2항에 있어서, 가상 환경(1)의 보이는 점으로부터 상기 관찰 지점(11)을 분리하는 거리의 추정 단계를 추가로 포함하는데, 상기 추정된 거리는 깊이 맵(110)에 나타나고, 교차점을 나타내는 상기 정보의 항목의 추정은 상기 깊이 맵의 공간에서 수행되는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  5. 제1항 또는 제2항에 있어서, 상기 복수의 반직선은 상기 점{(P)(16)} 상에 중심을 두고, 주로 상기 점{(P)(16)}과 결합된 상기 표면(S)의 표면 요소(210) 위로 떠오르는 반구(20, 30)를 형성하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  6. 제5항에 있어서, 상기 반직선의 밑면(31)은 상기 점{(P)(16)}과 결합된 상기 표면 요소(210)에 접하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  7. 제1항 또는 제2항에 있어서, 차폐 맵의 상기 점{(P)(16)}에서 차폐를 나타내는 정보의 항목의 저장 단계를 포함하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  8. 제1항 또는 제2항에 있어서, 반직선(40)의 방향(ωi)은 상기 점{(P)(16)}의 위치에 의존하는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  9. 제1항 또는 제2항에 있어서, 교차점(403)을 나타내는 상기 정보는 광선 진행(marching) 방법을 사용하여 추정되는 것을 특징으로 하는, 가상 환경의 점에서 차폐를 추정하는 방법.
  10. 관찰 지점(11)으로부터 보이는 가상 환경(1)의 점 중 적어도 일부를 그룹화하는 표면(S)에 속하는, 가상 환경(1)의 점{(P)(16)}에서 차폐의 추정에 적응되는 디바이스에 있어서,
    - 상기 표면(S)과 원점으로서 상기 점{(P)(16)}을 갖는 복수의 반직선 사이의 교차점(403)을 나타내는 정보(6213)를 추정하는 수단(620)으로서, 상기 교차점(403)은 상기 복수의 반직선 중 각 반직선(40)의 이산 시킴에 의해 추정되는, 정보(6213)를 추정하는 수단(620),
    - 상기 복수의 반직선 중 상기 표면(S)과의 교차점을 갖는 반직선과 차폐 인자를 결합하는 수단(620)으로서, 상기 차폐 인자는 상기 교차점(403)으로부터 상기 점(P)(16)을 분리하는 차폐 거리(△0)의 함수인, 반직선과 차폐 인자의 결합 수단(620), 및
    - 추정된 교차점(403)을 나타내는 상기 정보 및 상기 차폐 인자로부터 상기 점{(P)(16)}에서의 차폐의 추정(620) 수단(620)을
    포함하는 것을 특징으로 하는, 가상 환경의 점에서 차폐에 적응되는 디바이스.
  11. 제10항에 있어서, 상기 복수의 반직선과 결합된 차폐 인자의 값은 상기 반직선과 상기 표면(S) 사이의 교차점으로부터 상기 점(P)을 분리하는 거리에 반비례하는 것을 특징으로 하는, 가상 환경의 점에서 차폐에 적응되는 디바이스.
  12. 제10항 또는 제11항에 있어서, 상기 점{(P)(16)}에서의 차폐는 상기 표면(S)과의 교차점을 갖는 반직선의 개수 대, 복수의 반직선의 전체 개수의 비에 대응하고, 상기 점{(P)(16)}의 차폐를 나타내는 상기 비율의 분자는 상기 차폐 인자로 가중되는 특징으로 하는, 가상 환경의 점에서 차폐에 적응되는 디바이스.
KR1020110107619A 2010-10-21 2011-10-20 가상 환경에서 차폐의 추정 방법 KR20120047778A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1058604A FR2966623A1 (fr) 2010-10-21 2010-10-21 Procede d’estimation de l’occultation dans un environnement virtuel
FR1058604 2010-10-21

Publications (1)

Publication Number Publication Date
KR20120047778A true KR20120047778A (ko) 2012-05-14

Family

ID=44169078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110107619A KR20120047778A (ko) 2010-10-21 2011-10-20 가상 환경에서 차폐의 추정 방법

Country Status (6)

Country Link
US (1) US20120105450A1 (ko)
EP (1) EP2444940B1 (ko)
JP (1) JP5873683B2 (ko)
KR (1) KR20120047778A (ko)
CN (1) CN102592306B (ko)
FR (1) FR2966623A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576389B2 (en) 2013-10-22 2017-02-21 Samsung Electronics Co., Ltd. Method and apparatus for generating acceleration structure in ray tracing system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130100135A1 (en) * 2010-07-01 2013-04-25 Thomson Licensing Method of estimating diffusion of light
FR2974217A1 (fr) * 2011-04-12 2012-10-19 Thomson Licensing Procede d’estimation d’une information representative d’une hauteur
US10049489B2 (en) 2015-03-03 2018-08-14 Imagination Technologies Limited Systems and methods for soft shadowing in 3-D rendering
CN110047127B (zh) * 2019-03-20 2023-07-25 山东芯合机器人科技有限公司 一种三维几何体的消隐方法及显示方法
CN111773724B (zh) * 2020-07-31 2024-04-26 网易(上海)网络有限公司 一种跨越虚拟障碍的方法和装置
US11657562B2 (en) * 2021-04-19 2023-05-23 Adobe Inc. Utilizing hemispherical clamping for importance sampling of image-based light to render a virtual environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646640B2 (en) * 2001-02-06 2003-11-11 Sony Computer Entertainment Inc. System and method for creating real-time shadows of complex transparent objects
US7542038B2 (en) * 2005-06-30 2009-06-02 Intel Corporation Method and system for pivot-point based adaptive soft shadow estimation
US8184119B2 (en) * 2005-07-13 2012-05-22 Siemens Medical Solutions Usa, Inc. Fast ambient occlusion for direct volume rendering
CN1889128A (zh) * 2006-07-17 2007-01-03 北京航空航天大学 基于gpu的预计算辐射度传递全频阴影的方法
TWI322392B (en) * 2006-12-14 2010-03-21 Inst Information Industry Apparatus, method, application program, and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3d object
US7969438B2 (en) * 2007-01-23 2011-06-28 Pacific Data Images Llc Soft shadows for cinematic lighting for computer graphics
TWI368185B (en) * 2008-11-06 2012-07-11 Ind Tech Res Inst Method for detecting shadow of object
US9483864B2 (en) * 2008-12-05 2016-11-01 International Business Machines Corporation System and method for photorealistic imaging using ambient occlusion
CN101615300B (zh) * 2009-07-02 2011-12-07 北京航空航天大学 一种屏幕空间微结构表面对象环境光遮挡方法
CN101840566A (zh) * 2010-04-16 2010-09-22 中山大学 一种基于gpu并行计算的实时阴影生成方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576389B2 (en) 2013-10-22 2017-02-21 Samsung Electronics Co., Ltd. Method and apparatus for generating acceleration structure in ray tracing system

Also Published As

Publication number Publication date
EP2444940B1 (en) 2020-03-25
US20120105450A1 (en) 2012-05-03
CN102592306A (zh) 2012-07-18
EP2444940A1 (en) 2012-04-25
JP5873683B2 (ja) 2016-03-01
CN102592306B (zh) 2017-03-01
JP2012089136A (ja) 2012-05-10
FR2966623A1 (fr) 2012-04-27

Similar Documents

Publication Publication Date Title
US9558586B2 (en) Method for estimating the opacity level in a scene and corresponding device
US9082230B2 (en) Method for estimation of the quantity of light received at a point of a virtual environment
KR20120047778A (ko) 가상 환경에서 차폐의 추정 방법
KR102151443B1 (ko) 하이브리드 gpu 아키텍처 기반의 그래픽 처리 장치
EP2676245B1 (en) Method for estimation of occlusion in a virtual environment
EP2677504A2 (en) Method for estimating the quantity of light received by a participating media, and corresponding device
US8878847B2 (en) Method for estimation of an item of information representative of height
CA2866589C (en) Method for representing a participating media in a scene and corresponding device
JP5848071B2 (ja) 均質な媒質中の光の散乱を推定する方法
KR101208826B1 (ko) 깊이 텍스처의 등고선을 기반으로 한 실시간 다각형 앰비언트 오클루전 방법
EP2801955A1 (en) Method and device for visualizing contact(s) between objects of a virtual scene
KR101210796B1 (ko) 깊이 텍스처를 이용한 실시간 다각형 앰비언트 오클루전 방법
Chen Rendering in computer graphics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application