KR101435759B1 - 모션 블러 및 피사계 심도를 위한 후면 컬링 - Google Patents

모션 블러 및 피사계 심도를 위한 후면 컬링 Download PDF

Info

Publication number
KR101435759B1
KR101435759B1 KR1020137008185A KR20137008185A KR101435759B1 KR 101435759 B1 KR101435759 B1 KR 101435759B1 KR 1020137008185 A KR1020137008185 A KR 1020137008185A KR 20137008185 A KR20137008185 A KR 20137008185A KR 101435759 B1 KR101435759 B1 KR 101435759B1
Authority
KR
South Korea
Prior art keywords
triangle
vertex
sign
determining
curling
Prior art date
Application number
KR1020137008185A
Other languages
English (en)
Other versions
KR20130050994A (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 KR20130050994A publication Critical patent/KR20130050994A/ko
Application granted granted Critical
Publication of KR101435759B1 publication Critical patent/KR101435759B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • 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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Abstract

컴퓨터 그래픽 렌더링 중에 렌더링 프리미티브들을 효율적으로 후면 컬링하기 위해, 컬링될 렌더링 프리미티브들이 이동하거나 초점 이탈 블러(defocus blur)를 겪는 경우에도 렌더링 프리미티브들이 후면 배향되는 것이 보증되는 것을 확실히 하는 것이 중요하다. 따라서, 우리는 이동하며 초점 이탈된 삼각형이 전체 기간에 걸쳐 그리고 렌즈의 영역에 걸쳐 후면 배향되는지를 판정하는 보존적 테스트들을 유도해낸다. 아울러, 우리는 단지 모션 블러만의 그리고 단지 피사계 심도만의 특수한 경우들에 대한 테스트들도 제공한다.

Description

모션 블러 및 피사계 심도를 위한 후면 컬링{BACKFACE CULLING FOR MOTION BLUR AND DEPTH OF FIELD}
이것은 그래픽 처리에 관한 것으로서, 구체적으로는 모션 블러(motion blur) 및 피사계 심도 렌더링(depth of field rendering)에 관한 것이다.
모션 블러는 이동 물체들이 긴 카메라 노출 시간으로 캡처될 때 흐리게 보이는 효과이다. 피사계 심도는 더 큰 구경이 더 짧은 초점 범위를 가지며 초점을 벗어난 물체들이 흐리게 보이는 효과이다.
가장 중요한 컬링 테스트들 중 하나는 후면 컬링(backface culling)이다. 후면 컬링은 카메라로부터 떨어져서 배향되어 있는 물체들의 래스터 변환 처리를 필요 없게 한다. 렌더링 프리미티브의 면 법선이 카메라 뷰 벡터와 90도보다 큰 각을 이루는 경우에 렌더링 프리미티브는 후면 컬링될 수 있다. 이러한 렌더링 프리미티브들을 컬링함으로써 불필요한 처리가 감소할 수 있다.
모션 블러 및 피사계 심도를 렌더링할 때, 과다한 양의 내부 또는 교점 테스트들이 이루어질 수 있으며, 따라서 이러한 상황들을 위해서도 정확한 후면 컬링 테스트들이 필요하다. 각각의 꼭지점이 삼차원에서 선을 따라 이동하는 이동 삼각형들에 관해서, 이동 삼각형이 모션의 시작과 끝에서 후면 배향(backfacing)된다면 이동 삼각형은 통상적으로 전체 기간에 걸쳐 후면 배향되는 것으로 가정된다.
도 1은 일 실시예의 흐름도이다.
도 2는 다른 실시예의 흐름도이다.
도 3은 또 다른 실시예의 흐름도이다.
도 4는 일 실시예의 개략도이다.
각각의 꼭지점이 3D에서 선형으로 이동하는 삼각형은 모션의 시작에서(t=0에서) 후면 배향되고(즉, 카메라로부터 떨어져서 배향되고), 그 후 전면 배향되며, 그 후 모션의 끝에서(t=1에서) (다시) 후면 배향될 수 있다. 결과적으로, 꼭지점들이 시간에서 선형으로 이동하는 삼각형은 기간의 시작과 끝에서 후면 배향 상태가 참이면 후면 배향된다는 가정은 항상 옳은 것은 아니다.
우리는 꼭지점들이 시간 t=0에서 t=1까지의 프레임 내에 선형으로 이동하는 이동 삼각형을 갖는 것으로 가정한다. t=0에서 우리는 꼭지점들을 q i로 표시하고, t=1에서 이들을 r i라고 한다. 우리는 2D 동차 좌표들(2DH)을 이용하여 절단 공간(clip space)에서 작업하며, 따라서 꼭지점은 p=(px, py, pz)로서 정의된다. 그러면, 선형 보간된 꼭지점은 다음과 같이 표현된다:
Figure 112013027729656-pct00001
꼭지점들(p 0(t), p 1(t), p 2(t))을 갖는 이동 삼각형이 주어진다면, 우리는 다음과 같은 행렬을 형성한다:
Figure 112013027729656-pct00002
여기서, 우리는 가독성을 위해 시간 종속성을 생략하였다. 삼각형은 det(M)<0인 경우에 후면 컬링될 수 있으며, 여기서 행렬식은 다음과 같이 표현된다:
Figure 112013027729656-pct00003
기하학적으로, 이것은 원점과 삼각형에 의해 스패닝(spanning)되는 사면체의 (스케일링된) 유부호(signed) 부피 계산으로서 해석될 수 있다. 따라서, 우리는 t∈[0, 1]에 대해 p 0(t)·(p 1(t) x p 2(t))<0인지를 판정하기를 원한다. 2개의 선형 이동 꼭지점의 외적은 다음과 같이 전개될 수 있다:
Figure 112013027729656-pct00004
여기서,
Figure 112013027729656-pct00005
이 식을 이용하여, 우리는 다음과 같은 시간 종속 행렬식을 유도해낼 수 있다:
Figure 112013027729656-pct00006
여기서,
Figure 112013027729656-pct00007
계수 d=q 0·h=q 0·(q 1 x q 2)는 t=0에서의 삼각형에 대한 후면 테스트이라는 점에 유의한다. 또한, t=1에서의 다항식의 값은 a+b+c+d=r 0·(r 1 x r 2)이며, 이는 유사하게 t=1에서의 후면 테스트이다. 마지막으로, 계수에 대한 식인
Figure 112013027729656-pct00008
은 3개의 꼭지점의 모션 벡터들에 대한 행렬식 테스트이며 이들 모두가 동일 평면에 있는 경우 3차 항은 0, 즉 a=0이라는 점에 유의한다. 따라서, 행렬식이 3차 함수인 것은 모션 벡터들이 2DH에서 체적에 걸쳐있을 때뿐이다.
우리는 다항식이 t∈[0, 1] 및 d<0에서 어떠한 근(root)도 갖지 않는 경우에 삼각형이 안전하게 후면 컬링될 수 있다는 점에 주목한다. 후면 함수가 t=0 및 t=1에서 0 이하인 경우, 우리는 3차 다항식의 극소값 및 극대값 계산할 수 있으며, 기간 t∈[0, 1] 내에 극대값을 발견하는 경우, 이 시점에서 3차 다항식의 값을 체크한다. 그 값이 0 이하인 경우, 우리는 삼각형을 안전하게 후면 컬링할 수 있다. 3개의 꼭지점의 모션 방향이 평행한 경우, 후면 배향 함수는 선형이다.
계수 a는 종종 작거나 거의 평행한 삼각형의 3개의 모션 벡터의 행렬식이다. 따라서, 거듭제곱 형태의 후면 배향 함수(수학식 6)의 직접 계산은 수치적으로 불안정할 수 있다. 이러한 문제를 줄이기 위해, 우리는 다음과 같이 후면 배향 함수를 3차 번스타인(Bernstein) 형태로 표현한다:
Figure 112013027729656-pct00009
여기서, 계수들 bi는 다음과 같이 주어진다:
Figure 112013027729656-pct00010
다음으로, 우리는 번스타인 기초의 볼록 껍질 특성을 이용하여, 임의의 계수 bi, i∈{0, 1, 2, 3}이 양인지를 간단히 체크한다. 이것은 3차 다항식의 진정한 극대값에 대한 테스트보다 더 대략적인 테스트이지만, 수치 정밀도 문제의 위험을 줄인다. 드 카스텔조(de Casteljau) 단계들을 계수들에 적용하며 생성된 계수들을 테스트함으로써 테스트를 정밀화할 수 있다는 점에 유의한다.
번스타인 형태의 모션 블러에 대한 후면 테스트가 도 1에 도시되며, b0을 계산하여 t=0에서 삼각형을 테스트함으로써 시작된다(블록 12). 다이아몬드 14에서의 체크는 b0이 양인지를 판정한다. 양인 경우, 삼각형은 전면 배향된다(블록 16). 양이 아닌 경우, 삼각형은 bn을 계산함으로써 t=1에서 테스트된다(블록 18). bn이 양인 경우, 삼각형은 전면 배향된다(블록 22). 그렇지 않은 경우, i에 1의 값을 넣고(블록 24), bi를 계산함으로써(블록 26) 루프를 시작한다. 다이아몬드 28에서의 체크는 bi가 양인지를 판정한다. 양인 경우, 삼각형은 전면 배향된다(블록 30). 그렇지 않은 경우, i가 n과 같을 때까지 반복하고(블록 32 및 다이아몬드 34), 이어서 삼각형이 후면 배향된 것으로 보고한다(블록 36).
우리는 각각의 꼭지점이 시간에서 선형으로 이동하는 삼각형들에 대한 후면 컬링 테스트의 실제 구현을 다음과 같은 의사 코드에서 개략적으로 설명한다:
Figure 112013027729656-pct00011
삼각형 꼭지점 모션이 다항식으로 표현될 수 있다면, 우리는 이전의 테스트를 일반화할 수 있다. 우리는 각각의 삼각형 꼭지점의 모션을 2DH에서 다음과 같은 n차의 베지어 곡선(Bezier curve)으로 표현한다:
Figure 112013027729656-pct00012
그러면, 후면 테스트는 다음과 같이 된다:
Figure 112013027729656-pct00013
이것은 3n차의 베지어 곡선이며, 여기서 제어 포인트들은 3개의 제어 포인트의 스케일링된 행렬식들의 합들이며 3개의 곡선 각각으로부터의 하나는 꼭지점 모션을 기술한다는 점에 유의한다. 볼록 껍질 특성을 이용하여 보존적인 후면 테스트를 다시 유도해낼 수 있다. 예상대로, 우리는 선형 모션 사례에 대해, 즉 n=1일 때 수학식 10을 얻는다. 유사한 유도가 유리 스플라인들(rational splines)에 대해 수행될 수 있다.
테스트는 매크로 크기의 삼각형들 또는 큰 모션을 갖는 작은 삼각형들의 모션 블러 래스터 변환을 고속화할 가능성을 가지며, 이 경우에 하나의 비싼 후면 컬링 테스트가 다수의 저렴한 내부 테스트를 통해 상각될 수 있다. 보존적 후면 컬링 테스트의 오버헤드에 비해 내부 테스트들의 수가 적은 경우, 샘플별 내부 테스트에서 후면 배향 삼각형들이 올바르게 컬링되므로, 보존적 테스트를 완전히 생략하는 것이 더 좋을 수 있다. 작업 부하에 따라, 테스트는 삼각형 크기들 또는 모션이 임계값을 초과할 때 인에이블될 수 있다.
피사계 심도는 절단 공간에서의 시어(shear)이다. 이 시어는 다음의 행렬, 즉
Figure 112013027729656-pct00014
을 삼각형의 절단 공간 좌표들에 적용함으로써 표현될 수 있다. H, I 및 J는 초점 평면의 위치, 카메라 구경 크기 및 근거리 및 원거리 평면에 의해 주어지는 상수들이다. 렌즈 상의 위치는 (u, v)에 의해 주어진다. 이러한 행렬을 절단 공간에서 삼차원 동차 꼭지점(3DH)
Figure 112013027729656-pct00015
에 적용하는 것은 다음과 같은 시어링(shearing)된 위치
Figure 112013027729656-pct00016
를 생성한다:
Figure 112013027729656-pct00017
여기서,
Figure 112013027729656-pct00018
Figure 112013027729656-pct00019
는 piz 및 piw 항들에 의존하는 꼭지점별 값들이다. 아래에서 표기를 간소화하기 위해, 우리는
Figure 112013027729656-pct00020
Figure 112013027729656-pct00021
의 xyw 성분들로 각각 구성되는 이차원 동차 꼭지점들을 s i(u, v) 및 p i(u, v)로 표시하는데, 즉 다음과 같다:
Figure 112013027729656-pct00022
Figure 112013027729656-pct00023
이므로,
Figure 112013027729656-pct00024
이라는 점에 유의한다. 그러면, 후면 배향 기준은 다음과 같이 된다.
Figure 112013027729656-pct00025
계수들은 다음과 같이 주어진다.
Figure 112013027729656-pct00026
우리는 a 및 b에 대한 일부 식들이 변 방정식 셋업을 위해 재사용될 수 있다는 점에 주목한다. 알 수 있듯이, 피사계 심도에 대한 후면 배향 함수는 u 및 v의 선형 함수(수학식 17)이다. 삼각형은 au+bv+c=0일 때 그의 면 배향을 바꾼다. 따라서, 삼각형은 아래의 식들의 시스템에 대한 해가 존재하는 경우에만 렌즈 상의 어딘가에서 그의 면 배향을 바꿀 것이다.
Figure 112013027729656-pct00027
여기서, 마지막 식은 렌즈 위치 (u, v)가 반경 R을 갖는 원형 렌즈 내에 있는지를 체크한다. 기하학적으로, 이것은 원과 선 사이의 교점으로서, 아래의 경우에만 해를 갖는다.
Figure 112013027729656-pct00028
결과적으로, 우리가 위의 사항이 유지되지 않는다는 것을 입증할 수 있는 경우, 렌즈를 통해 이동할 때 면 변화는 발생하지 않는다. 직관적으로, 삼각형은 (삼차원에서의) 삼각형의 평면 방정식이 렌즈의 형상과 교차하지 않는 경우에 렌즈에 걸쳐 면 배향을 바꾸지 않을 것이다.
마지막으로, 삼각형의 면 법선이 뷰 벡터와 정렬되는 경우, 우리는 piz = pjz 및 piw = pjw, 따라서 αi = αj 및 βi = βj를 가지며, 이는 a=b=0을 유도한다는 점에 유의한다. 이것은 예상대로 면 배향이 렌즈에 걸쳐 바뀌지 않는다는 것을 의미한다.
정적 삼각형이 후면 컬링될 수 있는지를 판정하기 위해, 우리는 렌즈의 중앙(u=v=0)에서 후면 상태를 계산하는 것으로부터 시작한다(도 2의 블록 42). c>0인 경우(도 2의 다이아몬드 44), 삼각형은 소정 시간 동안 렌즈의 중앙에 전면 배향될 수 있으며, 따라서 삼각형은 모든 렌즈 위치들에 대해 (보존적으로) 후면 배향되지 않으므로, 우리의 테스트는 종료된다(도 2의 블록 46). 그렇지 않은 경우, a2+b2를 계산하고(도 2의 블록 48), c2<R2(a2+b2)인지를 테스트한다(블록 50 및 다이아몬드 52). 즉, 삼각형은 아래와 같을 때 보존적으로 후면 컬링될 수 있다(도 2의 블록 56):
Figure 112013027729656-pct00029
그렇지 않은 경우, 삼각형은 전면 배향된다(블록 54).
식 1의 이동 꼭지점과 식 13의 시어 행렬 S를 곱함으로써, 모션 및 피사계 심도로부터의 결과적인 꼭지점 변위 o(u,v,t)가 얻어진다:
Figure 112013027729656-pct00030
여기서,
Figure 112013027729656-pct00031
Figure 112013027729656-pct00032
는 t의 선형 함수들이다.
수학식 21로부터의 대응하는 후면 테스트는 이제 다음과 같이 표현된다:
Figure 112013027729656-pct00033
계수들 a(t), b(t) 및 c(t)는 t의 3차 함수들이다.
삼각형은 다음과 같을 때 보존적으로 후면 컬링될 수 있다:
Figure 112013027729656-pct00034
Figure 112013027729656-pct00035
그렇지 않은 경우, 삼각형은 전면 배향된다(블록 54).
간격 연산을 이용하여 보존적 테스트가 달성될 수 있다. 우리는 간격을
Figure 112013027729656-pct00036
로 표시하며, 여기서,
Figure 112013027729656-pct00037
는 그의 하한이고,
Figure 112013027729656-pct00038
는 상한이다. 그러면, 아이디어는 수학식 24에서 오른쪽 부등호(greater than sign)의 좌측 식을 최소화하고 우측 식을 최대화하는 것이다. 이것은 다음과 같은 결과를 낳는다:
Figure 112013027729656-pct00039
여기서, 우리는
Figure 112013027837498-pct00040
를 사용하였다. 따라서,
Figure 112013027837498-pct00041
이고, 수학식 25가 유지되는 경우, 시간에서 그리고 렌즈에 걸쳐 이동하는 삼각형은 보존적으로 후면 컬링될 수 있다. 3차 다항식 a(t), b(t) 및 c(t)는 거듭제곱 형태로부터 번스타인 형태로 변환될 수 있으며, 그러면 우리는 모션 블러링된 프리미티브들에 대해 이전에 했던 것과 유사하게 보존적 컬링을 위해 번스타인 제어 포인트들의 볼록 껍질 특성을 이용한다.
우리가 렌즈를 변 길이 R을 갖는 정사각형으로 근사화하는 경우, 아래의 식들에 의해 주어지는 더 대략적인 테스트를 달성한다:
Figure 112013027729656-pct00042
이는 박스 테스트에 대한 라인이다. 다시, 우리는
Figure 112013027837498-pct00043
인지, 즉 삼각형이 렌즈의 중앙에서 후면 배향되는지를 테스트함으로써 시작한다. 이어서, (정사각형) 렌즈의 4개의 코너 모두가 스위핑된 라인(swept line)의 동일 측에 위치하는 경우, 우리는 삼각형을 보존적으로 컬링할 수 있다. 이러한 4개의 조건은 다음 식에 의해 주어진다:
Figure 112013027729656-pct00044
식 a, b 및 c는 t의 3차 다항식들이라는 점에 유의한다. 원형 렌즈에 대해 주어지는 간격 분석 테스트와 달리, 우리는 4개의 식 각각에 대해 단일 3차 방정식에 대한 계수들을 계산하고, 이를 제한할 수 있으며, 따라서 더 엄격한 경계에 대해 거듭제곱 계수들 간의 상관성을 유지할 수 있다. 이것은 큰 비선형 계수들을 갖는 모션에 대해 더 효율적일 수 있다.
이어서, 우리는 모션 블러링되고 초점을 벗어난 삼각형들에 대한 후면 컬링 테스트의 실제 구현을 개략적으로 설명한다. 우리는 먼저 a2(t)+b2(t)의 대략적인 그러나 빠른 근사화가 다음 식에 의해 주어진다는 점에 주목한다:
Figure 112013027729656-pct00045
이는 본질적으로 맨하탄(Manhattan) 거리 근사화이다.
그러나, 우리는 1차 테일러(Tayor) 모델들을 이용하여 3차 함수들을 대신 제한할 것인데, 그 이유는 선형 항들에서의 상관성이 유지될 수 있고, 이는 또한 더 엄격한 경계를 제공할 수 있기 때문이다. 우리는 또한 다항식 a(t) 및 b(t)의 t3 및 t2 항들이 대부분의 삼각형들에 대해 0에 매우 가깝다는 점에 주목한다. 이것은 수학식 23의 a(t), b(t) 및 c(t) 항들이 대략 선형임을 암시하지만, 정밀도 문제를 피하기 위해 주의해야 한다는 것도 의미한다. 1차 테일러 모델들을 이용함으로써, 우리는 t3 및 t2 항들이 작을 때 안정성을 보증한다. 임의의 3차 다항식에 대해, 이것은 아래에 나타낸 바와 같이 행해진다:
Figure 112013027729656-pct00046
여기서,
Figure 112013027729656-pct00047
은 다음과 같이 2차 및 3차 항들을 제한하는 나머지 간격이다.
Figure 112013027729656-pct00048
우리는 이것을 사용하여 a2(t)+b2(t)를 다음과 같이 보존적으로 표현한다:
Figure 112013027729656-pct00049
상한은 아래와 같이 주어진다:
Figure 112013027729656-pct00050
여기서,
Figure 112013027729656-pct00051
는 나머지 간격
Figure 112013027729656-pct00052
Figure 112013027729656-pct00053
에서 선형 함수이다. a(t) 및 b(t)가
Figure 112013027729656-pct00054
에서 선형이어서,
Figure 112013027729656-pct00055
을 제공하는 경우, 수학식 32는 그 경우에 정확하다는 점에 유의한다. 전술한 바와 같이, 우리는 (번스타인에 기초하여) 모션 블러에 대한 후면 테스트를 이용하여, 렌즈의 중앙에서 후면 상태를 결정한다.
최종 테스트는 수학식 34의 조건들에 의해 주어지며, 여기서 a2(t)+b2(t)는 수학식 32를 이용하여 제한된다.
도 3을 참조하면, 피사계 심도 및 모션 블러 양자에 대한 후면 테스트를 구현하기 위한 시퀀스는 도 3의 블록 62에서 지시되는 바와 같이 렌즈의 중앙에서 삼각형을 테스트함으로써 시작된다. 이것은 c(t)의 극대값을 계산하고 제한함으로써 행해진다. 이어서, 다이아몬드 64에서의 체크는 max[c(t)]가 0보다 큰지를 판정한다. 큰 경우, 삼각형들은 블록 66에 지시되는 바와 같이 전면 배향된 것으로 보고된다.
그렇지 않은 경우, 블록 68에서 지시되는 바와 같이, max[a2(t)+b2(t)]가 계산되고 제한된다. 이어서, 블록 70에 지시되는 바와 같이, c2의 극소값이 R2max[a2(t)+b2(t)]보다 큰지를 판정하기 위한 테스트가 수행된다. 다이아몬드 72에서 그러한 경우, 블록 74에 지시되는 바와 같이 삼각형은 전면 배향된 것으로 보고되며, 그렇지 않은 경우, 블록 76에서 삼각형은 후면 배향된 것으로 보고된다.
우리는 스크린 공간에서 래스터 변환을 수행하는 모션 블러에 대한 후면 컬링 테스트를 유도할 것이다. 스크린 공간 래스터 변환을 위해, 삼각형의 스크린 공간 면적의 부호에 의해 일반적인 후면 테스트가 주어진다. 투영 변환이 라인 대 라인 맵핑하며, 따라서 모션 벡터들은 투영 후에도 라인들이다. 그러나, 라인을 따른 가속도는 원근 화법으로 인해 상이하다. 우리는 투영된 삼각형의 2개의 변을 다음과 같이 정의한다:
Figure 112013027729656-pct00056
이제, 유부호 면적의 2배는 다음과 같이 표현될 수 있다:
Figure 112013027729656-pct00057
각각의 꼭지점은 t의 함수(수학식 1)라는 점을 상기하며, 이는 스크린 공간에서의 후면 테스트가 t의 3차 유리 함수이게 한다. 삼각형은 평면에서 이동하지만, 꼭지점 위치들은 t에서 더 이상 선형 보간되지 않으며, 삼각형은 기껏해야 3번 면 배향을 바꿀 수 있다.
더구나, 분모
Figure 112013027729656-pct00058
의 크기는 면적 테스트와 무관하며, 따라서 우리가 절단 후에 w 성분들의 부호들을 아는 경우, 분모는 생략될 수 있으며, 이는 예상되는 바와 같이 동차 예와 유사하게 3차 다항식이 되게 한다.
한편, 우리가 스크린 공간에서의 선형 모션을 가정하는 경우, 면적 함수는 2차 다항식이 되며, 따라서 이 경우에도 이동 삼각형은 t=0 및 t=1에서 후면 배향될 수 있고, 여전히 그 사이의 어딘가에서 전면 배향될 수 있다.
우리의 기술들은 실시간 그리고 오프라인 렌더링에 그리고 확률론적 포인트 샘플링 및 분석적 가시도 방법들 양자에 적용된다. 이전의 기술에 의해 유발되는 렌더링 에러들은 극단적인 사례들에서는 쉽게 검출될 수 있지만, 대부분의 사례들에서 이들은 적당한 이미지들을 생성하며, 여기서 에러는 검출되기 어렵다.
도 4에 도시된 컴퓨터 시스템(130)은 버스(104)에 의해 칩셋 코어 논리(110)에 연결된 하드 드라이브(134) 및 이동 가능 매체(136)를 포함할 수 있다. 키보드 및 마우스(120) 또는 기타 전통적인 컴포넌트들이 버스(108)를 통해 칩셋 코어 논리에 연결될 수 있다. 코어 논리는 일 실시예에서 버스(105)를 통해 그래픽 프로세서(112)에 그리고 메인 또는 호스트 프로세서(100)에 연결될 수 있다. 그래픽 프로세서(112)는 또한 버스(106)에 의해 프레임 버퍼(114)에 연결될 수 있다. 프레임 버퍼(114)는 버스(107)에 의해 디스플레이 스크린(118)에 연결될 수 있다. 일 실시예에서, 그래픽 프로세서(112)는 단일 명령 다중 데이터(SIMD) 아키텍처를 이용하는 멀티 스레드(multi-threaded), 멀티-코어 병렬 프로세서일 수 있다.
소프트웨어 구현의 경우, 메인 메모리(132)를 포함하는 임의의 적절한 반도체, 자기 또는 광 메모리 또는 그래픽 프로세서 내의 임의의 이용 가능한 메모리에 적절한 코드가 저장될 수 있다. 따라서, 일 실시예에서, 도 1-3의 시퀀스들을 수행하기 위한 코드가 메모리(132) 또는 그래픽 프로세서(112)와 같은 기계 또는 컴퓨터 판독 가능 매체에 저장될 수 있으며, 일 실시예에서 프로세서(100) 또는 그래픽 프로세서(112)에 의해 실행될 수 있다.
도 1-3은 흐름도들이다. 일부 실시예들에서, 이러한 흐름도들에 도시된 시퀀스들은 하드웨어, 소프트웨어 또는 펌웨어로 구현될 수 있다. 소프트웨어 구현에서는, 반도체 메모리, 자기 메모리 또는 광 메모리와 같은 비일시적인 컴퓨터 판독 가능 매체가 명령어들을 저장하는 데 사용될 수 있고, 도 1-3에 도시된 시퀀스들을 구현하도록 프로세서에 의해 실행될 수 있다.
본 명세서에서 설명되는 그래픽 처리 기술들은 다양한 하드웨어 아키텍처들을 이용하여 구현될 수 있다. 예를 들어, 그래픽 기능이 칩셋 내에 통합될 수 있다. 대안으로서, 개별 그래픽 프로세서가 사용될 수 있다. 또 다른 실시예에서, 그래픽 기능들은 멀티코어 프로세서를 포함하는 범용 프로세서에 의해 구현될 수 있다.
본 명세서 전반에 걸친 "일 실시예(one embodiment)" 또는 "실시예(an embodiment)"에 대한 참조들은 그 실시예와 관련하여 설명되는 특정 특징, 구조 또는 특성이 본 발명 내에 포함되는 적어도 하나의 구현 내에 포함된다는 것을 의미한다. 따라서, "일 실시예(one embodiment)" 또는 "일 실시예에서(in an embodiment)"라는 문구의 출현들은 반드시 동일한 실시예를 지칭하지는 않는다. 더구나, 특정 특징들, 구조들 또는 특성들은 설명되는 특정 실시예와 다른 적절한 형태들로 실시될 수 있으며, 모든 그러한 형태들은 본원의 청구범위 내에 포함될 수 있다.
본 발명은 제한된 수의 실시예와 관련하여 설명되었지만, 당업자는 그러한 실시예들로부터 다양한 변경 및 변형을 이해할 것이다. 첨부된 청구범위는 본 발명의 진정한 사상 및 범위 내에 있는 바와 같은 모든 그러한 변경 및 변형을 포괄하도록 의도된다.

Claims (19)

  1. 후면 컬링을 위한 방법으로서,
    모션 블러(motion blur) 및 피사계 심도(depth of field)를 겪는 삼각형의 꼭지점의 행렬식(a determinant of vertices of a triangle)의 부호(sign)를 판정하는 단계 - 상기 판정하는 단계는 각각의 꼭지점에 대해 상기 피사계 심도의 효과가 2개의 렌즈 좌표(u, v)의 함수에 의해 표현될 수 있으며 상기 꼭지점의 모션이 시간의 함수에 의해 표현될 수 있는 삼각형의 꼭지점의 행렬식의 부호를 판정하는 단계를 포함함 - 와,
    상기 부호에 기초하여, 상기 삼각형을 후면 컬링(backface culling)할 것인지를 결정하는 단계를 포함하는
    후면 컬링 방법.
  2. 삭제
  3. 제1항에 있어서,
    각각의 꼭지점이 시간에서 다항 함수에 따라 이동하는 삼각형의 꼭지점의 행렬식의 부호를 판정하는 단계를 포함하는
    후면 컬링 방법.
  4. 제3항에 있어서,
    각각의 꼭지점이 시간에서 선형으로 이동하는 삼각형의 꼭지점의 행렬식의 부호를 판정하는 단계를 포함하는
    후면 컬링 방법.
  5. 제3항에 있어서,
    번스타인(Bernstein) 계수의 부호를 판정하며, 상기 부호를 이용하여 삼각형이 후면 컬링될 수 있는지를 판정하는 단계를 포함하는
    후면 컬링 방법.
  6. 제1항에 있어서,
    정적 삼각형이 렌즈 내의 임의의 관찰 지점(viewpoint)에 대한 면 배향(facing)을 변경하는지를 판정하는 단계를 포함하는
    후면 컬링 방법.
  7. 제1항에 있어서,
    렌즈의 중앙에서 후면 상태를 먼저 체크함으로써 삼각형이 컬링될 수 있는지를 판정하며, 상기 삼각형이 상기 렌즈의 중앙에서 후면 배향(backfacing)되는 경우에만 완전한 후면 테스트를 진행하며 그렇지 않은 경우에는 상기 삼각형이 잠재적으로 가시적인 것으로 보고하는 단계를 포함하는
    후면 컬링 방법.
  8. 후면 컬링을 위한 장치로서,
    모션 블러 및 피사계 심도를 겪는 삼각형의 꼭지점의 행렬식의 부호를 판정하며, 상기 부호에 기초하여 상기 삼각형을 후면 컬링할 것인지를 결정하는 프로세서 - 상기 프로세서는 각각의 꼭지점에 대해 상기 피사계 심도의 효과가 2개의 렌즈 좌표(u, v)의 함수에 의해 표현될 수 있으며 상기 꼭지점의 모션이 시간의 함수에 의해 표현될 수 있는 삼각형의 꼭지점의 행렬식의 부호를 판정함 - 와,
    상기 프로세서에 연결된 메모리를 포함하는
    후면 컬링 장치.
  9. 제8항에 있어서,
    상기 후면 컬링 장치는 그래픽 프로세서인
    후면 컬링 장치.
  10. 삭제
  11. 제8항에 있어서,
    상기 프로세서는 각각의 꼭지점이 시간에서 다항 함수에 따라 이동하는 행렬식의 부호를 판정하는
    후면 컬링 장치.
  12. 제11항에 있어서,
    상기 프로세서는 각각의 꼭지점이 시간에서 선형으로 이동하는 삼각형의 꼭지점의 행렬식의 부호를 판정하는
    후면 컬링 장치.
  13. 제11항에 있어서,
    상기 프로세서는 번스타인 계수의 부호를 판정하며 상기 부호를 이용하여 삼각형이 후면 컬링될 수 있는지를 판정하는
    후면 컬링 장치.
  14. 제11항에 있어서,
    상기 프로세서는 이동 삼각형이 단일 관찰 지점에 대한 면 배향을 변경하는지를 판정하는
    후면 컬링 장치.
  15. 제8항에 있어서,
    상기 프로세서는 제한된 연산(bounded arithmetic)을 이용하여 상기 행렬식에 대한 방정식의 다항식을 제한(bound)하는
    후면 컬링 장치.




  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
KR1020137008185A 2010-09-28 2011-09-27 모션 블러 및 피사계 심도를 위한 후면 컬링 KR101435759B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/891,898 US8587585B2 (en) 2010-09-28 2010-09-28 Backface culling for motion blur and depth of field
US12/891,898 2010-09-28
PCT/US2011/053384 WO2012047622A2 (en) 2010-09-28 2011-09-27 Backface culling for motion blur and depth of field

Publications (2)

Publication Number Publication Date
KR20130050994A KR20130050994A (ko) 2013-05-16
KR101435759B1 true KR101435759B1 (ko) 2014-08-28

Family

ID=45870183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137008185A KR101435759B1 (ko) 2010-09-28 2011-09-27 모션 블러 및 피사계 심도를 위한 후면 컬링

Country Status (8)

Country Link
US (1) US8587585B2 (ko)
EP (1) EP2622580A4 (ko)
JP (1) JP5770295B2 (ko)
KR (1) KR101435759B1 (ko)
CN (1) CN103140878B (ko)
SG (1) SG189067A1 (ko)
TW (1) TWI483214B (ko)
WO (1) WO2012047622A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125385B (zh) * 2013-04-24 2017-09-01 晨星半导体股份有限公司 影像编辑方法以及影像处理装置
KR20150069617A (ko) * 2013-12-13 2015-06-24 삼성전자주식회사 그래픽 프로세싱 유닛, 이를 포함하는 soc, 및 이를 포함하는 그래픽 프로세싱 시스템
JP6714791B2 (ja) * 2016-07-13 2020-07-01 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
US10235811B2 (en) 2016-12-29 2019-03-19 Intel Corporation Replicating primitives across multiple viewports
US10628910B2 (en) 2018-09-24 2020-04-21 Intel Corporation Vertex shader with primitive replication
CN112686939B (zh) * 2021-01-06 2024-02-02 腾讯科技(深圳)有限公司 景深图像的渲染方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1542167A1 (en) * 2003-12-09 2005-06-15 Koninklijke Philips Electronics N.V. Computer graphics processor and method for rendering 3D scenes on a 3D image display screen
KR100693134B1 (ko) * 2005-04-12 2007-03-13 노키아 코포레이션 3차원 이미지 처리
US20080030513A1 (en) * 2006-08-03 2008-02-07 Guofang Jiao Graphics processing unit with extended vertex cache
US20100097377A1 (en) * 2008-10-20 2010-04-22 Jon Hasselgren Graphics Processing Using Culling on Groups of Vertices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT700515E (pt) * 1993-05-28 2001-03-30 Millennium Venture Holdings Lt Aparelho de inspeccao automatica
WO1997050060A1 (en) * 1996-06-25 1997-12-31 Mental Images Gmbh & Co. Kg System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
JPH1031755A (ja) * 1996-07-15 1998-02-03 Sharp Corp 3次元図形隠面消去処理装置
US5929862A (en) * 1996-08-05 1999-07-27 Hewlett-Packard Co. Antialiasing system and method that minimize memory requirements and memory accesses by storing a reduced set of subsample information
JP4291892B2 (ja) * 1996-12-06 2009-07-08 株式会社セガ 画像処理装置およびその方法
US5995109A (en) * 1997-04-08 1999-11-30 Lsi Logic Corporation Method for rendering high order rational surface patches
JP3895435B2 (ja) * 1997-08-25 2007-03-22 富士通株式会社 三次元グラフ表示処理装置および三次元グラフ表示方法および記憶媒体
US6559844B1 (en) 1999-05-05 2003-05-06 Ati International, Srl Method and apparatus for generating multiple views using a graphics engine
JP3522714B2 (ja) * 2001-06-05 2004-04-26 松下電器産業株式会社 画像生成方法
EP1345177B1 (en) * 2002-03-11 2005-08-31 STMicroelectronics Limited Method and apparatus for evaluating whether a pixel point is inside a triangle
JP4480322B2 (ja) * 2002-09-02 2010-06-16 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
EP1496475B1 (en) 2003-07-07 2013-06-26 STMicroelectronics Srl A geometric processing stage for a pipelined graphic engine, corresponding method and computer program product therefor
JP2007128180A (ja) * 2005-11-01 2007-05-24 Shinsedai Kk 演算処理装置
JP4754384B2 (ja) * 2006-03-30 2011-08-24 株式会社バンダイナムコゲームス プログラム、情報記録媒体および画像生成システム
TWI348120B (en) * 2008-01-21 2011-09-01 Ind Tech Res Inst Method of synthesizing an image with multi-view images
TW200937344A (en) * 2008-02-20 2009-09-01 Ind Tech Res Inst Parallel processing method for synthesizing an image with multi-view images
US8390618B2 (en) * 2008-03-03 2013-03-05 Intel Corporation Technique for improving ray tracing performance
US8328109B2 (en) * 2008-10-02 2012-12-11 Silverbrook Research Pty Ltd Coding pattern comprising registration symbols for identifying the coding pattern

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1542167A1 (en) * 2003-12-09 2005-06-15 Koninklijke Philips Electronics N.V. Computer graphics processor and method for rendering 3D scenes on a 3D image display screen
KR100693134B1 (ko) * 2005-04-12 2007-03-13 노키아 코포레이션 3차원 이미지 처리
US20080030513A1 (en) * 2006-08-03 2008-02-07 Guofang Jiao Graphics processing unit with extended vertex cache
US20100097377A1 (en) * 2008-10-20 2010-04-22 Jon Hasselgren Graphics Processing Using Culling on Groups of Vertices

Also Published As

Publication number Publication date
WO2012047622A2 (en) 2012-04-12
JP5770295B2 (ja) 2015-08-26
TWI483214B (zh) 2015-05-01
KR20130050994A (ko) 2013-05-16
TW201235978A (en) 2012-09-01
US20120075304A1 (en) 2012-03-29
WO2012047622A3 (en) 2012-05-31
JP2013539136A (ja) 2013-10-17
EP2622580A4 (en) 2017-06-21
CN103140878A (zh) 2013-06-05
CN103140878B (zh) 2015-11-25
US8587585B2 (en) 2013-11-19
SG189067A1 (en) 2013-05-31
EP2622580A2 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
KR101435759B1 (ko) 모션 블러 및 피사계 심도를 위한 후면 컬링
JP5120926B2 (ja) 画像処理装置、画像処理方法およびプログラム
US8743114B2 (en) Methods and systems to determine conservative view cell occlusion
TWI478097B (zh) 影像顯示中增強取樣測試效能的無切割時間以及鏡片界限
TWI480834B (zh) 用於隨機柵格化的方法和裝置以及非暫態電腦可讀媒體
TWI550551B (zh) 景深網格化
US20140015835A1 (en) Five-Dimensional Rasterization with Conservative Bounds
TW201205500A (en) Hierarchical bounding of displaced parametric surfaces
EP2410492A2 (en) Optimal point density using camera proximity for point-based global illumination
Maurus et al. Realistic heatmap visualization for interactive analysis of 3D gaze data
US20100026684A1 (en) Method, Apparatus, and Computer Program Product for Improved Graphics Performance
US9569878B2 (en) Sample culling based on linearized 5D edge equations
JPWO2004053741A1 (ja) 三角形と線分の交点計算方法とそのプログラム
KR20200018207A (ko) 반사들을 렌더링하는 시스템들 및 방법들
Lengyel Oblique View Frustum Depth Projection and Clipping.
Ogaki Direct ray tracing of phong tessellation
KR20160142166A (ko) 그래픽 프로세서
KR101068324B1 (ko) 구좌표계 렌더링 방법 및 시스템
McGruder GPU-Accelerated Interactive Ray Casting Visualization for Discontinuous Finite Elements
JP2006350678A (ja) 光線情報生成方法,光線情報の圧縮データ生成方法,光線情報生成装置,光線情報の圧縮データ生成装置,およびそれらのプログラム並びにプログラムを記録した記録媒体
JP2001060272A (ja) 光線追跡による画像表示装置

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
FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 6