KR20010023290A - 하드웨어 가속 렌더링 아키텍처로 3차원 데이터를변환하기 위한 필터 - Google Patents

하드웨어 가속 렌더링 아키텍처로 3차원 데이터를변환하기 위한 필터 Download PDF

Info

Publication number
KR20010023290A
KR20010023290A KR1020007001924A KR20007001924A KR20010023290A KR 20010023290 A KR20010023290 A KR 20010023290A KR 1020007001924 A KR1020007001924 A KR 1020007001924A KR 20007001924 A KR20007001924 A KR 20007001924A KR 20010023290 A KR20010023290 A KR 20010023290A
Authority
KR
South Korea
Prior art keywords
dimensional
data
filter
viewpoint data
viewpoint
Prior art date
Application number
KR1020007001924A
Other languages
English (en)
Other versions
KR100637612B1 (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 요트.게.아. 롤페즈
Priority claimed from PCT/IB1999/001104 external-priority patent/WO2000000934A2/en
Publication of KR20010023290A publication Critical patent/KR20010023290A/ko
Application granted granted Critical
Publication of KR100637612B1 publication Critical patent/KR100637612B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/286Image signal generators having separate monoscopic and stereoscopic modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

그래픽 오브젝트에 대한 다수의 뷰를 발생하는 방법 및 장치는 데이터의 3차원 내용을 변환하기 위한 필터를 이용한다. 상기 필터는 3차원 렌더링 엔진으로부터 펑션 콜들을 수신하고, 상기 그래픽 오브젝트의 3차원 내용에 의거하여 다수의 뷰포인트 데이터를 발생한다. 그 다음에 상기 필터는 상기 뷰포인트 데이터를 디스플레이 드라이버로 전송하여 디스플레이 디바이스에 디스플레이 한다. 일실시예에서, 디스플레이 디바이스는 좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 보여주기 위한 입체 디스플레이다.

Description

하드웨어 가속 렌더링 아키텍처로 3차원 데이터를 변환하기 위한 필터{Filter for transforming 3D data in a hardware accelerated rendering architecture}
본 발명은 그래픽을 생성하는 컴퓨터 시스템에 관한 것으로서, 특히 3차원(3D) 그래픽 생성에 관한 것이다.
보다 많은 그래픽을 이용하는 소프트웨어 응용 프로그램들이 일반화되고 있다. 예를 들면, 비디오 게임들은 종종 다량의 3차원 그래픽을 이용하여 통상의 개인용 컴퓨터(PC) 모니터 상에 디스플레이한다. 도 1은 통상적인 그래픽 응용 프로그램을 실행하여 그 그래픽들을 디스플레이하는 종래의 컴퓨터 시스템을 도시한 블록도이다.
도 1에 있어서, 컴퓨터 시스템(10)은 예를 들어, 마이크로소프트사의 윈도우즈 9x 또는 NT 오퍼레이팅 시스템을 이용하는 펜티엄 사양의 PC로서 실행될 수 있다. 컴퓨터 시스템(10)은 소프트웨어부(12)와 하드웨어 디스플레이부(14)를 포함한다. 소프트웨어부(12)는 응용 프로그램(16), 오퍼레이팅 시스템 3차원 렌더링 엔진(18) 및 2차원(2D) 디스플레이 드라이버(20)를 포함한다. 애플리케이션(16)은 OS 서비스의 실행을 위하여 컴퓨터 시스템(10)의 오퍼레이팅 시스템(OS)에 대한 펑션 콜(function call)을 발생한다. 특히, 애플리케이션(16)은 오퍼레이팅 시스템의 정의된 애플리케이션 프로그래머 인터페이스(API)를 통하여, 그래픽스 모듈이라고도 하는 3차원 렌더링 엔진(18)에 대한 펑션 콜을 발생한다.
3차원 렌더링 엔진(18)은 화면의 상태 추적, 기하학적 구조를 내부적인 표현들로 고속 저장하는 것(caching), 상기 애플리케이션 콜에 따라서 렌더링 엔진을 사용자화하는 것(customizing) 등의 그래픽 관련 동작을 행한다. 3차원 렌더링 엔진(18)은 3차원 오브젝트들을 조종하며, 렌더링된 프레임에 대해 하나 이상의 최종 결과 2D 버퍼 및 스텐슬(stencil) 버퍼와 Z 버퍼 등의 임시 버퍼를 이용하여 이들을 처리한다. 3차원 렌더링을 수행한 후에, 상기 애플리케이션(16)은 3차원 렌더링 엔진(18)에 명령하여 상기 화면을 2D 디스플레이 드라이버(20)를 통하여 최종 프레임 버퍼로 넘겨준다. 3차원 렌더링 엔진은 오퍼레이팅 시스템의 API를 통하여 2D 디스플레이 드라이버(20)와 통신한다. 3차원 렌더링 엔진(18)은 3차원 화면을, 통상적으로 2D 디스플레이 어댑터(22)에 위치한 프레임 버퍼내의 최종 2D 이미지로 렌더링한다. 그 다음에 2D 디스플레이 어댑터는 프레임 버퍼 내의 비디오 데이터를 아날로그 비디오(RGB) 신호들로 변환하고, 디스플레이 모니터(24)는 상기 최종 이미지를 디스플레이 한다.
본 출원은 1997년 11월 18일자로 출원되어 현재 계류중인 미국특허출원 제 08/972,511호 "추출 정보를 위한 드라이버와 그래픽 엔진 사이의 필터(Filter between graphics engine and driver for extracting information)"와, 1997년 12월 31일자로 출원되어 현재 계류중인 미국특허출원 제 09/002,139호 "디스플레이 모니터상의 오브젝트의 밝기를 동적으로 제어하는 장치 및 방법"과 관련되며, 이들은 본원에 참조되어 있다.
도 1은 소프트웨어 렌더링을 이용한 종래의 컴퓨터 디스플레이 시스템의 블록도.
도 2는 본 발명을 구현할 수 있는 컴퓨터 시스템의 블록도.
도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템의 동작을 도시한 흐름도.
도 4a 내지 4c는 본 발명에 사용될 수 있는 다양한 수평 입체 모드를 도시한 도면.
도 5a 내지 5c는 본 발명에 사용될 수 있는 다양한 수직 입체 모드를 도시한 도면.
도 6a 및 6b는 뷰포인트(viewpoint) 렌더링을 도시한 도면.
도 7a 내지 7c는 본 발명의 일실시예에 따른 뷰포인트 렌더링을 도시한 도면.
도 8은 뷰어(viewer) 모델에 사용된 가상 촛점의 시점(eye point)을 도시한 도면.
도 9는 도 8에서 오브젝트에 대한 개선된 투영을 도시한 도면.
도 10은 도 9의 투영에 대한 좌측 시각의 좌표계를 도시한 도면.
도 11은 본 발명을 구현할 수 있는 컴퓨터 시스템의 단순화된 블록도.
도 1에 도시된 소프트웨어 렌더링 아키텍처의 단점은 3차원 렌더링 엔진(18)으로부터의 출력이 단순히 2D 디스플레이 어댑터(22)의 프레임 버퍼 내의 2차원(2D) 이미지라는 점이다. 상기 2D 이미지는 종래의 PC 모니터와 같은 모니터(24)로 출력된다. 따라서, 소프트웨어 렌더링 아키텍처는 입체적인(stereoscopic) 3차원 내용을 발생할 수 없다.
또한, 하드웨어 렌더링 아키텍처를 이용하는 다른 시스템에서, 3차원 가속 장치들이 하드웨어에서 일부 혹은 모든 요구들을 실행하는데 사용될 수도 있다. 그러나, 3차원 렌더링의 출력은 여전히 3차원 가속기의 프레임 버퍼 내의 2D 이미지일 뿐이다. 따라서, 하드웨어 렌더링 아키텍처를 이용하는 시스템들에서, 상기 시스템은 입체적인 3차원 내용을 발생할 수 없다.
그래픽 오브젝트들, 예를 들면 헤드-마운티드(head-mounted) 디스플레이들에 대한 입체적인 3차원 이미지들의 발생을 가능하게 하는 컴퓨터 시스템의 구성이 필요하다. 또한, 입체적인 3차원 이미지들이 종래의 하드웨어 드라이버 및 3차원 가속 하드웨어를 이용하여 발생해서 출력되도록 하는 구성이 필요하다.
상기 및 다른 요구사항들은 본 발명에 의해 해결된다. 본 발명에서는 입체(stereoscopic) 필터가 오퍼레이팅 시스템 그래픽스 모듈로부터의 콜을 그래픽 오브젝트에 대한 3차원 렌더링 동작들을 요구하는 디스플레이 드라이버로 인터셉트한다. 상기 필터는 그 다음에 좌측 눈의 뷰포인트와 우측 눈의 뷰포인트에 대한 입체 이미지 데이터를 발생하고, 이 데이터는 프레임 버퍼에 기억된다. 그 다음에 상기 디스플레이 드라이버로부터의 출력은 아날로그 비디오 신호로 변환되어 입체 디스플레이 디바이스로 출력될 수 있다.
본 발명의 한 특징에 따르면, 그래픽 오브젝트에 대한 3차원 데이터를 발생하기 위한 방법이 제공된다. 상기 방법은 3차원 렌더링 모듈에서, 그래픽 오브젝트에 대한 3차원 렌더링 동작에 대한 펑션 콜 요청을 발생하는 단계를 포함한다. 상기 방법은 또한 필터에 의해 상기 펑션 콜 요청을 수신하고 상기 3차원 그래픽 오브젝트에 대한 복수의 뷰포인트 데이터를 발생하는 단계를 포함한다.
본 발명의 다른 특징은 프로세서에 의해 실행되는 명령들의 시퀀스들을 포함하는 컴퓨터 판독가능 매체를 제공한다. 상기 명령들은 프로세서가 그래픽 오브젝트에 대한 3차원 동작을 요청하는 3차원 렌더링 모듈에 의해 발생된 펑션 콜을 수신하도록 한다. 상기 명령들은 또한 상기 프로세서가 그래픽 오브젝트에 대한 복수의 뷰포인트 데이터를 발생하도록 한다.
당업자들은 다음의 상세한 설명으로부터 본 발명의 다른 목적들 및 이점들을 쉽게 알 수 있을 것이다. 후술하는 실시예들은 본 발명을 수행하기 위해 숙고된 최고의 모드의 실례를 제공하는 것들이다. 본 발명은 본 발명의 범주를 벗어나지 않고 다양하게 변형될 수 있다. 따라서, 도면에 나타낸 사항들은 예시일 뿐 본 발명을 한정하는 것은 아니다.
본 발명은 입체(stereoscopic) 필터를 이용하여 입체적인 3차원 그래픽들을 발생하는 장치 및 방법을 제공한다. 상기 입체 필터는 컴퓨터 시스템의 오퍼레이팅 시스템에 있는 소프트웨어 모듈로서 3차원 하드웨어 가속 드라이버에 대한 펑션 콜들을 인터셉트하도록 구성되어 있다. 상기 필터는 그래픽 오브젝터에 대한 좌측 눈과 우측 눈의 뷰포인트 데이터를 발생하여 프레임 버퍼에 기억하기 위해 디스플레이 드라이버에 데이터를 출력한다.
도 2에 도시된 본 발명의 일실시예에 따르면, 컴퓨터 시스템(100)은 후술하는 애플리케이션(16)의 실행 및 하드웨어부(50)를 지원하는 오퍼레이팅 시스템을 이용하는 소프트웨어(40)를 포함한다. 상기 오퍼레이팅 시스템은 소프트웨어 애플리케이션(16)에 대한 그패픽들을 생성하기 위해 도 1과 관련하여 상세히 설명한 3차원 렌더링 엔진(18)을 포함한다. 특히, 애플리케이션(16)은 상기 오퍼레이팅 시스템의 정의된 응용 프로그래머 인터페이스(API)를 통하여 그래픽스 모듈이라고 하는 3차원 그래픽스 렌더링 엔진(18)에 대한 펑션 콜을 발생한다.
3차원 렌더링 엔진(18)은 그래픽 관련 동작을 수행하고, 하드웨어 가속 렌더링 모드로 구성된다. 즉, 3차원 렌더링 엔진(18)은 디스플레이 드라이버에 대한 펑션 콜들을 발생하도록 구성된다. 특히, 3차원 렌더링 엔진(18)은 가속 드라이버(28)가 그래픽 오브젝트에 대한 그래픽 관련 동작의 수행을 요구하도록 API를 통해 펑션 콜을 전송한다.
입체 필터(26)는 소프트웨어 콤포넌트이며 종래의 디스플레이 드라이버를 로딩하는 것과 유사한 방식으로 컴퓨터 시스템(100)의 OS에 의해 로드된다. 입체 필터(26)는 3차원 렌더링 엔진(18)에 의해 호출된 그래픽 동작을 행하도록 구성된 종래의 디스플레이 드라이버로서 3차원 렌더링 엔진(18)에 나타난다. 따라서 입체 필터(26)는 3차원 렌더링 엔진(18)에 적응적이다.
하드웨어 가속 드라이버(28)는 3차원 렌더링 엔진(18)을 확장하는 별개의 코드 모듈로서 구현된다. 따라서, OS 3차원 렌더링 엔진(18)의 환경에서 실행된다. 3차원 가속 드라이버(28)는 또한 OS 3차원 렌더링 엔진(18)에 의한 루틴 콜이라하는 엔트리 포인트의 배열을 통하여 인터페이스를 나타낸다. 입체 필터(26)는 상기 인터페이스를 이용하며 3차원 가속 드라이버(28)와 동일한 엔트리 포인트들을 사용한다.
예를 들면, 마이크로소프트사의 윈도우즈 OS에서, 3차원 렌더링 엔진(18) 및 3차원 하드웨어 가속 드라이버(28)는 다이내믹 링크 라이브러리(DLL)로서 구현된다. 따라서 각각의 실행가능한 코드 모듈은 외부 코드가 링크하여 호출할 수 있는 전송된 기능들의 엔트리 포인트들을 갖는다. 입체 필터(26)에서 동일한 요구된 엔트리 포인트들을 부여함으로서, 3차원 렌더링 엔진(18)은 종래의 OEM 드라이버처럼 입체 필터(26)를 이용한다.
따라서, 입체 필터(26)는 3차원 하드웨어 가속 드라이버(28)를 위한 펑션 콜들을 인터셉터하여, 예를 들어 초기화 작업, 렌더링 작업, 모드 변경 작업과 같은 다양한 그래픽 동작을 행한다. 3차원 렌더링 엔진이 3차원 하드웨어 가속 드라이버(28)에 대한 펑션 콜들을 발생하도록 구성된다 하더라도, 실제 3차원 가속기(30)는 요구되지 않는다. 실제 3차원 렌더링은 소프트웨어로 요구를 에뮬레이트하기 위하여 3차원 렌더링 엔진(18)을 다시 호출함으로서 소프트웨어로 행해질 수 있다. 그러나, 예증을 위하여, 도 2에 도시된 실시예는 3차원 가속기(30)를 포함한다.
도 2에서, 3차원 하드웨어 가속 드라이버(28)는 3차원 데이터를 비디오 데이터 및 제어 데이터 형식으로 3차원 가속기에 출력한다. 3차원 가속기는 통상적으로 상기 비디오 데이터를 기억하는 프레임 버퍼(31)와 비디오 데이터를 아날로그 RGB 신호들로 변환하는 디지털-아날로그 변환기(DAC)(32)를 포함한다.
입체 필터(26) 소프트웨어 동작은 다음과 같은 세개의 주요한 엔트리 포인트들 세트를 이용한다.
1) 로드 엔트리 포인트들 - 이들은 컴퓨터 시스템(100)에 의한 입체 필터(26)의 로딩 및 3차원 렌더링 엔진(18)으로부터의 요구들을 정확하게 필터링하도록 하는 다른 초기화 작업들을 포함한다.
2) 모드 설정 엔트리 포인트들 - 이들은 특정한 입체 모드가 설정될 수 있도록 한다. 이것은 2D 프레임 버퍼(31)의 관리를 하나의 뷰포인트로부터 입체적 디스플레이를 위한 좌우 뷰포인트들로 변화시킨다.
3) 런 타임 엔트리 포인트들 - 이들은 단일 뷰포인트 3차원 오브젝트 구조를 정의된 입체 모드의 좌우 뷰포인트로 변환시키는 것을 포함한다.
도 3은 도 2의 컴퓨터 시스템(100)의 동작을 도시한 흐름도이다. 단계 60에서, 입체 필터(26)는 종래의 하드웨어 가속 드라이버를 로딩하는 방식과 유사하게 컴퓨터 시스템(100)으로 로드된다. 예를 들면, 입체 필터(26) 인스톨 절차는 입체 필터(26)를 상기 시스템을 위한 3차원 가속 드라이버(28)로서 시스템 데이터베이스에 등록한다. 사용된 특정 3차원 렌더링 엔진에 따라서 기타 여러가지 초기화가 필요할 수도 있다. 예를 들면, 상이한 3차원 렌더링 엔진(18)은 상기 엔진이 어떠한 렌더링 작업을 위해 항상 드라이버(본 경우에는 입체 필터(26))를 호출하도록 상이한 메카니즘을 갖는다.
입체 필터(26)는 3차원 렌더링 엔진이 이미지를 2D 프레임 버퍼(31)로 직접 넘겨주지 않도록 동작한다. 입체 필터(26)가 이것을 행하는 방법은 다양하다. 예를 들면, 입체 필터(26)는 자신을 디바이스 관리 표면 드라이버(device managed surface driver) 또는 렌더링 엔진(18)에 대한 완전히 가속된 드라이버로서 선언할 수 있다. 그러면, 입체 필터(26)는 3차원 렌더링 엔진(18)으로부터 기하학적 펑션 콜들을 처리한다.
상기 기하학적 콜들은 3차원 오브젝트들을 프레임 버퍼(31) 내의 2D 픽셀들로 맵핑한다. 그 다음에 후술하는 바와 같이, 입체 필터(26)는 3차원 오브젝트들을 뷰어 모델로 전달하여 두개의 뷰를 발생하고 이로부터 재구성된 2D 버퍼로 전달한다.
입체 필터(26)를 로딩한 후에, 단계 62에서 입체 필터(26)는 프레임 버퍼(31) 내의 특정 입체 모드를 정의한다. 소정의 입체 모드에 대하여, 좌측 눈의 뷰포인트 및 우측 눈의 뷰포인트 프레임들은 프레임 버퍼(31)로 들어간다. 상기 특정 모드는 라인 단위의 수평 입체 모드일 수 있다. 예를 들면, 도 4a 내지 4c에서, 도 4a는 종래의 프레임 버퍼에 기억되어 있는 그래픽 오브젝트를 나타낸다. 도 4b는 상기 프레임 버퍼가 종래의 프레임 버퍼의 길이의 두배인 모드를 나타낸다. 이 경우, 상기 물리적 프레임 버퍼(31)는 두 개의 프레임으로 분할되고 상기 물리적 프레임 버퍼(31)의 각 라인은 도 4b에 도시되어 있는 바와 같이 좌측 라인과 우측 라인을 포함하도록 분할된다. 한편, 프레임 버퍼의 사이즈가 프레임 버퍼의 실제 길이의 두 배가 될 수 없다면, 도 4c에 도시되어 있는 바와 같이 좌우 프레임은 원래의 프레임 버퍼의 라인 길이를 유지하도록 X 방향으로 압축될 수 있다.
또한, 입체 모드는 프레임 단위의 수직 입체 모드일 수 있다. 예를 들면, 도 5a 내지 5c에서, 도 5a는 종래의 프레임 버퍼에 기억되어 있는 그래픽 오브젝트를 나타낸다. 도 5b는 프레임 버퍼가 종래의 프레임 버퍼의 높이의 두배인 모드를 나타낸다. 이 경우, 상기 물리적 프레임 버퍼(31)는 두 영역으로 분할된다. 도 5b에 도시되어 있는 바와 같이, 상반은 좌측 시각의 프레임(또는 우측 시각의 프레임)을 홀드하고 하반은 우측 시각의 프레임(또는 좌측 시각의 프레임)을 홀드한다. 한편, 프레임 버퍼(31)의 사이즈가 상기 프레임 버퍼의 실제 높이의 두배가 될 수 없으면, 도 5c에 도시되어 있는 바와 같이 원래의 프레임 버퍼 컬럼 사이즈를 유지하기 위해 좌우 프레임은 Y 방향으로 압축될 수 있다.
좌우 시각을 홀드하는 기타 공지된 입체 모드는 사용되는 특정 입체 디스플레이(34)에 따라서 입체 필터(26)에서 구현될 수 있다. 일반적으로 3차원 가속기(30) 상에 위치한 디지털-아날로그 변환기(DAC)(32)는 프레임 버퍼(31)를 스캔하여 좌측 프레임과 후속하는 우측 프레임을 포함하는 아날로그 비디오 신호를 발생한다. 상기 입체 디스플레이(34)는 아날로그 신호를 디코드하여 그 신호로부터 각각의 시각을 추출한다.
프레임 버퍼(31)는 입체 필터(26)에 의해 변경될 수 있으므로, 더 많은 메모리 또는 상이한 메모리 할당이 필요할 수도 있다. 그러나, 입체 필터(26)는 요구조건을 만족시키는 용량을 갖는 모드를 정의하도록 구성된다. 단계 64에서, 입체 필터(26)의 런 타임 단계가 실행된다. 즉, 입체 필터(26)는 3차원 렌더링 엔진(18)으로부터의 기하학적 요구를 인터셉트한다. 전술한 실시예에서, 입체 필터(26)는 프레임 버퍼(31)에 대한 어떠한 직접 기록들을 제거하기 위해 자신을 디바이스 관리 드라이버로 선언할 수 있고, 3차원 렌더링 엔진(18)은 프레임 버퍼(31)로 직접 에뮬레이트하지 않고 상기 입체 필터(26)를 우회할 것이다.
입체 필터(26)는 3차원 렌더링 엔진(18)으로부터 렌더링 요구들을 수신한다. 3차원 렌더링 엔진(18)은 통상적으로 아규먼트들로 표현된 3차원 오브젝트들과 요구들을 전달한다. 3차원 데이터가 인코드되는 방법에 대한 특정 상세는 상이한 엔진 구조들 사이에서 가변한다. 그러나, 각각의 3차원 엔진은 세분화된 3차원의 기하학적 용어를 정의하여야 하는데, 왜냐하면 이들은 3차원 화면에 대한 이론적인 블록이기 때문이다. 본 기술분야에서 공지되어 있는 일반적인 3차원 오브젝트의 표현들은 다각형들, 통상은 오브젝트 표면을 연결하는 삼각형을 나타내는 공간상의 점들을 사용하여 3차원 오브젝트를 형성한다.
그 다음에 단계 66에서, 입체 필터(26)는 각 눈에 대한 기하학적 값들을 발생하여 3차원 오브젝트의 기하학적 요구들을 변경한다. 화면내의 모든 3차원 오브젝트는 공간상의 다른 점으로부터의 투영을 반영하기 위해, 입체 필터(26) 내의 뷰어 모델 알고리즘에 의해 변형된다.
본 발명은 최종 렌더링 뷰포인트들과 관련한 3차원 오브젝트의 뷰어 모델 표현과 관련하여 설명될 것이다. 많은 가능한 뷰어 모델들이 입체 필터(26)에서 구현될 수 있다. 각각의 특정한 뷰어 모델은 3차원의 깊이 감지에 대하여 상이한 면들을 강조하고 상이한 머리 및 눈 구성들을 설계한다. 본 발명을 애매하지 않게 하기 위해 후술하는 바와 같이, 입체 필터(26)에 필요한 입력들과 그 출력들만을 설명한다. 그러나, 본 명세서에 기술된 안내 및 목적들에 따르면, 뷰어 모델 처리의 특정한 상세는 사용된 특정 3차원 렌더링 엔진(18)과 다른 시스템 조건들에 따라서 쉽게 구현될 수 있다.
뷰어 모델 처리에서, 모든 3차원 오브젝트는 두 순간 또는 두 뷰포인트, 즉, 좌측 뷰포인트와 우측 뷰포인트로 분할된다. 3차원 구조의 소정 타겟의 투영면은 각 눈에 대하여 하나씩 두 개의 새로운 투영면으로 교체된다. 원래의 투영면에 대한 새로운 면의 3차원 위치의 정확한 관계는 뷰어 모델이다. 상기 뷰어 모델의 특정 상세는 OS 3차원 렌더링 엔진(18) 구조 표현에 달려 있는데, 3차원 렌더링 엔진(18)은 타겟 2D 렌더링 면을 지정한다.
예를 들면, 3차원 화면을 공간상의 점의 투영으로 렌더링하는 시스템에서, 입체 필터(26) 뷰어 모델 표현은 상이한 렌더링 요구에 의해 3차원 렌더링 엔진(18)으로부터의 렌더링 요구를 3차원 가속 드라이버(30)로 교체한다.
도 6a 및 6b는 입체 필터없이 정규 뷰포인트 렌더링을 이용하는 3차원 렌더링을 도시하고 있고, 도 7a 내지 7c는 입체 필터(26)를 이용하는 뷰포인트 렌더링을 도시하고 있다. 도 7c에 도시되어 있는 바와 같이, 입체 필터(26)는 좌측 뷰포인트에 대하여 좌측으로 상기 요구된 뷰포인트를 변위시키고 그 결과를 프레임 버퍼(31) 내의 좌측 프레임에 할당한다. 제 2 요구는 유사한 방식으로 우측 뷰포인트를 처리한다. 입체 필터(26) 뷰어 모델에서, 뷰포인트 렌더링 요구들만이 각 눈에 대하여 하나씩 두 개의 뷰포인트를 발생하고, 그 결과의 눈(eye) 프레임들은 프레임 버퍼(31)에 기억된다.
한편, 고정된 점의 렌더링 엔진에서, 화면은 항상 그 기하학적 구조가 XYZ 좌표 공간 내에 있는 XY 평면으로 렌더링되고, 상기 화면 내의 모든 점은 재배치 되어 좌측 뷰포인트와 우측 뷰포인트를 나타낸다. 정확한 변위는 공간상의 눈의 위치에 달려 있다.
3차원 오브젝트들에 대한 물리적 뷰포인트들을 발생하는데 사용될 수 있는 본 기술분야에 공지되어 있는 다른 많은 모델들이 있다. 그러나, 예증을 위하여 다음의 뷰어 모델 변환은 입체 필터(26)에 의한 처리 단계들을 나타내는 예이다. 상기 예에서, 상기 모델은 상기 3차원 렌더링 엔진이 XYZ로 표현된 3차원 오브젝트들을 XY 평면으로 렌더링하는 것을 요구하는 경우에 대한 것이다.
도 8은 가상 촛점의 시점(eye point) 모델 표현을 도시한 것이다. 도 8에 도시되어 있는 바와 같이, 타겟 2D 플레인의 폭과 높이가 W×H이면, 위치 h에서의 공간 내의 점은 투영면으로부터 떨어진 타겟의 XY 평면의 중앙에 설정된다. 상기 점 h는 눈의 촛점을 에뮬레이트한다. 각각의 좌우 시각을 생성하기 위해, 시각의 촛점은 좌우로 재배치되고 입체 필터(26)는 재배치된 점에 대하여 3차원 오브젝트의 XYZ 위치를 계산한다.
촛점은 d 만큼 X축 방향으로 이동한다. 좌측 눈 좌표는 우측 눈에 대하여 (W/2-d, H/2, h) 및 (W/2+d, H/2, h)가 된다. 그러면, 입체 필터(26)는 도 9에 도시되어 있는 바와 같이, 새로운 촛점을 이용하여, 원래의 XYZ 좌표 시스템과 Y축을 공유하고 X'축상의 중심위치 W/2 및 Y축상의 H/2를 복원하기 위해 새로운 촛점쪽으로 각 α 만큼 이동시킨 새로운 좌표 시스템 X'YZ'을 생성한다. 새로운 시각(eye view)에 대하여, 변환된 3차원 오브젝트는 새로운 좌표 시스템 X'YZ'으로 표현되고 시각 2D 버퍼로 렌더링된다.
상기 모델은 뷰어의 깊이 지각을 나타내는 h 및 d 파라미터들로 정의되었지만, 입체 필터(26)는 경사각 α에만 의거하여 모델을 파라미터화할 수 있다.
도 10은 도 9로부터의 좌측 시각 투영면의 상면도를 도시한 것이다. 새로운 X'YZ' 좌표 시스템은 원래의 좌표 시스템과 Y축을 공유하기 때문에, 3차원 점의 Y 값들은 동일하다. 도 10으로부터, α에 대한 다음 방정식들이 정의된다.
ⅰ) sinα = k/(z+l) = 1/(x'+k)
ⅱ) cosα = z'/(z+l) = x/(x'+k)
ⅲ) tanα = 1/x = k/z'
방정식 ⅲ)으로부터, l = xtanα를 얻고, 방정식 ⅱ)로부터 z' = (z+1)cosα = (z+xtanα)cosα = zcosα+xsinα을 얻는다. 또한, 방정식 ⅲ)으로부터 z'tanα = zsinα+xsinαtanα를 얻고 방정식 ⅱ)로부터 x' = (x-kcosα)/cosα = x/cosα-k = x(1/cosα-sinαsinα/cosα)-zsinα = xcosα-zsinα를 얻는다. 상기 방정식들을 이용하여, 입체 필터(26)는 좌측 시점에 대한 다음의 새로운 좌표들을 얻는다.
ⅳ) x' = xcosα-zsinα
z' = zcosα+xsinα
y' = y
그러면 입체 필터(26)는 좌측 시각으로부터의 결과들을 반영하여(mirroring) 동일한 점에 대한 우측 시각을 계산한다. 즉, 입체 필터(26)는 (x,y,z)로부터 (W-x,y,z)로 좌측에 대한 점을 반영한다. 그 다음에, 입체 필터(26)는 상기 방정식 ⅳ) 변환을 이용하여 그 점에 대한 좌측 값을 계산한다. 마지막으로, 입체 필터는 그 결과의 점을 (x', y', z')로부터 (W-x', y', z')로 다시 우측으로 반영한다.
상기 점의 좌우측 값들을 계산한 후에, 입체 필터(26)는 좌우 점을 입체 모드에서 이들의 적절한 위치로 변위시킨다. 변환의 상세는 입체 모드에서 프레임 버퍼(31)의 정확한 포맷에 달려 있으며, 이것은 전술한 입체 필터(26)에 의해 설정된다. 예를 들면, 도 4b에 도시되어 있는 동일 길이의 버퍼 수평 모드가 이용되면, 입체 필터는 원래의 프레임 버퍼의 좌반측에 좌측 시각을 위치시키고 우반측에 우측 시각을 위치시킨다. 그래서 좌측 포인트(x', y', z')는 (x'/2, y', z')로 이동하고, 우측 포인트는 (W/2+x'/2, y', z')로 이동할 것이다. 다른 모드들은 축척으로 혹은 축척없이 Y값을 변화시킬 것이다. 마지막으로, 입체 필터(26)는 상기 새로운 기하학적 구조를 3차원 가속 드라이버(28)의 렌더링 단으로 넘겨준다.
도 3을 참조하면, 단계 68에서, 좌우 시점 데이터가 발생한 후에, 입체 필터(26)는 3차원 오브젝트를 3차원 가속 드라이버(28)로 방향전환하여 좌측 시각의 오브젝트를 좌측 프레임으로 렌더링하고 우측 오브젝트를 프레임 버퍼(31) 내의 우측 프레임으로 렌더링한다. 2D 내용은 좌측 프레임 버퍼와 우측 프레임 버퍼로 복사된다.
그 다음에, 단계 70에서 3차원 가속 드라이버는 사전에 설정된 입체 모드에 따라서 상기 오브젝트 데이터를 프레임 버퍼(31)로 기억한다. 단계 72에서, DAC(32)는 아날로그 RGB 신호를 입체 디스플레이(34)로 출력한다. 입체 디스플레이(34)의 특정 구조의 상세는 사용된 디바이스에 따라 가변한다. 그러나, 입체 디스플레이(34)는 뷰어의 마음에 실재적인 입체 효과를 발생하도록 설계되고, 두 눈 사이의 거리를 매치하도록 두 프레임이 정확히 변위되도록 한다.
예를 들면, 각 눈에 대해 분리된 모니터를 갖는 헤드 마운티드 디스플레이(head mounted display)가 사용될 수도 있다. 이런 타입의 디스플레이에서, 상기 RGB 신호는 깊이 시각(depth vision)을 흉내내는 효과를 발생하도록 변조된다.
한편, 두 시각을 투영하는 투영 시스템 디스플레이가 또한 사용될 수도 있다. 그러한 디스플레이에서, 뷰어는 하나의 시야를 차단하고 다른 시야를 눈에 들어오게 하는 특별한 유리를 이용하여 상이한 시야를 각 눈에 전달한다. 일반적으로는 유리상에 컬러 필터 또는 편광 필터로 상이한 컬러 또는 편광을 이용하는 구성이 사용된다.
어떠한 경우든지, DAC(32)로부터의 RGB 비디오 신호 출력이 산업 표준을 만족시키도록 발생되기 때문에, 입체 필터(26)는 입체 디스플레이 디바이스와 함께 사용될 수 있다.
이상 하드웨어 가속 렌더링 아키텍처를 이용하여 그래픽 오브젝트에 대한 입체적인 3차원 화상들을 발생하는 방법 및 장치를 기술하였다. 도 2의 컴퓨터 시스템(100)은 예를 들면, 마이크로소프트사의 윈도우 9x 또는 윈도우즈 NT 오퍼레이팅 시스템을 이용하는 펜티엄급 PC로서 구현될 수도 있다. 그러나, 입체 필터는 어떠한 특정 오퍼레이팅 시스템을 사용하는지에 대해 제한되지 않는다. 예를 들면, 도 11은 본 발명의 실시예를 구현할 수 있는 컴퓨터 시스템(200)을 단순화한 블록도이다. 컴퓨터 시스템(200)은 정보를 주고받기 위한 버스(210) 또는 기타 통신 매체와, 정보를 처리하기 위해 버스(210)에 결합된 프로세서(202)를 포함한다. 컴퓨터 시스템(200)은 프로세서(202)에 의해 실행되는 정보 및 명령을 기억하기 위해 버스(210)에 결합된 동적 억세스 메모리(RAM) 또는 다른 다이나믹 기억 장치(204)(메인 메모리)를 포함한다. 메인 메모리(204)는 또한 프로세서(202)에 의해 명령을 실행하는 동안 임시 변수들 또는 다른 중간 정보를 기억하는데 사용될 수도 있다. 컴퓨터 시스템(200)은 또한 프로세서(202)에 대한 명령들 및 정적 정보를 기억하기 위해 버스(210)에 결합된 정적 기억 장치(206) 및/또는 판독 전용 메모리(ROM)를 포함한다. 자기 디스크 또는 광 디스크와 같은 데이터 기억 장치(208) 및 이들에 대응하는 디스크 드라이브가 정보 및 명령들을 기억하기 위해 버스(210)에 결합될 수 있다.
양호하게는 본 발명의 입체 필터가 마이크로소프트사의 OpenGl 또는 Diredt3차원와 같은 어떠한 벤더(vendor) 3차원 렌더링 엔진과 인터페이스하도록 구성될 수 있다. 그러나, 필터는 렌더링 엔진의 특정 인터페이스 포인트들과 인터페이스하기 때문에, 특정한 입체 필터의 구성은 특정 3차원 렌더링 엔진과 함께 사용될 수 있다. 또한, 입체 필터(26)는 필터와 가속 드라이버 사이의 통신이 동일한 API 상에 있기 때문에 어떠한 특정 3차원 가속 드라이버와 함께 사용되는 것에 한정되지 않는다.
또한, 입체 필터는 제 3의 3차원 가속기 또는 비디오 어댑터와 함께 양호하게 사용될 수 있다. 입체 필터는 이용된 실제 디바이스에 의거하여 입체 모드를 설정하도록 구성된다. 또한, 입체 필터는 그 입체 모드를 지원하는 어떠한 입체 디스플레이 디바이스와 함께 사용될 수 있다. 본 발명의 다른 이점은 OS 소프트웨어 및 제 3 구성요소들이 입체 필터를 수용하기 위해 수정되지 않아도 되며, 따라서 다양한 소프트웨어 요소들과 하드웨어 요소들의 개별화(customizing)와 관련된 시간 및 비용을 상당히 절감할 수 있다는 것이다.
전술한 뷰어 모델과 관련한 본 발명의 중요한 특징은 뷰어의 뷰포인트를 3차원 공간의 임의의 장소로 변화시킬 수 있는 능력이다. 사용자는 애플리케이션 레벨에서 3차원 내용과 독립적인 방법으로 화면 내에서 움직일 수 있도록 하기 위해 입체 필터를 제어한다. 따라서 본 발명은 사용자의 제어 감각을 증가시킨다. 또한, 본 발명은 인입되는 3차원 내용에 대한 상호작용의 범위를 증가시킨다. 뷰포인트를 변화시킴으로서 발생하는 문제는 특정 뷰포인트 상의 중심에 둠으로서 예를 들면, 필요한 계산을 이용하여 3차원 렌더링 엔진이 3차원의 기하학적 모델을 최적화할 수도 있다. 이 방법은 상기 특정 뷰 포인트로부터 보이지 않는 상세를 제거한다. 이것은 뷰포인트에 대한 거리에 따른 상세의 상이한 레벨 및 숨겨진 표면 영역들 내에 있는 다각형들의 제거를 포함할 수도 있다. 대체로, 3차원 모델들을 완전히 렌더링하는 3차원 렌더링 엔진들은 본 발명의 3차원 필터에 의해 조종될 수 있으며, 애플리케이션에 관계없이 뷰포인트를 변화시킨다.
본 발명의 부가적인 특징은 입체 필터가 동일한 3차원 내용에 기초하지만 상이한 뷰포인트들로부터 렌더링된 다수(둘 이상)의 시각(view)을 제공한다는 것이다. 따라서 기본적으로는, 공식 ⅰ) 내지 ⅳ)에서 논의한 계산들은 다른 적절한 공식들로 대체된다. 예를 들면, 멀티-유저 소프트웨어 애플리케이션, 예를 들면, 상이한 유저들이 동일 목적을 가지고 가상 현실에서 한 팀으로서 함께 이용하는 비디오 게임에서, 필터는 하나의 3차원 내용 및 상이한 뷰포인트에 의거한 오브젝트로부터 상이한 시각(view)을 발생시킨다. 각각의 사용자에 대하여 발생한 상기 시각은 사실상 입체적일 필요는 없지만, 입체적일 수도 있다. 예를 들면, 상기 시각들은 다수의 단안용이미지들일 수도 있다.
동작의 입체 모드에서 필터에 의해 행해진 데이터 변환을 구현하는 방법들은 많이 있다. 그 중 한가지 방법은 새로운 촛점을 중심에 위치시켜서 서로 반사된 이미지인 두 개의 상이한 시각을 발생시키는 전술한 변환을 행함으로서 좌측 눈과 우측 눈의 시각을 발생시키는 것이다. 한편, 촛점의 시각은 좌측(또는 우측) 눈의 시각을 취할 수 있으며, 수평으로 거리 W 만큼 이동한 시각을 우측(또는 좌측) 눈의 시각으로 취할 수 있다.
이상, 본 발명의 양호한 실시예를 도시하고 설명하였다. 그러나, 전술한 바와 같이 본 발명은 다양한 다른 조합들 및 환경들에 이용할 수 있으며, 본원 명세서에 표현된 신규한 개념의 범위 내에서 변화 및 수정이 이루어질 수 있음을 주지하라.

Claims (14)

  1. 컴퓨터 시스템(100, 200)에서 그래픽 오브젝트에 대한 3차원 데이터를 발생하는 방법으로서,
    3차원 렌더링 모듈(18)에서 상기 그래픽 오브젝트에 대한 3차원 렌더링 동작을 위한 펑션 콜 요청을 발생하는 단계와,
    필터(26)에 의해 상기 펑션 콜 요청을 수신하는 단계와,
    상기 필터(26)에서, 상기 3차원 그래픽 오브젝트에 대한 복수의 뷰포인트 데이터를 발생하는 단계를 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  2. 제 1항에 있어서,
    상기 필터에서는 상기 3차원 그래픽 오브젝트에 대한 좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 발생하는 단계(66)와,
    상기 좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 디스플레이 드라이버(28)로 전송하는 단계(68)를 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  3. 제 2항에 있어서, 상기 좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 프레임 버퍼(31)에 기억시키는 단계(70)를 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  4. 제 3항에 있어서, 상기 프레임 버퍼 내의 각 라인을 좌측 눈의 데이터를 기억하기 위한 제 1 영역과 우측 눈의 데이터를 기억하기 위한 제 2 영역의 두 영역으로 분할하는 단계(도 4b, 4c)를 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  5. 제 3항에 있어서, 상기 프레임 버퍼를 상부 영역과 하부 영역으로 분할하는 단계(도 5b, 5c)를 포함하며, 상기 두 영역들 중 하나의 영역은 좌측 눈의 데이터를 기억하고 다른 영역은 우측 눈의 데이터를 기억하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  6. 제 2항에 있어서, 상기 좌측 눈의 뷰포인트 데이터와 과 우측 눈의 뷰포인트 데이터를 발생하는 단계는,
    3차원 렌더링 모듈로부터의 렌더링 요청들을 아규먼트들로서 3차원 오브젝트들과 함께 수신하여,
    뷰어 모델 입력에 의거하여, 소정의 타겟 투영면을 두 개의 투영면으로 대체하는 단계(도 7b, 7c)를 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  7. 제 6항에 있어서, 상기 뷰어 모델 입력은 3차원 오브젝트의 기하학적 구조의 3차원 렌더링 모듈의 표현 및 상기 타겟 2D 렌더링 면의 표현(도 10)에 기초하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  8. 제 1항에 있어서, 상기 필터는 프레임 버퍼에 대한 출력을 발생하는 하드웨어 가속 드라이버로서 구성되는 단계를 더 포함하는 그래픽 오브젝트에 대한 3차원 데이터 발생 방법.
  9. 그래픽 데이터를 발생하는 컴퓨터 시스템(100)으로서,
    상기 컴퓨터 시스템에 의해 실행된 소프트웨어 애플리케이션에 대한 그래픽 데이터를 발생하도록 구성되어 있으며, 3차원 그래픽 동작들의 실행을 요청하는 펑션 콜들을 전송하도록 구성된 그래픽 모듈(18)과,
    상기 펑션 콜들을 수신하고 그래픽 오브젝트의 복수의 뷰포인트 데이터를 발생하도록 구성된 필터(26)와,
    상기 복수의 뷰포인트 데이터를 수신하도록 구성된 디스플레이 드라이버(28)를 포함하는 컴퓨터 시스템.
  10. 제 9항에 있어서, 상기 필터(26)는 상기 그래픽 오브젝트의 좌측 눈의 뷰포인트 데이터 및 우측 눈의 뷰포인트 데이터를 발생하도록 구성되어 있는 컴퓨터 시스템.
  11. 제 10항에 있어서, 상기 필터(26)는
    3차원 렌더링 모듈로부터의 렌더링 요청들을 아규먼트들로서 3차원 오브젝트들과 함께 수신하고,
    뷰어 모델 입력에 의거하여, 소정의 타겟 투영면을 두 개의 투영면으로 대체하도록 구성(도 10)되는 컴퓨터 시스템.
  12. 제 11항에 있어서, 상기 뷰어 모델 입력은 3차원 오브젝트의 기하학적 구조의 3차원 렌더링 모듈의 표현 및 상기 타겟 2D 렌더링 면의 표현(도 10)에 기초하는 컴퓨터 시스템.
  13. 복수의 명령 시퀀스가 기억되어 있는 컴퓨터 판독가능 매체(208)로서,
    프로세서에 의해 실행될 때, 상기 프로세서로 하여금
    그래픽 오브젝트에 대하여 3차원 동작을 요청하는, 3차원 렌더링 모듈(18)에 의해 발생된 펑션 콜을 수신하고,
    상기 그래픽 오브젝트에 대한 복수의 뷰포인트 데이터를 발생하도록 하는 명령들의 시퀀스들을 포함하는 컴퓨터 판독가능 매체.
  14. 제 13항에 있어서, 상기 복수의 명령 시퀀스는 상기 프로세서가
    좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 발생하고(66),
    상기 좌측 눈의 뷰포인트 데이터와 우측 눈의 뷰포인트 데이터를 디스플레이 드라이버로 전송하도록 하는(68) 컴퓨터 판독가능 매체.
KR1020007001924A 1998-06-30 1999-06-14 하드웨어 가속 렌더링 구조로 3 차원 데이터를 변환하기 위한 필터 KR100637612B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/107,918 US6496183B1 (en) 1998-06-30 1998-06-30 Filter for transforming 3D data in a hardware accelerated rendering architecture
US09/107,918 1998-06-30
PCT/IB1999/001104 WO2000000934A2 (en) 1982-08-31 1999-06-14 Filter for transforming 3d data in a hardware accelerated rendering architecture

Publications (2)

Publication Number Publication Date
KR20010023290A true KR20010023290A (ko) 2001-03-26
KR100637612B1 KR100637612B1 (ko) 2006-10-24

Family

ID=22319158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007001924A KR100637612B1 (ko) 1998-06-30 1999-06-14 하드웨어 가속 렌더링 구조로 3 차원 데이터를 변환하기 위한 필터

Country Status (7)

Country Link
US (1) US6496183B1 (ko)
EP (1) EP1038271B1 (ko)
JP (1) JP4364436B2 (ko)
KR (1) KR100637612B1 (ko)
CN (1) CN1143244C (ko)
DE (1) DE69912576T2 (ko)
TW (1) TW514836B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913173B1 (ko) * 2005-07-05 2009-08-19 삼성모바일디스플레이주식회사 3d 그래픽 처리장치 및 이를 이용한 입체영상 표시장치
US8154543B2 (en) 2005-07-05 2012-04-10 Samsung Mobile Display Co., Ltd. Stereoscopic image display device
WO2012128421A1 (ko) * 2011-03-22 2012-09-27 주식회사 넥서스칩스 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법
US8279221B2 (en) 2005-08-05 2012-10-02 Samsung Display Co., Ltd. 3D graphics processor and autostereoscopic display device using the same

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159041B2 (en) * 2000-03-07 2007-01-02 Microsoft Corporation Method and system for defining and controlling algorithmic elements in a graphics display system
JP3841630B2 (ja) * 2000-08-29 2006-11-01 オリンパス株式会社 画像取り扱い装置
US20020154214A1 (en) * 2000-11-02 2002-10-24 Laurent Scallie Virtual reality game system using pseudo 3D display driver
US6874150B2 (en) * 2001-03-01 2005-03-29 Microsoft Corporation Method and system for maintaining connections between surfaces and objects in a graphics display system
US6828975B2 (en) 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US7219352B2 (en) * 2002-04-15 2007-05-15 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
US7451457B2 (en) * 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
KR100914120B1 (ko) * 2002-04-15 2009-08-27 마이크로소프트 코포레이션 비디오 렌더러와 그래픽 디바이스 드라이버, 및 이들간의 상호 작용을 용이하게 하기 위한 장치, 시스템, 방법 및 전자적으로 액세스 가능한 매체
US20040233222A1 (en) * 2002-11-29 2004-11-25 Lee Jerome Chan Method and system for scaling control in 3D displays ("zoom slider")
US6862530B2 (en) * 2003-04-11 2005-03-01 Schlumberger Technology Corporation System and method for visualizing multi-scale data alongside a 3D trajectory
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
US7158668B2 (en) * 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
JP4841250B2 (ja) * 2003-12-19 2011-12-21 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 3dビデオゲーム・システム
WO2005083637A1 (es) 2004-02-27 2005-09-09 Td Vision Corporation, S.A. De C.V. Método y sistema de decodificación digital de imágenes de video 3d estereoscópicas
BRPI0520196A2 (pt) * 2005-04-25 2009-04-22 Yappa Corp sistema de geraÇço e exibiÇço de imagem em 3d
KR100898287B1 (ko) * 2005-07-05 2009-05-18 삼성모바일디스플레이주식회사 입체 영상 표시 장치
US7505170B2 (en) * 2005-07-13 2009-03-17 Microsoft Corporation Conversions between spool files and PDL within a pipeline of modular filters
EP1960968A4 (en) * 2005-12-01 2016-06-29 Intel Corp INFOGRAPHIC PROCESSOR AND THREE-DIMENSIONAL IMAGE RENDERING METHOD ON DISPLAY SCREEN
US8284204B2 (en) * 2006-06-30 2012-10-09 Nokia Corporation Apparatus, method and a computer program product for providing a unified graphics pipeline for stereoscopic rendering
CN101105746B (zh) * 2006-07-14 2010-05-12 联想(北京)有限公司 采用过滤驱动获取图形设备接口调用的方法
CN101286225B (zh) * 2007-04-11 2010-10-06 中国科学院自动化研究所 一种基于三维纹理硬件加速的海量数据体绘制方法
US8279222B2 (en) * 2008-03-14 2012-10-02 Seiko Epson Corporation Processing graphics data for a stereoscopic display
US8817054B1 (en) * 2008-05-13 2014-08-26 Google Inc. Methods and systems for rendering in a multi-process browser using a shared memory area
USD603445S1 (en) 2009-03-13 2009-11-03 X6D Limited 3D glasses
USD624952S1 (en) 2008-10-20 2010-10-05 X6D Ltd. 3D glasses
USD666663S1 (en) 2008-10-20 2012-09-04 X6D Limited 3D glasses
USRE45394E1 (en) 2008-10-20 2015-03-03 X6D Limited 3D glasses
CA2684513A1 (en) 2008-11-17 2010-05-17 X6D Limited Improved performance 3d glasses
US8542326B2 (en) 2008-11-17 2013-09-24 X6D Limited 3D shutter glasses for use with LCD displays
USD646451S1 (en) 2009-03-30 2011-10-04 X6D Limited Cart for 3D glasses
USD672804S1 (en) 2009-05-13 2012-12-18 X6D Limited 3D glasses
USD650956S1 (en) 2009-05-13 2011-12-20 X6D Limited Cart for 3D glasses
USD692941S1 (en) 2009-11-16 2013-11-05 X6D Limited 3D glasses
USD669522S1 (en) 2010-08-27 2012-10-23 X6D Limited 3D glasses
USD671590S1 (en) 2010-09-10 2012-11-27 X6D Limited 3D glasses
USD662965S1 (en) 2010-02-04 2012-07-03 X6D Limited 3D glasses
KR101085676B1 (ko) * 2010-04-21 2011-11-22 김성도 단안식 3d영상촬영장치 및 3d카메라
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
USD664183S1 (en) 2010-08-27 2012-07-24 X6D Limited 3D glasses
US9578299B2 (en) * 2011-03-14 2017-02-21 Qualcomm Incorporated Stereoscopic conversion for shader based graphics content
JP5770018B2 (ja) * 2011-06-03 2015-08-26 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御方法及び表示制御システム
CN102681849A (zh) * 2012-05-07 2012-09-19 禹芙蓉 手持移动终端的数字时间3d显示方法
USD711959S1 (en) 2012-08-10 2014-08-26 X6D Limited Glasses for amblyopia treatment
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
WO2015142936A1 (en) * 2014-03-17 2015-09-24 Meggitt Training Systems Inc. Method and apparatus for rendering a 3-dimensional scene
CN104200520B (zh) * 2014-08-29 2017-05-10 杭州易上弘网络技术有限公司 一种基于部件模型组合的三维云渲染方法及三维云渲染系统
US20180300840A1 (en) * 2017-04-17 2018-10-18 Joydeep Ray Display link compression by render engine

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993022699A1 (en) * 1992-04-24 1993-11-11 Depth Enhancement Inc Three-dimensional visualization by altered multiple two-dimensional perspective imagery
DE4416935C2 (de) * 1994-05-13 1996-03-14 Terlutter Rolf Dr Verfahren zum Erzeugen räumlich wirkender Bilder
KR100445209B1 (ko) * 1995-12-19 2004-12-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 시차변환을통해입력이미지를적어도하나의출력이미지로발생시키기위한이미지처리시스템및이미지변환프로세서
US5867210A (en) 1996-02-09 1999-02-02 Rod; Samuel R. Stereoscopic on-screen surgical microscope systems
EP0817125B1 (en) * 1996-06-26 2004-09-08 Matsushita Electric Industrial Co., Ltd. Stereoscopic computer graphics moving image generating apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913173B1 (ko) * 2005-07-05 2009-08-19 삼성모바일디스플레이주식회사 3d 그래픽 처리장치 및 이를 이용한 입체영상 표시장치
US8154543B2 (en) 2005-07-05 2012-04-10 Samsung Mobile Display Co., Ltd. Stereoscopic image display device
US8207961B2 (en) 2005-07-05 2012-06-26 Samsung Mobile Display Co., Ltd. 3D graphic processing device and stereoscopic image display device using the 3D graphic processing device
US8279221B2 (en) 2005-08-05 2012-10-02 Samsung Display Co., Ltd. 3D graphics processor and autostereoscopic display device using the same
WO2012128421A1 (ko) * 2011-03-22 2012-09-27 주식회사 넥서스칩스 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법
KR101227183B1 (ko) * 2011-03-22 2013-01-28 주식회사 넥서스칩스 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법

Also Published As

Publication number Publication date
CN1143244C (zh) 2004-03-24
JP2002519792A (ja) 2002-07-02
EP1038271B1 (en) 2003-11-05
TW514836B (en) 2002-12-21
DE69912576T2 (de) 2004-08-19
CN1277698A (zh) 2000-12-20
DE69912576D1 (de) 2003-12-11
KR100637612B1 (ko) 2006-10-24
EP1038271A2 (en) 2000-09-27
US6496183B1 (en) 2002-12-17
JP4364436B2 (ja) 2009-11-18

Similar Documents

Publication Publication Date Title
KR100637612B1 (ko) 하드웨어 가속 렌더링 구조로 3 차원 데이터를 변환하기 위한 필터
US11748840B2 (en) Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US10937223B2 (en) Multi-view processing unit systems and methods
US10083538B2 (en) Variable resolution virtual reality display system
US10089790B2 (en) Predictive virtual reality display system with post rendering correction
KR101041723B1 (ko) 3차원 비디오게임 시스템
EP3953796B1 (en) Hybrid rendering
US9159135B2 (en) Systems, methods, and computer program products for low-latency warping of a depth map
JP3514947B2 (ja) 3次元画像処理装置及び3次元画像処理方法
US20040085310A1 (en) System and method of extracting 3-D data generated for 2-D display applications for use in 3-D volumetric displays
JPH09161100A (ja) 表示方法及び装置
US6529194B1 (en) Rendering method and apparatus, game system, and computer readable program product storing program for calculating data relating to shadow of object in virtual space
WO2000000934A2 (en) Filter for transforming 3d data in a hardware accelerated rendering architecture
CN114494559A (zh) 一种基于多gpu协同的三维渲染融合方法、系统、介质
KR100381817B1 (ko) 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
US6559844B1 (en) Method and apparatus for generating multiple views using a graphics engine
KR20120119774A (ko) 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체
EP3948790B1 (en) Depth-compressed representation for 3d virtual scene
WO2021182124A1 (ja) 情報処理装置、及び情報処理方法
JPH10232953A (ja) 立体視画像生成装置
KR101227183B1 (ko) 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법
JP5236051B2 (ja) 3dビデオゲーム・システム
JP2007299080A (ja) 画像生成方法及び画像生成装置
US20230177763A1 (en) Method for Adapting the Rendering of a Scene
Bond Projecting physical objects into a virtual space using the Kinect and Oculus Rift

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: 20121008

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131007

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141014

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151014

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161007

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 12

EXPY Expiration of term