KR101908161B1 - 메시 시퀀스 파일 포맷 - Google Patents

메시 시퀀스 파일 포맷 Download PDF

Info

Publication number
KR101908161B1
KR101908161B1 KR1020137031959A KR20137031959A KR101908161B1 KR 101908161 B1 KR101908161 B1 KR 101908161B1 KR 1020137031959 A KR1020137031959 A KR 1020137031959A KR 20137031959 A KR20137031959 A KR 20137031959A KR 101908161 B1 KR101908161 B1 KR 101908161B1
Authority
KR
South Korea
Prior art keywords
animation
computer
delta
vertex
dimensional mesh
Prior art date
Application number
KR1020137031959A
Other languages
English (en)
Other versions
KR20140030229A (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 KR20140030229A publication Critical patent/KR20140030229A/ko
Application granted granted Critical
Publication of KR101908161B1 publication Critical patent/KR101908161B1/ko

Links

Images

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
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Stored Programmes (AREA)

Abstract

이진 전이 파일을 생성하기 위한 기술들이 본 명세서에서 설명된다. 이진 전이 파일 내에 다수의 애니메이션 구조가 생성될 수 있다. 애니메이션 구조들은 삼차원 메시들의 시퀀스를 정의할 수 있다. 이진 전이 파일 내에 헤더 부분도 생성될 수 있다. 헤더 부분은 슬라이드들을 정의할 수 있으며, 슬라이드들은 삼차원 메시들이 적용되어 슬라이드들 간의 전이를 생성한다. 프레젠테이션 프로그램 애플리케이션이 이진 전이 파일을 갖도록 변경될 수 있고, 따라서 프레젠테이션 프로그램 애플리케이션은 전이를 제공하도록 적응될 수 있다.

Description

메시 시퀀스 파일 포맷{MESH SEQUENCE FILE FORMAT}
일반적으로, 전자 프레젠테이션 프로그램 애플리케이션들은 사용자들로 하여금 텍스트, 이미지, 사운드, 비디오 및/또는 다른 타입의 멀티미디어를 포함하는 고 효과(high-impact) 동적 슬라이드 프레젠테이션들을 생성할 수 있게 해준다. 일부 프레젠테이션 프로그램 애플리케이션들은 많은 특징 가운데 특히 프레젠테이션 내에서의 슬라이드들 간의 전이들(transitions)을 제공할 수 있다. 슬라이드 전이들은 사용자가 프레젠테이션을 제공하는 동안 하나의 슬라이드로부터 다른 슬라이드로 이동할 때 발생하는 애니메이션과 같은 효과들을 지칭할 수 있다. 사용자는 프레젠테이션에 시각적 기능(visual flair)을 추가하기 위해 프레젠테이션 내에 슬라이드 전이들을 포함시킬 수 있다.
프레젠테이션 프로그램 애플리케이션들은 사용자로 하여금 프레젠테이션에 포함시키기 위하여 다수의 이용 가능 전이로부터 사전 정의된 전이를 선택할 수 있게 해주는 기능을 포함할 수 있다. 사전 정의된 전이를 생성하기 위한 전통적인 리버스 엔지니어링 작업 흐름에서, 설계자는 전이 개념을 브레인스토밍한 후에 전이 개념의 시각적 표현(예로서, 비디오)을 생성할 수 있다. 프로그래머는 시각적 표현을 기준으로 사용하여, 전이 개념에서 슬라이드의 움직임들을 표현하는 수학적 표현들의 세트를 생성할 수 있다. 수학적 표현들의 세트의 생성시에, 프로그래머는 수학적 표현들의 세트를 프레젠테이션 프로그램 애플리케이션 내에 통합될 수 있는 프로그램 코드로 변환할 수 있다. 테스터들은 프레젠테이션 프로그램 애플리케이션을 테스트하고, 프로그램 코드에 대응하는 실행된 전이가 만족스러운지를 결정할 수 있다. 실행된 전이가 만족스럽지 않은 경우, 프로그래머들은 수학적 표현을 재생성하고, 프로그램 코드를 재변환하는 것이 필요할 수 있다.
전통적인 리버스 엔지니어링 작업 흐름은 시간이 지남에 따라 시간 소모적이고 번거로운 것으로 입증되었다. 프로그래머들은 테스터들이 실행된 전이가 만족스러운 것으로 결정하기 전에 수학적 표현들의 다수의 세트를 생성하고 각각의 세트를 프로그램 코드로 변환하는 것을 여러번 반복하는 것을 필요로 할 수 있다. 수학적 표현들의 새로운 세트에 대응하는 각각의 프로그램 코드는 광범위한 테스트를 필요로 할 수 있다. 또한, 복잡한 움직임들과 관련된 일부 전이들은 수학적 표현들에 의해 적절히 표현되지 못할 수 있다.
이들 및 다른 고려 사항들과 관련하여 본 명세서에서 행해지는 개시가 제공된다.
이진 전이 파일을 생성하는 기술들이 본 명세서에서 설명된다. 이진 전이 파일은 전이를 표현하는 삼차원 메시(mesh)들의 시퀀스를 정의할 수 있다. 삼차원 메시는 많은 정보 가운데 특히 소정의 삼차원 기하구조(geometry)를 정의하는 정점들의 집합 및 삼차원 기하구조의 면들을 정의하는 인덱스들의 집합을 포함할 수 있다. 전이 파일의 크기는 슬라이드 전이들에 대해 행해질 수 있는 다양한 가정들에 기초하여 상당히 감소될 수 있다.
일부 예시적인 기술들에서, 이진 전이 파일을 생성하는 방법이 구성된다. 이 방법에 따르면, 기술들은 이진 전이 파일 내에 다수의 애니메이션 구조를 생성할 수 있다. 애니메이션 구조들은 삼차원 메시들의 시퀀스를 정의할 수 있다. 기술들은 이진 전이 파일 내에 헤더 부분도 생성할 수 있다. 헤더 부분은 슬라이드들 사이의 전이를 생성하기 위해 삼차원 메시들이 적용되는 슬라이드들을 정의할 수 있다. 기술들은 또한 이진 전이 파일로 프레젠테이션 프로그램 애플리케이션을 변경할 수 있다. 프레젠테이션 프로그램 애플리케이션은 변경시에 이진 전이 파일을 통해 전이를 제공하도록 적응될 수 있다.
전술한 발명은 또한 컴퓨터 제어 장치, 컴퓨터 프로세스, 컴퓨팅 시스템으로서, 또는 컴퓨터 판독 가능 저장 매체와 같은 제조물로서 구현될 수 있다는 것을 알아야 한다. 이들 및 다양한 다른 특징들은 아래의 상세한 설명을 판독하고 관련 도면들을 검토함으로써 명백할 것이다.
본 요약은 이하의 상세한 설명에서 더 설명되는 개념들의 발췌를 간단한 형태로 소개하기 위해 제공된다. 본 요약은 청구 발명 대상의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 한정하는 데 사용되는 것도 의도하지 않는다. 더구나, 청구 발명 대상은 본 명세서의 임의 부분에서 언급되는 임의의 또는 모든 단점들을 해결하는 구현들로 한정되지 않는다.
도 1은 일부 실시예들에 따른, 이진 전이 파일을 생성하도록 적응되는 컴퓨팅 시스템을 도시하는 블록도이다.
도 2는 일부 실시예들에 따른, 이진 전이 파일에 대한 예시적인 데이터 포맷에 포함되는 예시적인 전이 정보를 설명하는 테이블을 도시하는 도면이다.
도 3은 일부 실시예들에 따른, 이진 전이 파일을 생성하기 위한 방법을 도시하는 흐름도이다.
도 4는 본 명세서에서 설명되는 실시예들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 아키텍처를 도시하는 컴퓨터 아키텍처 도면이다.
아래의 상세한 설명은 전이의 설계를 프레젠테이션 프로그램 애플리케이션에서 전이를 구현하는 데 사용될 수 있는 이진 전이 파일로 변환하기 위한 기술들과 관련된다. 본 명세서에서 설명되는 기술들 및 개념들을 이용하면, 설계를 수학적 표현들의 세트로 리버스 엔지니어링하지 않고도 이진 전이 파일을 생성할 수 있다. 결과적으로, 새로운 전이를 개발하기 위한 개발 비용이 상당히 감소한다. 또한, 수학적 표현들로서 구현하기가 불가능하거나 너무 어려웠던 소정의 전이들이 이제 개발될 수 있다.
이진 전이 파일은 전이를 표현하는 삼차원 메시들의 시퀀스를 정의할 수 있다. 삼차원 메시는 소정의 삼차원 기하구조를 정의하는 정점들의 집합 및 삼차원 기하구조의 면들을 정의하는 인덱스들의 집합을 포함할 수 있다. 전이(즉, 애니메이션)는 삼차원 메시들이 시퀀스 내에 나타날 때 생성될 수 있다. 프레젠테이션은 다수의 슬라이드를 포함할 수 있다. 프레젠테이션 내의 하나 이상의 슬라이드가 시퀀스 내의 삼차원 메시들 각각에 텍스처로서 적용될 수 있다. 즉, 슬라이드 내의 위치들이 삼차원 메시 내의 대응하는 위치들에 맵핑될 수 있다. 이러한 방식으로, 슬라이드들은 전이의 실행 동안 삼차원 메시들의 시퀀스에 따라 애니메이션될 수 있다.
일반적으로, 삼차원 애니메이션을 정의하는 파일들은 비교적 크다. 그러한 파일들은 사용자들이 통상적으로 더 작을 것으로 기대하는 프레젠테이션 파일들 내에 통합될 때 비실용적일 수 있다. 예를 들어, 사용자들은 프레젠테이션 파일들이 파일 크기 전송 한계를 가질 수 있는 이메일에 의해 쉽게 전송되고/되거나, 제한된 저장 용량을 갖는 휴대용 플래시 메모리 데이터 저장 장치에 저장될 만큼 충분히 작을 것으로 기대할 수 있다. 이 때문에, 전이 파일의 크기는 슬라이드 전이들에 대해 행해질 수 있는 다양한 가정들에 기초하여 상당히 감소될 수 있다. 이진 전이 파일은 또한 적절한 데이터 압축 기술들을 이용하여 압축될 수 있다.
본 명세서에서 설명되는 발명은 컴퓨터 시스템에서의 운영 체제 및 애플리케이션 프로그램들의 실행과 관련하여 실행되는 프로그램 모듈들과 일반적으로 관련하여 설명되지만, 이 분야의 기술자들은 다른 타입의 프로그램 모듈들과 관련하여 다른 구현들이 수행될 수 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들 및 다른 타입의 구조들을 포함한다. 더욱이, 이 분야의 기술자들은 본 명세서에서 설명되는 발명이 핸드헬드 장치, 마이크로프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능 소비자 전자 장치, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들을 이용하여 실시될 수 있다는 것을 알 것이다.
아래의 상세한 설명에서는, 그의 일부를 형성하고, 특정 실시예들 또는 예들을 예시하는 첨부 도면들을 참조한다. 이제, 여러 도면을 통해 동일한 번호들이 동일한 요소들을 나타내는 도면들을 참조하여, 전이의 설계를 프레젠테이션 프로그램 애플리케이션에 의해 전이를 구현하기 위해 판독될 수 있는 전이 파일로 변환하기 위한 컴퓨팅 시스템 및 방법이 설명된다. 도 1은 일부 실시예들에 따른, 이진 전이 파일을 생성하도록 적응되는 컴퓨팅 시스템(100)을 나타내는 블록도이다. 컴퓨팅 시스템(100)은 애니메이션 애플리케이션(102), 애니메이션 패키지 엔진(104), 변환 애플리케이션(106) 및 프레젠테이션 프로그램 애플리케이션(108)을 포함할 수 있다.
전이 설계자는 애니메이션 애플리케이션(102)을 이용하여, 소정 전이를 표현하는 삼차원 애니메이션(110)을 생성할 수 있다. 다양한 실시예들에서, 애니메이션 애플리케이션(102)은 임의의 적절한 삼차원 컴퓨터 그래픽 애니메이션 프로그램일 수 있다. 삼차원 애니메이션(110)은 하나 이상의 파일 내에 구현될 수 있다. 일부 실시예들에서, 삼차원 애니메이션(110)은 WAVEFRONT TECHNOLOGIES로부터의 OBJ 기하구조 정의 파일 포맷으로 구현될 수 있다. 예를 들어, 삼차원 애니메이션(110) 내의 각각의 프레임은 대응하는 OBJ 파일에 의해 표현될 수 있다. 다른 실시예들에서, 삼차원 애니메이션(110)은 임의의 적절한 삼차원 모델 포맷으로 구현될 수 있다.
삼차원 애니메이션(110)의 생성시, 전이 설계자는 애니메이션 패키지 엔진(104)을 이용하여 삼차원 애니메이션(110)을 애니메이션 패키지(112) 내로 보낼 수 있다. 애니메이션 패키지(112)는 삼차원 애니메이션(110)(예로서, OBJ 파일들) 및 전이 템플릿(114)을 포함할 수 있다. 전이 템플릿(114)은 전이의 최초 상태 및 최종 상태를 정의하는 정보를 포함할 수 있다. 일반적으로, 프레젠테이션 내의 슬라이드들은 동일 기하 공간을 점유한다. 결과적으로, 최초 상태 및 최종 상태는 많은 다른 애니메이션과 달리 동일할 수 있다.
전이 템플릿(114)은 슬라이드를 정의하는 정보도 포함할 수 있다. 예를 들어, 슬라이드는 단일 다각형 평면으로서 표현될 수 있다. 전이 템플릿(114)은 슬라이드와 관련된 좌표계(예를 들어, 오른손 좌표계)에 대한 정보를 더 포함할 수 있다. 전이 템플릿(114)은 슬라이드 위치를 더 포함할 수 있다(예를 들어, 슬라이드의 중심은 좌표계의 원점 (0, 0, 0)에 위치할 수 있다).
전이 템플릿(114)은 슬라이드와 관련된 슬라이드 회전을 더 포함할 수 있다(예를 들어, 슬라이드는 x축 주위로 90도 회전할 수 있으며, 따라서 슬라이드는 x축 및 y축에 의해 정의되는 평면 상에 편평하게 배치되고, z축은 슬라이드의 정면으로부터 양의 방향으로 바깥쪽을 가리킬 수 있다). 전이 템플릿(114)은 슬라이드와 관련된 슬라이드 스케일을 더 포함할 수 있다(예를 들어, 슬라이드의 치수들은 13.33 x 10 OBJ 유닛들에 맵핑되는 10" x 7.5" 슬라이드로서 구성될 수 있다). 전이 템플릿(114)은 프레젠테이션 프로그램 애플리케이션의 사용자가 조명 구성을 정의하지 않을 때 디폴트 슬라이드 조명(예를 들어, 1.0의 강도로 음의 z축 방향을 향하는 단일 지향성 조명)을 더 포함할 수 있다.
전이 설계자는 애니메이션 패키지(112)를 변환 애플리케이션(106) 내에 입력할 수 있다. 변환 애플리케이션(106)은 애니메이션 패키지(112)를 변환 프로세스의 파라미터로서 이용하여 변환 프로세스를 수행하도록 구성될 수 있다. 변환 프로세스는 삼차원 애니메이션(110) 및 전이 템플릿(114)에 기초하여 애니메이션 패키지(112)를 이진 전이 파일(116)로 변환할 수 있다. 변환 프로세스는 삼차원 애니메이션(110)으로부터 전이 정보를 추출할 수 있다. 전이 정보는 프레젠테이션 프로그램 애플리케이션(108)에서 전이를 구현하는 데 적합한 정보를 포함할 수 있다. 이어서, 변환 프로세스는 전이 템플릿(114)에 따라 전이 정보를 적응시켜 이진 전이 파일(116)을 생성할 수 있다.
이진 전이 파일(116)은 데이터를 이진 포맷으로 저장할 수 있다. 일부 실시예들에서, 변환 애플리케이션(106)은 적절한 데이터 압축 기술들을 통해 이진 전이 파일(116)을 압축하는 압축 프로세스를 수행하도록 구성될 수도 있다. 예를 들어, 변환 애플리케이션(106)은 이진 전이 파일(116)을 ZIP 파일 컨테이너 내로 압축할 수 있다. 이진 전이 파일(116)의 파일 포맷의 일례가 도 2를 참조하여 더 상세히 설명된다. 파일 포맷은 이진 전이 파일(116) 내에 포함될 수 있는 전이 정보의 다양한 예를 포함한다.
이진 전이 파일(116)의 생성시, 전이 설계자는 이진 전이 파일(116)을 포함하도록 프레젠테이션 프로그램 애플리케이션(108)을 갱신할 수 있다. 예를 들어, 전이 설계자는 새로운 전이를 포함하도록 프레젠테이션 프로그램 애플리케이션(108) 내의 동적 링크 라이브러리 자원 파일(118) 또는 다른 공유 자원 파일을 갱신할 수 있다. 전이 설계자는 새로운 전이를 포함하도록 프레젠테이션 프로그램 애플리케이션(108)의 사용자 인터페이스(120)를 갱신할 수도 있다. 이러한 방식으로, 사용자는 프레젠테이션 프로그램 애플리케이션(108)의 사용자 인터페이스로부터 새로운 전이를 선택할 수 있다.
도 2는 일부 실시예들에 따른, 이진 전이 파일(116)에 대한 예시적인 데이터 포맷에 포함되는 예시적인 전이 정보를 설명하는 테이블(200)을 나타내는 도면이다. 이진 전이 파일 내의 이러한 전이 정보는 전이에 대응할 수 있다. 다양한 구현들에서, 데이터 포맷은 테이블(200)에 포함된 정보 중 일부 또는 전부의 조합을 포함할 수 있다. 테이블(200)은 식별자 열(202) 및 데이터 타입 열(204)을 포함한다. 식별자 열(202)은 이진 전이 파일(116) 내에 포함되는 예시적인 정보 타입의 식별자를 지정할 수 있다. 데이터 타입 열(204)은 대응하는 정보 타입의 예시적인 데이터 타입을 지정할 수 있다.
이진 전이 파일(116)은 헤더 부분(208)을 포함할 수 있다. 헤더 부분(208)은 애니메이션 카운트(210)를 포함할 수 있다. 애니메이션 카운트(210)는 전이 내의 슬라이드들과 같은 객체들의 수(즉, 수량)를 저장하는 32비트 무부호 정수로서 구성될 수 있다. 예를 들어, 애니메이션 카운트(210)는 이진 전이 파일(116)에 대응하는 전이에서 사용되는 슬라이드들의 수를 저장할 수 있다. 통상적인 전이는 2개의 슬라이드(즉, 이전 슬라이드 및 다음 슬라이드)를 포함할 수 있다. 이 경우, 애니메이션 카운트(210)는 2의 값을 저장할 수 있다. 다른 전이들은 2개보다 많은 슬라이드를 이용할 수 있다.
헤더 부분(208)은 애니메이션 어레이(212)를 더 포함할 수 있다. 애니메이션 어레이(212)는 다수의 애니메이션 데이터 구조를 갖는 어레이로서 구성될 수 있다. 어레이 내의 애니메이션 데이터 구조들의 수는 애니메이션 카운트(210)에 대응할 수 있다. 각각의 애니메이션 데이터 구조는 전이에 이용될 프레젠테이션의 상이한 슬라이드에 관한 애니메이션 데이터를 저장할 수 있다. 애니메이션 데이터는 프레젠테이션 프로그램 애플리케이션(108)으로 하여금 각각의 슬라이드를 렌더링하게 할 수 있는 적절한 이미지 데이터(예로서, 다양한 텍스트, 형상, 컬러 등의 위치 및 내용)를 포함할 수 있다.
예를 들어, 애니메이션 카운트(210)가 2인 경우, 애니메이션 어레이(212)는 2개의 애니메이션 데이터 구조를 포함할 수 있다. 애니메이션 어레이(212) 내의 제1 애니메이션 데이터 구조는 제1 슬라이드에 대응하는 애니메이션 데이터를 저장할 수 있으며, 애니메이션 어레이(212) 내의 제2 애니메이션 데이터는 제2 슬라이드에 대응하는 애니메이션 데이터를 저장할 수 있다. 애니메이션 어레이(212)는 애니메이션 데이터 구조들을 슬라이드들의 순서에 대응하는 순서로 저장하도록 구성될 수 있다(예를 들어, 애니메이션 [0]은 시퀀스의 제1 슬라이드에 대응할 수 있고, 애니메이션 [1]은 시퀀스의 제2 슬라이드에 대응할 수 있고, 기타 등등이다).
이진 전이 파일(116)은 애니메이션 구조(214)의 다수의 사례를 더 포함할 수 있다. 애니메이션 구조(214)의 각각의 사례는 전이 내의 삼차원 메시에 대응할 수 있다. 예를 들어, 전이가 3개의 삼차원 메시를 포함하는 경우, 이진 전이 파일(116)은 애니메이션 구조(214)의 3개의 사례를 포함할 수 있다. 애니메이션 구조(214)는 슬라이드 식별자(216), 플래그 값(218), 주변 조명 값(220), 프레임 카운트(222), 인덱스 카운트(224), 인덱스 어레이(226), 정점 카운트(228), 정점 데이터 어레이(230), x축 값(234) 및 y축 값(236)을 포함하는 정점 데이터 구조(232), 델타 구조 어레이(238), 최소 값(242), 범위 값(244) 및 델타데이터 구조 어레이(246)를 포함하는 델타 데이터 구조(240), 및/또는 델타데이터 데이터 구조(248)를 포함할 수 있다.
슬라이드 식별자(216)는 대응하는 삼차원 메시가 적용되는 슬라이드의 식별자를 지정하는 32비트 무부호 정수(예로서, DWORD)로서 구성될 수 있다. 전술한 바와 같이, 슬라이드를 렌더링하기 위한 애니메이션 데이터는 애니메이션 어레이(212) 내에 저장될 수 있다. 슬라이드들은 프레젠테이션 내의 슬라이드들의 순서에 대응하는 순차적인 식별자들에 따라 식별될 수 있다. 예를 들어, 제1 슬라이드는 0의 식별자를 가질 수 있고, 제2 슬라이드는 1의 식별자를 가질 수 있고, 제3 슬라이드는 2의 식별자를 가질 수 있고, 기타 등등이다.
플래그 값(218)은 대응하는 삼차원 메시 및/또는 전이에 대한 추가적인 정보를 제공하는 데 사용될 수 있는 온/오프 플래그들의 시리즈를 지정하는 32비트 무부호 정수로서 구성될 수 있다. 32비트 무부호 정수 내의 각각의 비트는 0의 값 또는 1의 값을 갖는 상이한 플래그에 대응할 수 있다. 예시적인 플래그는 대응하는 삼차원 메시가 단면 삼차원 메시로서 또는 양면 삼차원 메시로서 렌더링되는지를 지정할 수 있다. 이 예에서, 0의 값은 단면 삼차원 메시에 대응할 수 있고, 1의 값은 양면 삼차원 메시에 대응할 수 있다.
주변 조명 값(220)은 대응하는 삼차원 메시에 적용되는 주변 조명의 양을 지정하는 부동 소수점 값으로서 구성될 수 있다. 예를 들어, 주변 조명 값(220)은 0.0 내지 1.0의 범위에 걸칠 수 있다. 프레임 카운트(222)는 대응하는 삼차원 메시가 존재하는 전이의 애니메이션 프레임들의 수를 지정하는 32비트 무부호 정수로서 구성될 수 있다. 이진 전이 파일(116) 내의 각각의 삼차원 메시는 상이한 수의 애니메이션 프레임들 내에 존재할 수 있다. 즉, 전이는 하나 이상의 애니메이션 프레임에 대해 동일한 삼차원 메시를 이용할 수 있다.
인덱스 카운트(224)는 대응하는 삼차원 메시 내의 인덱스들의 수를 지정하는 32비트 무부호 정수로서 구성될 수 있다. 인덱스 어레이(226)는 다수의 요소를 갖는 어레이로서 구성될 수 있다. 각각의 요소는 대응하는 삼차원 메시 내의 인덱스들을 순차적으로 저장하는 16비트 무부호 정수(예로서, WORD)로서 구성될 수 있다. 인덱스 어레이(226) 내의 요소들의 수는 인덱스 카운트(224)에서 지정되는 인덱스들의 수에 대응할 수 있다. 일부 실시예들에서, 인덱스들은 3의 그룹들 내의 16비트 값들로서 저장될 수 있다(예를 들어, 3개 포인트가 삼각형을 정의한다). 예를 들어, 0번 내지 4번의 4개 정점이 존재하는 경우, 인덱스들은 이들 4개의 정점으로부터 2개의 삼각형을 형성할 수 있다. 제1 삼각형은 정점 0, 1 및 2를 이용할 수 있고, 제2 삼각형은 정점 0, 2 및 3을 이용할 수 있다(정점 0 및 2가 공유된다). 인덱스들은 삼각형들이 정점들을 공유하게 할 수 있다.
일부 실시예들에서는, 제1 애니메이션 프레임의 삼차원 메시 내의 인덱스들만이 인덱스 어레이(226) 내에 저장된다. 이것은 제1 애니메이션 프레임의 삼차원 메시 내의 인덱스들이 추가적인 애니메이션 프레임들의 다른 삼차원 메시들에 대한 전이의 전반에서 일정하게 유지될 수 있기 때문이다. 결과적으로, 추가적인 애니메이션 구조들(214)에 대한 동일한 정보를 저장할 필요가 없으므로 이진 전이 파일(116)의 크기가 크게 감소될 수 있다.
정점 카운트(228)는 대응하는 삼차원 메시 내의 정점들의 수를 지정하는 32비트 무부호 정수로서 구성될 수 있다. 정점 데이터 어레이(230)는 다수의 정점 데이터 구조(232)를 갖는 어레이로서 구성될 수 있다. 각각의 정점 데이터 구조(232)는 대응하는 삼차원 메시 내의 정점들을 순차적으로 저장하는 축마다의 16비트 무부호 정수로서 구성될 수 있다. 정점 데이터 구조(232)는 x축 값(234) 및 y축 값(236)을 포함할 수 있다. 정점 데이터 어레이(230) 내의 정점 데이터 구조들(232)의 수는 정점 카운트(228)에서 지정되는 정점들의 수에 대응할 수 있다.
일부 실시예들에서는, 제1 애니메이션 프레임의 삼차원 메시 내의 정점들만이 정점 데이터 구조(232) 내에 저장된다. 이진 전이 파일(116) 내의 다양한 삼차원 메시들 내의 정점들의 수는 전이의 과정 동안 변하지 않을 수 있다. 정점들의 위치들의 변경들(본 명세서에서 "델타 값들"로도 지칭됨)은 델타 구조 어레이(238)에 의해 정의될 수 있으며, 이는 아래에 더 상세히 설명된다. 하나의 애니메이션 프레임으로부터 다음 애니메이션 프레임으로의 정점들의 위치들의 변경들은 일반적으로 작다. 정점들의 전체 좌표 값들이 아니라 위치들에 대한 변경들만을 저장함으로써, 이진 전이 파일(116)의 크기가 크게 감소될 수 있다.
게다가, 일부 실시예들에서는, 제1 애니메이션 프레임의 삼차원 메시 내의 정점들의 z축 좌표들이 아니라 x축 및 y축 좌표들만이 정점 데이터 구조(232) 내에 저장된다. 이것은 전이의 제1 프레임에서 대응하는 삼차원 메시가 통상적으로 평면 상에서 편평하기 때문이다(즉, z축 값은 0일 것이다). 제1 애니메이션 프레임의 삼차원 메시 내의 정점들의 z축 좌표들이 아니라 x축 및 y축 좌표들만을 저장함으로써, 이진 전이 파일(116)의 크기가 크게 감소될 수 있다.
델타 구조 어레이(238)는 다수의 델타 데이터 구조(240)를 갖는 어레이로서 구성될 수 있다. 델타 구조 내의 델타 데이터 구조들(240)의 수는 프레임 카운트(222)에 대응할 수 있다. 델타 데이터 구조들(240) 각각은 최소 값(242), 범위 값(244) 및 델타데이터 구조 어레이(246)를 저장할 수 있다. 최소 값(242)은 대응하는 프레임에 대한 대응하는 삼차원 메시 내의 정점들 전반에서의 최소 델타 값을 저장하는 축마다의 32비트 부동 소수점 값(예로서, 플로트(float))으로서 구성될 수 있다. 범위 값(244)은 대응하는 프레임에 대한 대응하는 삼차원 메시 내의 정점들 전반에서의 델타 값들의 범위를 저장하는 축마다의 32비트 부동 소수점 값으로서 구성될 수 있다.
델타데이터 구조 어레이(246)는 다수의 델타데이터 데이터 구조(248)를 갖는 어레이로서 구성될 수 있다. 델타데이터 구조 어레이(246) 내의 델타데이터 데이터 구조들(248)의 수는 대응하는 삼차원 메시의 정점 카운트(228)에 대응할 수 있다. 즉, 델타데이터 데이터 구조들(248) 각각은 대응하는 삼차원 메시 내의 정점들 중 하나에 대응할 수 있다. 델타데이터 데이터 구조들(248) 각각은 16비트 유부호 정수로서 구성될 수 있다. 16비트 유부호 정수의 다양한 부분들은 현재 프레임의 삼차원 메시와 이전 프레임의 삼차원 메시 사이의 대응하는 정점의 x축에 대한 변경들, y축에 대한 변경들 및 z축에 대한 변경들을 정의하도록 할당될 수 있다. 예를 들어, 처음 6개의 비트는 x축에 대한 변경들을 정의할 수 있고, 다음 5개의 비트는 y축에 대한 변경들을 정의할 수 있으며, 마지막 5개의 비트는 z축에 대한 변경들을 정의할 수 있다.
3개의 개별 값을 저장하는 것이 아니라, 단일 16비트 유부호 정수 내에 x축, y축 및 z축에 대한 델타 값들을 저장함으로써, 이진 전이 파일(116)의 크기가 크게 감소될 수 있다. 게다가, 애니메이션 프레임들의 관찰 평면이 전이 전반에서 비교적 일정하게 유지되는 경우(즉, z축에 대한 변경들이 비교적 작은 경우), z축에 원래 할당된 비트들이 x축 및/또는 y축에 대해 재할당될 수 있다. 최초 프레임 이후에 각각의 프레임의 정점의 위치를 계산하기 위하여, 아래의 계산이 이용될 수 있는데(이 예는 단지 x축에 대한 것이지만, 동일한 계산이 다른 축들에도 이용될 수 있음), 즉 x' = delta.x*range.x + min.x이며, 여기서 '.x' 표기법은 각각의 항의 x 성분을 의미한다. 이어서, 이전 프레임의 계산된 위치에 대한 델타들을 이용하여 다음 프레임이 생성된다.
이진 전이 파일(116)의 상기 구현들은 전이 전반에서의 삼차원 메시들 각각 내의 각각의 정점에 대한 정규값(normal)을 저장하지 않는다. 일부 실시예들에서, 프레젠테이션 프로그램 애플리케이션(108)은 정규값들이 사전에 계산되어 이진 전이 파일(116) 내에 저장될 필요가 없을 만큼 충분히 정확하게 각각의 정점에 대한 정규값들을 "온더플라이(on the fly)" 방식으로 계산할 수 있다. 이것은 삼각형 정의들이 방향을 포함하고, 표준 정규값 계산이 이용되기 때문이다. 전이 전반에서의 삼차원 메시들 각각 내의 각각의 정점에 대한 정규값들의 저장을 제거함으로써, 이진 전이 파일(116)의 크기가 크게 감소될 수 있다.
이제, 도 3을 참조하여, 변환 애플리케이션(106)의 동작에 관한 추가적인 상세들이 제공된다. 도 3은 일부 실시예들에 따른, 이진 전이 파일을 생성하기 위한 방법을 나타내는 흐름도이다. 본 명세서에서 설명되는 논리적 동작들은 (1) 컴퓨팅 시스템 상에서 실행되는 컴퓨터 구현 액트들(acts) 또는 프로그램 모듈들의 시퀀스로서 그리고/또는 (2) 컴퓨팅 시스템 내의 상호접속된 기계 논리 회로들 또는 회로 모듈들로서 구현된다는 것을 알아야 한다. 구현은 컴퓨팅 시스템의 성능 및 다른 요구들에 의존하는 선택의 문제이다. 따라서, 본 명세서에서 설명되는 논리적 동작들은 상태 동작들, 구조적 장치들, 액트들 또는 모듈들로서 다양하게 지칭된다. 이러한 동작들, 구조적 장치들, 액트들 및 모듈들은 소프트웨어에서, 하드웨어에서, 특수 목적 디지털 논리에서 그리고 이들의 임의의 조합에서 구현될 수 있다. 도면들에 도시되고 본 명세서에서 설명되는 것보다 많거나 적은 동작들이 수행될 수 있다는 것을 알아야 한다. 이러한 동작들은 본 명세서에서 설명되는 것들과 다른 순서로 수행될 수도 있다.
도 3에서, 루틴(300)은 동작 302에서 시작되며, 여기서 변환 애플리케이션(106)은 이진 전이 파일(116)과 같은 이진 전이 파일 내에 애니메이션 구조(214)와 같은 다수의 애니메이션 구조를 생성한다. 이진 전이 파일은 삼차원 메시들의 시퀀스를 정의할 수 있다. 예를 들어, 다수의 애니메이션 구조는 삼차원 메시를 정의하는 애니메이션 구조를 포함할 수 있다. 일부 실시예들에서, 애니메이션 구조는 삼차원 메시 내의 인덱스들의 수량을 지정하는 인덱스 카운트(224)와 같은 인덱스 카운트를 포함할 수 있다. 애니메이션 구조는 또한 다수의 요소를 포함하는 인덱스 어레이(226)와 같은 인덱스 어레이를 포함할 수 있다. 요소들 각각은 인덱스들 중 하나를 저장할 수 있다.
일부 실시예들에서, 애니메이션 구조는 삼차원 메시 내의 정점들의 수량을 지정하는 정점 카운트(228)와 같은 정점 카운트를 포함할 수 있다. 애니메이션 구조는 정점 데이터 구조(232)와 같은 다수의 정점 데이터 구조를 포함하는 정점 데이터 어레이(230)와 같은 정점 데이터 어레이도 포함할 수 있다. 정점 데이터 구조들 각각은 정점들 중 하나를 저장할 수 있다. 예를 들어, 정점 데이터 구조들 각각은 대응하는 정점의 x축 값 및 대응하는 정점의 y축 값을 저장할 수 있다. 정점 데이터 구조들 각각은 대응하는 정점의 z축 값을 저장하지 않을 수 있다.
일부 실시예들에서, 애니메이션 구조는 삼차원 메시가 존재하는 전이의 애니메이션 프레임들의 수량을 지정하는 프레임 카운트(222)와 같은 프레임 카운트를 포함할 수 있다. 애니메이션 구조는 델타 데이터 구조(240)와 같은 다수의 델타 데이터 구조를 포함하는 델타 데이터 어레이(238)와 같은 델타 데이터 어레이도 포함할 수 있다. 델타 데이터 구조들 각각은 애니메이션 프레임들 중 하나에 대응할 수 있다. 델타 데이터 구조들 각각은 최소 값, 범위 값 및 델타데이터 구조 어레이를 저장할 수 있다. 최소 값(242)과 같은 최소 값은 정점들 전반에서의 다수의 델타 값 중 최소 델타 값을 지정할 수 있다. 범위 값(244)과 같은 범위 값은 정점들 전반에서의 델타 값들의 범위를 지정할 수 있다.
델타데이터 구조 어레이(246)와 같은 델타데이터 구조 어레이는 델타데이터 데이터 구조(248)와 같은 복수의 델타데이터 데이터 구조를 포함할 수 있다. 델타데이터 데이터 구조들 각각은 정점들 중 하나에 대응할 수 있다. 델타데이터 데이터 구조들 각각은 x축 델타 값, y축 델타 값 및 z축 델타 값을 저장할 수 있다. 일부 실시예들에서, x축 델타 값, y축 델타 값 및 z축 델타 값은 단일 정수 내에 저장될 수 있다.
일부 실시예들에서, 애니메이션 구조는 삼차원 메시에 적용되는 슬라이드들 중 하나를 지정하는 슬라이드 식별자(216)와 같은 슬라이드 식별자를 포함할 수 있다. 애니메이션 구조는 삼차원 메시에 관한 추가적인 정보를 제공하는 플래그 값(218)과 같은 플래그 값도 포함할 수 있다. 플래그 값(218)의 각각의 비트는 상이한 플래그를 나타낼 수 있다. 예를 들어, 플래그 값은 삼차원 메시가 양면 삼차원 메시로서 또는 단면 삼차원 메시로서 렌더링되는지를 정의하는 비트를 포함할 수 있다. 애니메이션 구조는 삼차원 메시에 적용되는 주변 조명의 양을 지정하는 주변 조명 값(220)과 같은 주변 조명 값을 더 포함할 수 있다. 변환 애플리케이션(106)이 이진 전이 파일 내에 애니메이션 구조들을 생성할 때, 루틴(300)은 동작 304로 진행할 수 있다.
동작 304에서, 변환 애플리케이션(106)은 이진 전이 파일 내에 헤더 부분을 생성할 수 있다. 일부 실시예들에서, 헤더 부분은 전이 내의 슬라이드들의 수량을 지정하는 애니메이션 카운트(210)와 같은 애니메이션 카운트를 포함할 수 있다. 헤더 부분은 애니메이션 어레이(212)와 같은 애니메이션 어레이도 포함할 수 있다. 애니메이션 어레이(212)는 다수의 애니메이션 데이터 구조를 포함할 수 있다. 애니메이션 데이터 구조들 각각은 프레젠테이션 프로그램 애플리케이션(108)과 같은 프레젠테이션 프로그램 애플리케이션으로 하여금 애니메이션 데이터에 대응하는 슬라이드를 렌더링할 수 있게 하는 애니메이션 데이터를 지정할 수 있다. 변환 애플리케이션(106)이 이진 전이 파일의 헤더 부분을 생성할 때, 루틴(300)은 동작 306으로 진행할 수 있다.
동작 306에서, 변환 애플리케이션(106)은 이진 전이 파일을 포함하도록 프레젠테이션 프로그램 애플리케이션을 변경할 수 있다. 예를 들어, 변환 애플리케이션(106)은 새로운 전이를 포함하도록 프레젠테이션 프로그램 애플리케이션 내의 동적 링크 라이브러리 자원 파일(118)과 같은 공유 자원 파일을 갱신할 수 있다. 변환 애플리케이션(106)은 새로운 전이를 포함하도록 프레젠테이션 프로그램 애플리케이션의 사용자 인터페이스(120)와 같은 사용자 인터페이스를 갱신할 수도 있다. 변환 애플리케이션(106)이 이진 전이 파일을 포함하도록 프레젠테이션 프로그램 애플리케이션을 변경할 때, 루틴(300)은 (예를 들어, 주기적으로, 계속적으로 또는 필요에 따라 주문시에) 반복되거나 종료될 수 있다.
이제, 도 4를 참조하면, 컴퓨터(400)를 나타내는 예시적인 컴퓨터 아키텍처 도면이 도시되어 있다. 컴퓨터(400)의 예는 컴퓨팅 시스템(100)을 포함할 수 있다. 컴퓨터(400)는 중앙 처리 유닛(402), 시스템 메모리(404), 및 메모리(404)를 중앙 처리 유닛(402)에 결합하는 시스템 버스(406)를 포함할 수 있다. 컴퓨터(400)는 하나 이상의 프로그램 모듈(414) 및 데이터 저장소(416)를 저장하기 위한 대용량 저장 장치(412)를 더 포함할 수 있다. 프로그램 모듈들(414)의 예는 변환 애플리케이션(106) 및 프레젠테이션 프로그램 애플리케이션(108)을 포함할 수 있다. 데이터 저장소(416)는 애니메이션 패키지(112) 및 이진 전이 파일(116)을 저장할 수 있다. 대용량 저장 장치(412)는 버스(406)에 접속된 대용량 저장 장치 제어기(도시되지 않음)를 통해 처리 유닛(402)에 접속될 수 있다. 대용량 저장 장치(412) 및 그와 관련된 컴퓨터 저장 매체들은 컴퓨터(400)에 대한 비휘발성 저장을 제공할 수 있다. 본 명세서에 포함된 컴퓨터 저장 매체들에 대한 설명은 하드 디스크 또는 CD-ROM과 같은 대용량 저장 장치를 참조하지만, 이 분야의 기술자들은 컴퓨터 저장 매체가 컴퓨터(400)에 의해 액세스될 수 있는 임의의 이용 가능한 컴퓨터 저장 매체일 수 있다는 것을 알아야 한다.
한정이 아니라 예로서, 컴퓨터 저장 매체는 컴퓨터 저장 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 비일시적 저장을 위한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체들을 포함할 수 있다. 예를 들어, 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 반도체 메모리 기술, CD-ROM, 디지털 다기능 디스크("DVD"), HD-DVD, BLU-RAY 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고, 컴퓨터(400)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되지 않는다.
다양한 실시예들에 따르면, 컴퓨터(400)는 네트워크(418)를 통한 원격 컴퓨터들에 대한 논리적 접속들을 이용하여 네트워킹된 환경에서 동작할 수 있다. 컴퓨터(400)는 버스(406)에 접속된 네트워크 인터페이스 유닛(410)을 통해 네트워크(418)에 접속할 수 있다. 네트워크 인터페이스 유닛(410)은 다른 타입의 네트워크들 및 원격 컴퓨터 시스템들에 접속하는 데에도 이용될 수 있다는 것을 알아야 한다. 컴퓨터(400)는 키보드, 마우스, 마이크 및 게임 제어기를 포함하는 다수의 입력 장치(도시되지 않음)로부터 입력을 수신하고 처리하기 위한 입출력 제어기(408)도 포함할 수 있다. 유사하게, 입출력 제어기(408)는 디스플레이 또는 다른 타입의 출력 장치(도시되지 않음)에 출력을 제공할 수 있다.
버스(406)는 처리 유닛(402)이 대용량 저장 장치(412) 또는 다른 컴퓨터 저장 매체로/로부터 코드 및/또는 데이터를 판독하는 것을 가능하게 할 수 있다. 컴퓨터 저장 매체는 반도체, 자기 재료, 광학 등을 포함하지만 이에 한정되지 않은 임의의 적절한 기술을 이용하여 구현되는 저장 요소들의 형태의 장치를 나타낼 수 있다. 컴퓨터 저장 매체는 RAM, ROM, 플래시 또는 다른 타입의 기술로서 특성화되는지에 관계없이 메모리 컴포넌트들을 나타낼 수 있다. 컴퓨터 저장 매체는 하드 드라이브로서 구현되는지에 관계없이 보조 저장 장치를 나타낼 수도 있다. 하드 드라이브 구현은 반도체로서 특성화될 수 있거나, 자기적으로 인코딩된 정보를 저장하는 회전 매체를 포함할 수 있다.
프로그램 모듈들(414)은 처리 유닛(402) 내에 로딩되어 실행될 때 컴퓨터(400)로 하여금 이진 전이 파일을 생성하게 하는 소프트웨어 명령어들을 포함할 수 있다. 프로그램 모듈들(414)은 또한 컴퓨터(400)가 본 명세서 전반에서 설명되는 컴포넌트들, 흐름들 및 데이터 구조들을 이용하여 전체 시스템들 또는 운영 환경들에 관여할 수 있는 다양한 도구들 또는 기술들을 제공할 수 있다. 예를 들어, 프로그램 모듈들(414)은 이진 전이 파일을 생성하기 위한 인터페이스들을 구현할 수 있다.
일반적으로, 프로그램 모듈들은 처리 유닛(420) 내에 로딩되어 실행될 때 처리 유닛(402) 및 전체 컴퓨터(400)를 범용 컴퓨팅 시스템으로부터 이진 전이 파일을 생성하도록 맞춤화된 특수 목적 컴퓨팅 시스템으로 변환할 수 있다. 처리 유닛(402)은 임의 수의 상태를 개별적으로 또는 공동으로 가질 수 있는 임의 수의 트랜지스터 또는 다른 개별 회로 요소로 구성될 수 있다. 구체적으로, 처리 유닛(402)은 프로그램 모듈들(414) 내에 포함된 실행 가능 명령어들에 응답하여 유한 상태 기계로서 동작할 수 있다. 이러한 컴퓨터 실행 가능 명령어들은 처리 유닛(402)이 상태들 사이에서 어떻게 전이할지를 지정하여, 처리 유닛(402)을 구성하는 트랜지스터들 또는 다른 개별 하드웨어 요소들을 변환함으로써, 처리 유닛(402)을 변환할 수 있다.
프로그램 모듈들(414)을 인코딩하는 것은 컴퓨터 저장 매체의 물리적 구조도 변환할 수 있다. 물리적 구조의 특정 변환은 본 발명의 상이한 구현들에서 다양한 팩터들에 의존할 수 있다. 그러한 팩터들의 예는 컴퓨터 저장 매체가 주요 또는 보조 저장 장치 등으로서 특성화되는지에 관계없이 컴퓨터 저장 매체를 구현하는 데 사용되는 기술을 포함할 수 있지만 이에 한정되지 않는다. 예를 들어, 컴퓨터 저장 매체가 반도체 기반 메모리로서 구현되는 경우, 그 안에 소프트웨어가 인코딩될 때, 프로그램 모듈들(414)은 반도체 메모리의 물리적 상태를 변환할 수 있다. 예를 들어, 프로그램 모듈들(414)은 반도체 메모리를 구성하는 트랜지스터들, 커패시터들 또는 다른 개별 회로 요소들의 상태를 변환할 수 있다.
다른 예로서, 컴퓨터 저장 매체는 자기 또는 광학 기술을 이용하여 구현될 수 있다. 그러한 구현들에서, 프로그램 모듈들(414)은 자기 또는 광학 매체 내에 소프트웨어가 인코딩될 때 자기 또는 광학 매체의 물리적 상태를 변환할 수 있다. 이러한 변환들은 주어진 자기 매체 내의 특정 위치들의 자기적 특성들을 변경하는 것을 포함할 수 있다. 이러한 변환들은 주어진 광학 매체 내의 특정 위치들의 물리적 특징들 또는 특성들을 변경하여 그러한 위치들의 광학적 특성들을 변경하는 것도 포함할 수 있다. 본 발명의 범위로부터 벗어나지 않고서 물리적 매체의 다른 변환들이 가능하며, 위의 예들은 본 설명을 용이하게 하기 위해서만 제공된다.
위에 기초하여, 전이의 설계를 프레젠테이션 프로그램 애플리케이션에서 전이를 구현하는 데 사용될 수 있는 이진 전이 파일로 변환하기 위한 기술들이 본 명세서에서 제공된다는 것을 알아야 한다. 본 명세서에서 제공되는 본 발명은 컴퓨터 구조 특징들, 방법적 액트들 및 컴퓨터 판독 가능 매체들에 고유한 언어로 설명되었지만, 첨부된 청구항들에서 정의되는 본 발명은 본 명세서에서 설명되는 특정 특징들, 액트들 또는 매체들로 반드시 한정되지는 않는다는 것을 이해해야 한다. 오히려, 특정 특징들, 액트들 및 매체들은 청구범위를 구현하는 예시적인 형태들로서 개시된다.
전술한 발명 대상은 단지 예시적으로 제공되며, 한정하는 것으로 해석되지 않아야 한다. 도시되고 설명된 실시예들 및 응용들을 따르지 않으면서 그리고 아래의 청구범위에서 설명되는 본 발명의 진정한 사상 및 범위로부터 벗어나지 않으면서 본 명세서에서 설명된 발명 대상에 대해 다양한 수정들 및 변경들이 이루어질 수 있다.

Claims (20)

  1. 이진 전이 파일(binary transition file)을 생성하기 위한 컴퓨터 구현 방법으로서,
    프로세서 및 메모리를 갖는 컴퓨터에 의해, 상기 이진 전이 파일 내에 복수의 애니메이션 구조를 생성하는 동작- 상기 복수의 애니메이션 구조는 삼차원 메시의 시퀀스(sequence of three-dimensional meshes)를 정의함 -과,
    상기 컴퓨터에 의해, 상기 이진 전이 파일 내에 헤더 부분을 생성하는 동작- 상기 헤더 부분은 슬라이드를 정의하고, 상기 슬라이드는 상기 삼차원 메시가 적용되어 상기 슬라이드 간의 전이를 생성함 -과,
    상기 컴퓨터에 의해, 상기 이진 전이 파일을 이용하여 프레젠테이션 프로그램 애플리케이션을 변경하는 동작- 상기 프레젠테이션 프로그램 애플리케이션은 상기 변경시에 상기 전이를 제공하도록 구성됨 -
    을 포함하는
    컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 이진 전이 파일 내에 상기 복수의 애니메이션 구조를 생성하는 동작은
    상기 컴퓨터에 의해, 상기 이진 전이 파일 내에 제1 애니메이션 구조를 생성하는 동작- 상기 제1 애니메이션 구조는 삼차원 메시의 상기 시퀀스 내의 제1 삼차원 메시를 정의함 -
    을 포함하는
    컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하는 동작은
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 인덱스 카운트를 생성하는 동작- 상기 인덱스 카운트는 상기 제1 삼차원 메시 내의 인덱스의 수량을 지정함 -, 및
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 인덱스 어레이를 생성하는 동작- 상기 인덱스 어레이는 복수의 요소를 포함하고, 상기 복수의 요소 각각은 상기 인덱스 중 하나의 인덱스를 저장함 -
    을 포함하는
    컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하는 동작은
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 정점 카운트(vertex count)를 생성하는 동작- 상기 정점 카운트는 상기 제1 삼차원 메시 내의 정점의 수량을 지정함 -, 및
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 정점 데이터 어레이를 생성하는 동작- 상기 정점 데이터 어레이는 복수의 정점 데이터 구조를 포함하고, 상기 복수의 정점 데이터 구조 각각은 상기 정점 중 하나의 정점을 저장함 -
    을 더 포함하는
    컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 정점 데이터 구조 각각은 상기 정점 중 상기 하나의 정점의 x축 값 및 상기 정점 중 상기 하나의 정점의 y축 값을 포함하는
    컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하는 동작은
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 프레임 카운트를 생성하는 동작- 상기 프레임 카운트는 상기 제1 삼차원 메시가 존재하는 상기 전이의 애니메이션 프레임의 수량을 지정함 -, 및
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 델타 구조 어레이를 생성하는 동작- 상기 델타 구조 어레이는 복수의 델타 데이터 구조를 포함하고, 상기 복수의 델타 데이터 구조 각각은 상기 애니메이션 프레임 중 하나의 애니메이션 프레임에 대응함 -
    을 더 포함하는
    컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 복수의 델타 데이터 구조 각각은 상기 애니메이션 프레임 중 상기 하나의 애니메이션 프레임 내의 상기 정점 전반에서의 복수의 델타 값 내의 최소 델타 값을 지정하는 최소 값, 상기 애니메이션 프레임 중 상기 하나의 애니메이션 프레임 내의 상기 정점 전반에서의 상기 복수의 델타 값의 범위를 지정하는 범위 값, 및 델타데이터 구조 어레이를 포함하는
    컴퓨터 구현 방법.
  8. 제7항에 있어서,
    상기 델타데이터 구조 어레이는 복수의 델타데이터 데이터 구조를 포함하고, 상기 복수의 델타데이터 데이터 구조 각각은 상기 정점 중 하나의 정점에 대응하고, 상기 복수의 델타데이터 데이터 구조 각각은 x축 델타 값, y축 델타 값 및 z축 델타 값을 포함하는
    컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 복수의 델타데이터 데이터 구조 각각은 상기 x축 델타 값, 상기 y축 델타 값 및 상기 z축 델타 값을 저장하는 단일 정수를 포함하는
    컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하는 동작은
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 슬라이드 식별자를 생성하는 동작- 상기 슬라이드 식별자는 상기 슬라이드 중 상기 제1 삼차원 메시가 적용되는 하나의 슬라이드를 지정함 -과,
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 플래그 세트를 생성하는 동작- 상기 플래그 세트는 상기 제1 삼차원 메시에 관한 추가 정보를 제공함 -과,
    상기 컴퓨터에 의해, 상기 제1 애니메이션 구조 내에 주변 조명 값을 생성하는 동작- 상기 주변 조명 값은 상기 제1 삼차원 메시가 적용되는 주변 조명의 양을 지정함 -
    을 더 포함하는
    컴퓨터 구현 방법.
  11. 제10항에 있어서,
    상기 플래그 세트는 제1 플래그를 포함하고, 상기 제1 플래그의 제1 비트 값은 상기 제1 삼차원 메시가 양면(double-sided) 3차원 메시로서 렌더링됨을 지정하고, 상기 제1 플래그의 제2 비트 값은 상기 제1 삼차원 메시가 단면(single-sided) 3차원 메시로서 렌더링됨을 지정하는
    컴퓨터 구현 방법.
  12. 제1항에 있어서,
    상기 이진 전이 파일 내에 상기 헤더 부분을 생성하는 동작은
    상기 컴퓨터에 의해, 상기 헤더 부분 내에 애니메이션 카운트를 생성하는 동작- 상기 애니메이션 카운트는 상기 전이에서의 슬라이드의 수량을 지정함 -, 및
    상기 컴퓨터에 의해, 상기 헤더 부분 내에 애니메이션 어레이를 생성하는 동작- 상기 애니메이션 어레이는 복수의 애니메이션 데이터 구조를 포함하고, 상기 복수의 애니메이션 데이터 구조 각각은 애니메이션 데이터를 지정하고, 상기 애니메이션 데이터는 상기 프레젠테이션 프로그램 애플리케이션이 상기 애니메이션 데이터에 대응하는 슬라이드를 렌더링할 수 있게 함 -을 포함하는
    컴퓨터 구현 방법.
  13. 컴퓨터 실행 가능 명령어를 저장한 컴퓨터 판독 가능 저장 장치로서,
    상기 컴퓨터 실행 가능 명령어는 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금,
    이진 전이 파일 내에 복수의 애니메이션 구조를 생성하고- 상기 복수의 애니메이션 구조는 삼차원 메시의 시퀀스를 정의하고, 상기 복수의 애니메이션 구조는 상기 삼차원 메시를 형성하는 정점 및 인덱스를 지정함 -,
    상기 이진 전이 파일 내에 헤더 부분을 생성하고- 상기 헤더 부분은 슬라이드를 정의하고, 상기 슬라이드는 상기 삼차원 메시가 적용되어 상기 슬라이드 간의 전이를 생성함 -,
    상기 이진 전이 파일을 이용하여 프레젠테이션 프로그램 애플리케이션을 변경하게 하되,
    상기 프레젠테이션 프로그램 애플리케이션은 상기 변경시에 상기 전이를 제공하도록 구성된
    컴퓨터 판독 가능 저장 장치.
  14. 제13항에 있어서,
    상기 이진 전이 파일 내에 상기 복수의 애니메이션 구조를 생성하기 위해, 상기 컴퓨터 실행 가능 명령어는 또한 상기 컴퓨터로 하여금,
    상기 이진 전이 파일 내에 제1 애니메이션 구조를 생성하게 하되, 상기 제1 애니메이션 구조는 삼차원 메시의 상기 시퀀스 내의 제1 삼차원 메시를 정의하는
    컴퓨터 판독 가능 저장 장치.
  15. 제14항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하기 위해, 상기 컴퓨터 실행 가능 명령어는 또한 상기 컴퓨터로 하여금,
    상기 제1 애니메이션 구조 내에 인덱스 카운트를 생성하고- 상기 인덱스 카운트는 상기 제1 삼차원 메시 내의 인덱스의 수량을 지정함 -,
    상기 제1 애니메이션 구조 내에 인덱스 어레이를 생성하고- 상기 인덱스 어레이는 복수의 요소를 포함하고, 상기 복수의 요소 각각은 상기 인덱스 중 하나의 인덱스를 저장함 -,
    상기 제1 애니메이션 구조 내에 정점 카운트를 생성하며- 상기 정점 카운트는 상기 제1 삼차원 메시 내의 정점의 수량을 지정함 -, 및
    상기 제1 애니메이션 구조 내에 정점 데이터 어레이를 생성- 상기 정점 데이터 어레이는 복수의 정점 데이터 구조를 포함하고, 상기 복수의 정점 데이터 구조 각각은 상기 정점 중 하나의 정점을 저장함 -하게 하는
    컴퓨터 판독 가능 저장 장치.
  16. 제15항에 있어서,
    상기 정점 데이터 구조 각각은 상기 정점 중 상기 하나의 정점의 z축 값 없이, 상기 정점 중 상기 하나의 정점의 x축 값 및 상기 정점 중 상기 하나의 정점의 y축 값을 포함하는
    컴퓨터 판독 가능 저장 장치.
  17. 제16항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하기 위해, 상기 컴퓨터 실행 가능 명령어는 또한 상기 컴퓨터로 하여금,
    상기 제1 애니메이션 구조 내에 프레임 카운트를 생성하고- 상기 프레임 카운트는 상기 제1 삼차원 메시가 존재하는 상기 전이의 애니메이션 프레임의 수량을 지정함 -,
    상기 제1 애니메이션 구조 내에 델타 구조 어레이를 생성- 상기 델타 구조 어레이는 복수의 델타 데이터 구조를 포함하고, 상기 복수의 델타 데이터 구조 각각은 상기 애니메이션 프레임 중 하나의 애니메이션 프레임에 대응함 -하게 하고,
    상기 복수의 델타 데이터 구조 각각은 상기 애니메이션 프레임 중 상기 하나의 애니메이션 프레임 내의 상기 정점 전반에서의 복수의 델타 값 내의 최소 델타 값을 지정하는 최소 값, 상기 애니메이션 프레임 중 상기 하나의 애니메이션 프레임 내의 상기 정점 전반에서의 상기 복수의 델타 값의 범위를 지정하는 범위 값, 및 델타데이터 구조 어레이를 포함하고,
    상기 델타데이터 구조 어레이는 복수의 델타데이터 데이터 구조를 포함하고, 상기 복수의 델타데이터 데이터 구조 각각은 상기 정점 중 하나의 정점에 대응하며,
    상기 복수의 델타데이터 데이터 구조 각각은 x축 델타 값, y축 델타 값 및 z축 델타 값을 포함하는
    컴퓨터 판독 가능 저장 장치.
  18. 제17항에 있어서,
    상기 이진 전이 파일 내에 상기 제1 애니메이션 구조를 생성하기 위해, 상기 컴퓨터 실행 가능 명령어는 또한 상기 컴퓨터로 하여금,
    상기 제1 애니메이션 구조 내에 슬라이드 식별자를 생성하고- 상기 슬라이드 식별자는 상기 슬라이드 중 상기 제1 삼차원 메시가 적용되는 하나의 슬라이드를 지정함 -과,
    상기 제1 애니메이션 구조 내에 플래그 세트를 생성하고- 상기 플래그 세트는 상기 제1 삼차원 메시에 관한 추가 정보를 제공함 -,
    상기 제1 애니메이션 구조 내에 주변 조명 값을 생성- 상기 주변 조명 값은 상기 제1 삼차원 메시에 적용되는 주변 조명의 양을 지정함 -하게 하고,
    상기 플래그 세트는 제1 플래그를 포함하고, 상기 제1 플래그의 제1 비트 값은 상기 제1 삼차원 메시가 양면 3차원 메시로서 렌더링됨을 지정하고, 상기 제1 플래그의 제2 비트 값은 상기 제1 삼차원 메시가 단면 3차원 메시로서 렌더링됨을 지정하는
    컴퓨터 판독 가능 저장 장치.
  19. 제17항에 있어서,
    상기 이진 전이 파일 내에 상기 헤더 부분을 생성하기 위해, 상기 컴퓨터 실행 가능 명령어는 또한 상기 컴퓨터로 하여금,
    상기 헤더 부분 내에 애니메이션 카운트를 생성하고- 상기 애니메이션 카운트는 상기 전이에서의 슬라이드의 수량을 지정함 -,
    상기 헤더 부분 내에 애니메이션 어레이를 생성- 상기 애니메이션 어레이는 복수의 애니메이션 데이터 구조를 포함하고, 상기 복수의 애니메이션 데이터 구조 각각은 애니메이션 데이터를 지정하고, 상기 애니메이션 데이터는 상기 프레젠테이션 프로그램 애플리케이션이 상기 애니메이션 데이터에 대응하는 슬라이드를 렌더링할 수 있게 함 -하게 하는
    컴퓨터 판독 가능 저장 장치.
  20. 컴퓨터 시스템으로서,
    프로세서,
    상기 프로세서에 통신 가능하게 결합된 메모리, 및
    상기 메모리로부터 상기 프로세서에서 실행되는 프로그램 모듈
    을 포함하고,
    상기 프로그램 모듈은 상기 프로세서에 의해 실행될 때 상기 컴퓨터 시스템으로 하여금,
    이진 전이 파일 내에 복수의 애니메이션 구조를 생성하고- 상기 복수의 애니메이션 구조는 삼차원 메시의 시퀀스를 정의하고, 상기 복수의 애니메이션 구조는 상기 삼차원 메시를 형성하는 정점 및 인덱스를 지정함 -,
    상기 이진 전이 파일 내에 헤더 부분을 생성하고- 상기 헤더 부분은 슬라이드를 정의하고, 상기 슬라이드는 상기 삼차원 메시가 적용되어 상기 슬라이드 간의 전이를 생성하며, 상기 이진 전이 파일은 상기 전이 내의 프레임 사이의 상기 정점의 델타 값을 저장함 -,
    상기 이진 전이 파일을 이용하여 프레젠테이션 프로그램 애플리케이션을 변경하게 하는- 상기 프레젠테이션 프로그램 애플리케이션은 상기 변경시에 상기 전이를 제공하도록 구성됨 -
    컴퓨터 시스템.
KR1020137031959A 2011-06-03 2012-05-30 메시 시퀀스 파일 포맷 KR101908161B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/152,285 US8749559B2 (en) 2011-06-03 2011-06-03 Mesh sequence file format
US13/152,285 2011-06-03
PCT/US2012/039939 WO2012166764A2 (en) 2011-06-03 2012-05-30 Mesh sequence file format

Publications (2)

Publication Number Publication Date
KR20140030229A KR20140030229A (ko) 2014-03-11
KR101908161B1 true KR101908161B1 (ko) 2018-10-15

Family

ID=47260268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137031959A KR101908161B1 (ko) 2011-06-03 2012-05-30 메시 시퀀스 파일 포맷

Country Status (6)

Country Link
US (1) US8749559B2 (ko)
EP (1) EP2715564B1 (ko)
JP (1) JP5932986B2 (ko)
KR (1) KR101908161B1 (ko)
CN (1) CN103597467B (ko)
WO (1) WO2012166764A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150761A (zh) * 2013-04-02 2013-06-12 乐淘奇品网络技术(北京)有限公司 通过网页高速逼真3d渲染进行物品设计定制的方法
US11790154B2 (en) * 2013-10-09 2023-10-17 Interactive Solutions Corp. Mobile terminal device, slide information managing system, and a control method of mobile terminal
KR102247892B1 (ko) * 2014-12-02 2021-05-04 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 어플리케이션 코드를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080012853A1 (en) * 2006-07-14 2008-01-17 William Geiger Generating mesh from implicit surface

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072496A (en) 1998-06-08 2000-06-06 Microsoft Corporation Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects
US6614428B1 (en) * 1998-06-08 2003-09-02 Microsoft Corporation Compression of animated geometry using a hierarchical level of detail coder
US6879324B1 (en) 1998-07-14 2005-04-12 Microsoft Corporation Regional progressive meshes
US6563499B1 (en) 1998-07-20 2003-05-13 Geometrix, Inc. Method and apparatus for generating a 3D region from a surrounding imagery
US6366282B1 (en) 1998-09-08 2002-04-02 Intel Corporation Method and apparatus for morphing objects by subdividing and mapping portions of the objects
US6396500B1 (en) 1999-03-18 2002-05-28 Microsoft Corporation Method and system for generating and displaying a slide show with animations and transitions in a browser
US6426747B1 (en) 1999-06-04 2002-07-30 Microsoft Corporation Optimization of mesh locality for transparent vertex caching
US6982715B2 (en) 2002-07-26 2006-01-03 Intel Corporation Mesh compression process
JP2005024728A (ja) * 2003-06-30 2005-01-27 Sumitomo Electric Ind Ltd 光可変減衰器および光可変減衰器モジュール
US7372991B2 (en) * 2003-09-26 2008-05-13 Seiko Epson Corporation Method and apparatus for summarizing and indexing the contents of an audio-visual presentation
JP4235541B2 (ja) * 2003-12-15 2009-03-11 キヤノン株式会社 デジタルカメラおよびデジタルカメラの制御方法およびプログラム
US7342580B1 (en) * 2004-04-02 2008-03-11 Pacific Data Images Llc Surface compression based on reference geometry in animation models
US7880738B2 (en) * 2005-07-14 2011-02-01 Molsoft Llc Structured documents and systems, methods and computer programs for creating, producing and displaying three dimensional objects and other related information in those structured documents
US8566301B2 (en) * 2006-05-01 2013-10-22 Steven L. Rueben Document revisions in a collaborative computing environment
CN101178817B (zh) * 2007-12-25 2010-06-02 王鹏勃 一种在三维场景内实现三维信息演示文档的方法
US20090172549A1 (en) 2007-12-28 2009-07-02 Motorola, Inc. Method and apparatus for transitioning between screen presentations on a display of an electronic device
KR100969764B1 (ko) 2008-02-13 2010-07-13 삼성전자주식회사 메쉬 모델로 구현된 3차원 데이터의 부호화 및 복호화 방법
JP5033261B2 (ja) * 2008-04-18 2012-09-26 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US7721209B2 (en) 2008-09-08 2010-05-18 Apple Inc. Object-aware transitions
US8645822B2 (en) * 2008-09-25 2014-02-04 Microsoft Corporation Multi-platform presentation system
US8707150B2 (en) * 2008-12-19 2014-04-22 Microsoft Corporation Applying effects to a video in-place in a document
US20100293330A1 (en) * 2009-05-14 2010-11-18 Microsoft Corporation Displaying transition images during a slide transition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080012853A1 (en) * 2006-07-14 2008-01-17 William Geiger Generating mesh from implicit surface

Also Published As

Publication number Publication date
EP2715564B1 (en) 2018-12-12
EP2715564A4 (en) 2015-12-30
KR20140030229A (ko) 2014-03-11
EP2715564A2 (en) 2014-04-09
WO2012166764A3 (en) 2013-01-31
US20120306851A1 (en) 2012-12-06
JP5932986B2 (ja) 2016-06-08
CN103597467A (zh) 2014-02-19
US8749559B2 (en) 2014-06-10
CN103597467B (zh) 2016-09-14
JP2015505996A (ja) 2015-02-26
WO2012166764A2 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
US10692270B2 (en) Non-divergent parallel traversal of a bounding volume hierarchy
CN111324965A (zh) 一种基于云的通用参数化模型解析方法及设计系统
US9241212B2 (en) Ray tracing apparatus and method
Ferguson Practical algorithms for 3D computer graphics
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
CN110489692B (zh) 一种基于WebGL实例化技术构件级操作的实现方法及系统
WO2015070618A1 (zh) 多光源下的全局光照绘制方法及装置
KR101908161B1 (ko) 메시 시퀀스 파일 포맷
Wolff OpenGL 4 Shading Language Cookbook: Build high-quality, real-time 3D graphics with OpenGL 4.6, GLSL 4.6 and C++ 17
Han 3D graphics for game programming
Gordon et al. Computer graphics programming in OpenGL with C++
McKesson Learning modern 3D graphics programming
WO2021154101A1 (en) Software broker for assets managed with nested instancing
US20220020214A1 (en) A system for optimizing a 3d mesh
GB2607350A (en) Graphics processing
Dai et al. Research of creating and fetching 3D models of virtual reality based on OpenGL
TWI822330B (zh) 用量化及區間表示之射線相交測試
Wu et al. Virtual scene modeling technology based on OpenGL and 3dsMAX
Movania et al. OpenGL–Build high performance graphics
CN115457189B (zh) 一种基于团着色的pbd骨骼驱动软体仿真系统及方法
US20240112397A1 (en) Spatial test of bounding volumes for rasterization
US9201986B1 (en) Managing dynamic state of a physical system
Penev Computer Graphics And Geometric Modelling–A Hybrid Approach
McLoughlin et al. Design and Implementation of Interactive Flow Visualization Techniques
da Silva Virtual Reality Integration on Tomo-GPU System

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant