KR20080022591A - 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인 - Google Patents

내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인 Download PDF

Info

Publication number
KR20080022591A
KR20080022591A KR1020087002445A KR20087002445A KR20080022591A KR 20080022591 A KR20080022591 A KR 20080022591A KR 1020087002445 A KR1020087002445 A KR 1020087002445A KR 20087002445 A KR20087002445 A KR 20087002445A KR 20080022591 A KR20080022591 A KR 20080022591A
Authority
KR
South Korea
Prior art keywords
data
engine
graphics engine
computer platform
mobile device
Prior art date
Application number
KR1020087002445A
Other languages
English (en)
Other versions
KR100928192B1 (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 KR20080022591A publication Critical patent/KR20080022591A/ko
Application granted granted Critical
Publication of KR100928192B1 publication Critical patent/KR100928192B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

3D 아이콘 및 씬을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 포함하는 장치가 제공된다. 오프라인 최적화 엔진은 타겟 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세스하기 위해 제공된다. 그래픽 엔진 시뮬레이터는 타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하기 위해 제공된다.
오프라인 최적화, 3D 모델

Description

내장형 디바이스에서의 3D 콘텐츠에 대한 오프라인 최적화 파이프라인{OFFLINE OPTIMIZATION PIPELINE FOR 3D CONTENT IN EMBEDDED DEVICES}
저작권 주의
이 특허 문헌은 저작권 보호의 대상이 되는 정보를 포함한다. 저작권자는 미국 특허청 파일 또는 기록에서 나타나는 바와 같이, 본 특허 문헌 또는 특허의 어느 누구의 복제 재생산에 대해 반대하지 않으나, 그렇지 않은 경우 무엇이든지 모든 저작권을 유보한다.
관련 문헌에 대한 상호 참조
각각 2005 년 6 월 29 일에 출원된 미국 가특허 출원 제 60/696,347, 60/696,185, 60/696,488, 60/696,346, 및 60/696,186 호에 대해 우선권을 주장한다.
본 발명의 분야
본 발명의 양태는 내장형 디바이스에서 이용되는 3D 콘텐츠의 개발 및 구현을 용이하게 하는 툴에 관한 것이다. 본 발명의 다른 양태는 이러한 3D 콘텐츠를 최적화하는 툴에 관한 것이다. 내장형 디바이스는 음성, 데이터, 텍스트, 및/또는 이미지를 캡쳐, 수신, 및/또는 송신하는 이동 디바이스일 수도 있다.
본 발명의 배경
내장형 디바이스에서 이용되는 3D 콘텐츠의 개발 및 구현을 용이하게 하는 다양한 시스템이 존재한다. 이러한 내장형 디바이스는 일반적으로 3D 콘텐츠를 디스플레이하는 디스플레이를 포함하였다. 이것에 관하여, 퀄컴 인코포레이티드는 예를 들어, 이동 전화기와 같은 내장형 디바이스에서 3D 콘텐츠를 제공하는 프로그램을 개발하기 위해 주어진 컴퓨터 플랫폼 상에서 동작될 수 있는 SDK 를 포함하는 트레이드 명칭 BREWTM 로 다수의 소프트웨어 제품을 판매한다.
본 발명의 요약
일 실시형태에 따라, 3D 아이콘 및 씬을 포함하는 3D 모델, 및 3D 모델의 애니메이션을 규정하는 자산을 제공하는 장치가 제공된다. 타켓 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세스하기 위해 오프라인 최적화 엔진이 제공된다. 그래픽 엔진 시뮬레이터는, 타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하도록 제공된다.
도면의 간단한 설명
본 발명의 제한없는 예시적인 실시형태는 몇몇 도면에 걸쳐 동일한 부호는 동일한 부분을 나타내는 다음의 도면을 참조하여 더욱 상세히 설명한다.
도 1 은 하나 이상의 디바이스 콘텐츠 개발 플랫폼을 도시하는 블록도이다.
도 2 는 타겟 내장형 디바이스에서 소프트웨어 계층구조의 일 실시형태를 도시하는 블록도이다.
도 3 은 3D 모델 파일의 예시적인 데이터 구조의 개략도이다.
도 4 는 사용자 인터페이스 (UI) 레이아웃 파일의 예시적인 데이터 구조의 개략도이다.
도 5 는 오프라인 최적화 파이프라인의 블록도이다.
도 6 은 타겟 내장형 디바이스에서 선택 코드 및 데이터의 개략도이다.
도 7 및 도 8 은 애니메이션을 베이킹 (baking) 하는 프로세스의 플로우챠트이다.
도 9 는 3D 모델 및 애니메이션 데이터상에서 계층구조 업데이트 사전 프로세싱을 수행하는 프로세스를 도시하는 도면이다.
도 10 은 내장형 디바이스에 요구될 메모리 공간을 다른 것들 중에서 결정하는 사전-할당 프로세스의 플로우챠트이다.
상세한 설명
도면을 더 상세히 참조하면, 도 1 은 3D 콘텐츠 개발 시스템 (9) 을 도시한다. 도시된 시스템 (9) 은 하나 이상의 디바이스 콘텐츠 개발 플랫폼 (10), 및 이동 디바이스 (11) 를 포함한다. 도시된 이동 디바이스는 디스플레이 (12) 및 키 (13) 를 포함한다. 도시된 디스플레이 (12) 는 3D 아이콘 및 씬을 포함하는 3D 그래픽 가상 인터페이스를 디스플레이할 수도 있다. 이에 관하여, 씬에서 소정의 3D 대상을 이동 디바이스 인터페이스 툴과 관련시켜, 이 소정의 3D 대상의 조작에 의해, 이동 디바이스에 관한 신호 또는 정보의 하나 이상의 입력 및 출력을 유발하는 아이콘 관련 메카니즘을 포함하는 3D 아이콘 애플리케이션이 제공된다. 이동 디바이스는 예를 들어, 이동 전화기일 수도 있다. 입력은 이동 디바이스의 제어 함수, 이동 디바이스의 스위치 상태 변화, 또는 이동 디바이스의 텍스트 입력을 포함할 수도 있다. 출력은 정보 디스플레이, 디바이스의 상태, 또는 이동 디바이스에 관한 상태 표시를 포함할 수도 있다. 3D 아이콘을 포함하는 이러한 3D 그래픽 가상 인터페이스의 사용을 통해 입력 또는 출력되는 정보는 이동 디바이스 (11) 의 관련 동작, 세팅, 이벤트, 스테이트, 및/또는 상태일 수도 있다.
도시된 이동 디바이스 (11) 는 음성, 데이터, 텍스트, 및/또는 이미지를 캡쳐, 수신, 및/또는 송신하는 내장형 디바이스의 하나의 타입이다. 도시된 이동 디바이스 (11) 는, 이동 디바이스 (11) 를 제어하고 이동 디바이스 (11) 로 정보를 입력하는 디스플레이 (12) 및 키 (13) 를 포함한다.
도시된 디바이스 콘텐츠 개발 플랫폼 (10) 은 단일 디바이스 또는 분할된 디바이스일 수도 있거나, 복수의 플랫폼을 포함할 수도 있다. 도시된 플랫폼 세트는 컴퓨터 플랫폼 상에서 대응 윈도우 또는 씬과 상호작용하고 이를 제공하는 다수의 소프트웨어 인터페이스를 포함한다. 이들은 스크립팅 윈도우 (14a) 및 대응 스크립팅 언어 인터페이스 (14b) 를 포함한다. 소스 코드 인터페이스 (16b) 에 대응하는 소스 코드 윈도우 (16a) 가 제공된다. 인터페이스 (14b 및 16b) 각각은, 컴퓨터 스크린을 통해 제어 및 정보를 수신하고, 사용자에게 정보를 디스플레이하는 대응 윈도우 (14a 및 16a) 의 이용을 통해 동작가능하다.
타겟 시뮬레이터 (19) 를 포함할 수도 있는 오프라인 최적화 엔진 (18) 이 도시된 플랫폼 (10) 에 더 제공된다.
스크립팅 언어 인터페이스 (14b) 는 타겟 내장형 디바이스상의 3D 사용자 인터페이스의 형성에 영합하는 하나 이상의 스크립트 파일 (20) 에 커플링되고, 이를 생성한다. 스크립트 파일 (20) 은 3D 아이콘 및 씬 규정에 대한 정보 및 규정된 3D 아이콘 및 씬의 애니메이션의 프로그래밍에 대한 정보를 제공한다.
소스 코드 윈도우 (16a) 에 접속된 소스 코드 인터페이스 (16b) 는, 통상적으로 주문자 상표 부착 생산 (OEM) 을 위해 제공된 코드에 제공된 커맨드를 이용하여, 소스 코드를 이용하는 프로그램을 생성한다.
3D 모델 시스템 (32) 은, 아티스트가 3D 모델링 및/또는 이미지 프로세싱을 수행하여 3D 사용자 인터페이스 자산을 생성하고 사용자 인터페이스 레이아웃을 규정하고, 이들 각각이 3D 사용자 인터페이스를 형성하고 궁극적으로 3D 사용자 인터페이스를 규정하도록 제공될 수도 있다. 익스포터 (30) 는 파일을 익스포트하도록, 즉, 이러한 파일을 3D 모델 시스템 (32) 으로부터의 이러한 파일을 컴파일 스크립트 및/또는 소스 코드 (24) 에 의해 이용될 수 있는 특정 타입의 특정 파일로 변환하여, 타겟 내장형 디바이스에 익스포트될 수 있는 특정 타입의 3D 사용자 인터페이스를 유발하도록 제공된다. 익스포터 (30) 에 의해 수행되는 "익스포트" 는 이동 디바이스 (11) 와 같은 타겟 내장형 디바이스에 결과 코드 및 데이터를 익스포트하도록 제공되는 디바이스 익스포트 인터페이스 (41) 에 의해 수행되는 익스포트와는 상이하다. 익스포터 (30) 는 정보를 컴파일 스크립트 및/또는 소스 코드 (24) 와 호환가능한 파일로 정보를 변환하며, 디바이스 익스포트 인터페이스 (41) 는 이러한 컴파일 스크립트 및/또는 소스 코드, 및 관련 사용자 인터페이 스 자산 및 사용자 인터페이스 레이아웃 파일의 이동 디바이스 (11) 로의 물리적 익스포트를 용이하게 한다.
도시된 실시형태에서, 익스포터 (30) 는 3D 모델링 시스템 (32) 으로부터 사용자 인터페이스 자산 (25, 26, 및 27) 을 규정하는 파일 세트, 및 사용자 인터페이스 레이아웃 (28) 을 규정하는 파일 세트에 정보를 익스포트한다. 구체적으로, 사용자 인터페이스 자산은 3D 모델 (25), 애니메이션 (26), 및 텍스쳐 (27) 를 포함한다.
오프라인 최적화 엔진 (18) 은, 타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상 (즉, 플랫폼(들) (10)) 에서, 예를 들어, 도 2 에 도시된 그래픽 엔진인 그래픽 엔진을 동작시키는 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하도록 그래픽 엔진을 시뮬레이팅하는 타겟 시뮬레이터 (19) 를 포함할 수도 있다.
도 2 는 이동 디바이스 (11) 와 같은 타겟 내장형 디바이스로 익스포트되는 경우 존재하는 소프트웨어의 구조도를 제공한다. 이 구조는 컴파일 스크립트 및/또는 소스 코드 (40) (API 호를 포함함), 관리된 API, 기본 구조 및 API (46), 및 하드웨어 레벨 API (64) 를 포함한다. 컴파일 스크립트 및/또는 소스 코드는 관리된 API (44) 및 기본 구조 API (46) 각각과 직접 통신하며, 즉, 각각의 관리된 API (44) 및 기본 구조 API (46) 내부의 API 함수에 대해 API 호출을 수행한다. 관리된 API (44) 는 랜더링 API (48), 자원 관리 API (50), 및 카메라 관리 API (52) 를 포함한다. 랜더링 API (48) 는 메모리 관리, 랜더 상태, 및 다른 북키핑 태스크를 책임진다.
기본 구조 및 API (46) 는 텍스쳐 (54), 메시 (56), 애니메이션 (58), 카메라 (60), 및 수식 및 유틸리티 (62) 를 포함한다. 이들 구조 및 API 는 모든 지오메트리, 애니메이션 스트림, 및 다른 기본적 엔진 데이터 타입으로의 완전한 액세스를 제공한다. 또한, 엔진의 나머지와는 독립적으로 이용될 수 있는 고정 포인트 수식 및 컨테이너 구조가 제공될 수도 있다. 컴파일 스크립트 및/또는 소스 코드 (40) 내에서 구체화된 애플리케이션은, 함수의 일부 또는 전부에 대해, 관리된 API (44) 를 통해 인터페이스하도록 구현될 수도 있다. 애플리케이션은 그들 자신의 자원 관리 및 메모리 인스턴스 생성 기술을 구현하여, 그 결과 기본 구조 및 API (46) 와 직접 인터페이스할 수도 있다. 또한, OEM 개발자가 익스포터 및 메시 최적화 툴을 이용하는 소스 코드를 기입하기를 소망하거나 더 높은 레벨의 기능성이 구현되는 방법에 대한 제어를 보유하기를 소망하는 경우, 관리된 API (44) 를 완전히 바이패스하는 것이 가능하다.
기본 구조 및 API (46) 와 함께 관리된 API (44) 는 최적화 엔진 레이어 (42) 를 포함한다. 하드웨어 레벨 API (64) 는 예를 들어, 공개 GL-ES 소프트웨어, 다이렉트 3D 이동 소프트웨어, 또는 SKT GIGA 소프트웨어를 포함할 수도 있다.
도 3 은 3D 모델 파일 (70) 의 데이터 구조의 일 실시형태를 개략적으로 도시한다. 소정의 3D 모델 파일 (70) 은 모델 (72) 을 식별하는 식별기 및 이 모델에 대한 지오메트리가 드로우 (drawn) 될 수 있는 방법을 규정하는 자료 파라미터 (74a, 74b,...74c) 세트를 포함한다. 특정 자료 (74a) 는, 예를 들어, 메시 의 맵핑 컬러 및 특정 텍스트, 특정 투명값, 및 특정 백열값을 포함할 수도 있다. 자료 정보 (74a) 는 이들 랜더링 파라미터를 포함한다. 소정의 자료 파라미터 (74a) 세트에 대응하는 랜더 메시 (76) 가 제공된다. 도시된 구조에서, 랜더 메시 (76) 는 정점 어레이 (78), 텍스쳐 좌표 어레이 (80), 및 랜더 그룹 (82) 을 포함한다. 랜더 그룹 (82) 은 랜더 프리미티브 (삼각형 스트립, 삼각형 리스트 등) 그룹을 포함한다. 애니메이션에 대해 이용되고 로컬 스페이스로부터 월드 스페이스로 랜더 그룹을 변형하는데 이용되는 하나 이상의 업데이트 계층구조 (84) 가 제공될 수도 있다.
도 4 는 사용자 인터페이스 레이아웃 파일 (90) 의 데이터 구조를 개략적으로 도시한다. UI 레이아웃 파일 (90) 은 UI 규정 파일 (92) 및 씬 파일 (94) 을 포함한다. UI 규정 파일 (92) 은 자산 링크 정보 및, UI 상태; 상태 관리; 특정 천이 발생시의 커맨드; 및 UI 이벤트를 포함하는 다른 정보를 포함한다. 씬 파일 (94) 은 링크 노드 정보 및 씬 노드 정보를 포함한다.
씬 노드는 모두 3D 모델로 링크되지 않은 노드이다. 링크 노드는, 링크 노드와 관련된 3D 모델을 갖는다. 링크 노드와 관련된 모델은 그들 자신의 파일로 익스포트되고, 모델의 링크 노드 관련성은 UI 규정 파일 (92) 에서 특정된다. 스크립트 언어는, 사용자 인터페이스 자산으로도 지칭되는 외부에서 생성된 3D 자산과 함께 이용될 수 있거나, 도 1 에 도시된 바와 같은 3D 모델 시스템 (32) 인 또 다른 소프트웨어 세트에 의해 생성되는 태그 세트를 제공하도록 이용될 수도 있다. 이러한 외부 소프트웨어에 의해 생성된 이들 파일은 익스포터 (30) 에 의 해 익스포터되고, 그 결과 스크립트 파일 (20) 및/또는 소스 코드 (22) 로부터 컴파일된 3D 사용자 인터페이스 개발 코드 (24) 와 호환가능한 포맷으로 변환된다.
도 5 는 도 1 의 오프라인 최적화 엔진 (18) 을 구현하는데 이용될 수 있는 예시적인 오프라인 최적화 파이프라인 (99) 의 블록도이다. 도 5 에 도시된 오프라인 최적화 파이프라인 (99) 은 시작 스테이지 (100) 에서 시작한다. 시작 스테이지에서, 데이터 검증 및 일반 셋업이 수행되어 최적화 프로세서의 나머지를 용이하게 한다. 시작 스테이지 (100) 이후에, 파이프라인은 추출 씬 스테이지 (102) 로 진행한다. 추출 씬 스테이지 (102) 에서, 파이프라인은 3D 사용자 인터페이스의 특정 씬에 대한 파이프라인에서 프로세싱될 데이터를 추출한다. 후속 스테이지는, 연속하여, 베이킹 애니메이션 스테이지 (104), 오프라인 셋업 스테이지 (106), 계층구조 업데이트 사전 프로세싱 스테이지 (108), 및 사전 할당 스테이지 (110) 를 포함한다.
베이킹 애니메이션 스테이지 (104) 에서, 추출된 씬에 대한 애니메이션은 베이킹되어 타겟 내장형 디바이스에서 3D 애니메이션 업데이트를 수행하는 프로세싱 시간을 감소시키고, 베이킹된 애니메이션은 압축되어 타겟 내장형 디바이스에서 애니메이션 데이터가 차지하는 공간을 감소시킨다. 오프라인 셋업 스테이지 (106) 에서는, 예를 들어, 북키핑 인덱스 구조화, 데이터 준비, 및 메모리 할당을 포함하는, 다양한 프로세싱 단계가 수행된다.
후속하는 계층구조 업데이트 사전 프로세싱 스테이지 (108) 에서는, 추출된 씬에 대한 (3D 모델에 대한 및 애니메이션에 대한) 계층구조 각각이 재배열되어, 타겟 내장형 디바이스에서, 로컬 좌표로부터 월드 좌표로의 변환을 포함하는 계층구조 업데이트는 계층구조 트리의 너비 우선 탐색을 수행함으로써 비반복적인 트리 탐색을 포함할 것이다. 또한, 이 스테이지에서는, 트리의 노드가 압축되고, 타겟 내장형 디바이스가 계층구조 업데이트를 온더 플라이로 수행하도록 제공될 필요가 있는 노드를 포함하는 단일의 연속적인 버퍼로 계층구조가 패킹된다. 도시된 실시형태에서, 일단 타겟 디바이스로 익스포트되는 경우, 이 버퍼는 트리 데이터 버퍼 (129) (도 6 에 도시되는 바와 같음) 의 형태를 취할 것이다.
사전 할당 스테이지 (110) 에서, 추출된 씬에 대해 요구될 모든 데이터 구조가 식별될 것이고, 타겟 내장형 디바이스에서 요구된 메모리 할당이 결정될 것이다. 이는, 단일 메모리 할당 호가 아닌 경우 필요할 수 있는 다수의 메모리 할당 호와 비교시, 단일 메모리 할당 호 (예를 들어, ANSIC 의 MALLOC 호를 이용함) 를 수행하기 위해 타겟 내장형 디바이스에서 사용될 수 있는 총 메모리 할당 형상 (그렇지 않은 경우 종종 패킹 토탈 (pack total) 로 지칭됨) 을 유발한다.
도 7 및 도 8 은 애니메이션을 베이킹하고 이 베이킹된 애니메이션을 압축하는 프로세스의 플로우챠트를 도시한다.
도 7 및 도 8 에 나타난 도시된 플로우챠트는, 오프라인 단계에서 애니메이션 커브를 사전 평가함으로써 타겟 내장형 디바이스상에서 애니메이션 업데이트를 최적화하기 위해 제공된다. 도 7 및 도 8 에 나타난 도시된 플로우챠트는, 결과적으로 타겟 내장형 디바이스 (120) 에서 코드 및 데이터 (122) 의 일부일 베이킹애니메이션 룩 업 테이블 (LUT) (124) 을 생성한다 (도 6 에 도시된 바와 같음).
도 7 및 도 8 에 나타난 도시된 베이킹 프로세스에서, 초기 동작 (200) 에서는, 추출된 씬으로부터 애니메이션 계층구조가 추출된다. 다음 동작 (202) 에서, 추출된 계층구조의 각각의 노드에 대해 애니메이션 스트림이 생성된다. 동작 (204) 에서, 생성된 모든 애니메이션 스트림에 대해 샘플링 레이트가 결정된다. 이에 대해, 사용자는 특정 샘플링 레이트를 선택할 수도 있다. 일반적으로, 샘플링 레이트는, 애니메이션의 프레임이 도 1 에 도시된 바와 같은 익스포터 (30) 에 의해 익스포트된 애니메이션 파일 (26) 에 저장되는 표준 프레임 레이트 보다 훨씬 더 높다. 샘플링 레이트는 반복 프로세스를 이용하여 조정될 수 있다. 예를 들어, 오더 (author) 는 선택된 특정 샘플링 레이트로 3D 사용자 인터페이스 애플리케이션의 결과 스크립트를 시뮬레이팅할 수도 있다. 결과적인 그래픽의 품질이 오더의 소정의 기대에 충분하지 않은 경우, 샘플 레이트는 이에 따라 변할 수도 있다.
다음 동작 (206) 에서, 모든 (또는, 또 다른 실시형태에서는 서브세트) 샘플 레이트 커브가 선택된 샘플 레이트에서 평가된다. 이때, 미처리 데이터 스트림이 획득되어, 결정된 샘플 레이트로 베이킹된다. 이러한 데이터는 오프라인 플랫폼에 저장된다.
예시적인 방법으로, 이 미처리 애니메이션 데이터는 인덱스 어레이 (미도시) 에 저장될 수 있고, 인덱스 어레이의 각각의 행은, 예를 들어, 인덱스 룩업 테이블 (LUT; 미도시) 을 이용하여 결정된 인덱스 값을 어레이에 입력함으로써 액세스 가능하다. 인덱스 어레이는 각각의 행에 속성 세트를 저장하고, 각각의 행은 특 정 노드 및 프레임과 관련된다. 이들 속성은, 예를 들어, x, y, z, r11, r12, r13, r21, r22, r23, r31, r32, r33, 및 컬러일 수도 있다. x, y, 및 z 속성은 씬의 로컬 좌표, 또는 씬의 일부일 수도 있다. 속성 r11, r12, r13, r21, r22, r23, r31, r32, r33 은, 예를 들어, 3×3 행렬에 대응하는 회전 및 배향 값일 수도 있다.
다음 동작 (208) 에서, (베이킹 미처리 애니메이션 데이터 스트림으로부터의) 각각의 프레임/노드 조합에 대한 회전 및 배향 값은 사원수 (quaternion) 로 변환된다. 사원수는 예를 들어, 오일러 각 및 행렬을 이용하는 대신, 회전 및 배향을 표현하는 또 다른 방법이다. 사원수는 4 개의 값 (α, β, γ, ω) 로 표현된다. 그 결과, 이 예에서, 9 개의 회전 및 배향 값은 4 개의 사원수 값으로 변형될 수도 있다.
다음 동작 (210) 에서, 베이킹된 미처리 애니메이션 데이터 스트림의 회전 및 배향으로부터 변환된 사원수 내의 각각의 고유값에 대해 클러스터가 생성된다. 설명된 실시형태에서, 클러스터는, 좌표 (x, y, z) 및 사원수 값 (α, β, γ, ω) 의 로컬 세트를 이용하여 형성될 수도 있는 7 개의 한벌 값이다. 일 양태에서, 클러스터는 7 개의 한벌 값이 고유한 경우에 형성될 수도 있다. 그 결과, 베이킹된 미처리 애니메이션 데이터에 M 개의 행 (즉, 프레임 및 노드 값의 각각의 상이한 조합에 대응함) 이 존재하는 경우, N 개의 클러스터가 존재할 수도 있고, 여기서, 고유하지 않은 7 개의 한벌 값으로 인해 N 이 M 보다 작다. 클러스터는 클러스터 벡터 (x, y, z) 및 클러스터 사원수 (α, β, γ, ω) 로 구성될 수도 있다.
다음 동작 (212) 에서, 소정의 클러스터 쌍에 대해 이들 클러스터간의 에러가 소정의 임계값보다 작은지 여부를 결정한다. 각각의 클러스터에 에러 값이 제공된다. 예시적인 방법으로, 이 에러값은 각각의 클러스터의 중간 (midpoint) 값일 수도 있다.
예를 들어, 클러스터 쌍은 2 개의 공간: (1) 데카르트 공간 (x. y, z); 및 (2) 사원수 공간에서 7 개의 한벌상에서 동작함으로써 식별될 수도 있다. 데카르트 공간에서, 임의의 2 개의 클러스터 벡터 사이의 중점의 크기는 중간값, mpv1 을 생성할 수도 있다. 마찬가지로, 사원수 공간에서, 임의의 2 개의 클러스터 사원수와 상이한 중점 아크 (arc) 의 크기는 중간값, mpv2 를 생성할 수도 있다.
동작 (212) 에서의 결정이 에러가 임계값보다 작다고 결정한 경우, 프로세스는 동작 (214) 으로 진행하여, 클러스터 쌍이 새로운 클러스터로 머징되고, 새로운 최소 에러값 (즉, 중점 크기값) 이 이 새롭게 머징된 클러스터에 대해 연산된다. 프로세스는 동작 (212) 으로 리턴하여, 또 다른 클러스터 쌍을 평가한다.
이 클러스터 프로세스는, 애니메이션 데이터 (일반적으로, 해석 정보, 배향 및 회전 정보) 를 가질 수도 있는 복수의 고유 프레임-노드 쌍이 동일한 클러스터 데이터 세트를 갖도록, 고유 프레임-노드 쌍에 대응하는 데이터의 행의 수를 감소시키는 방법으로 고려될 수 있다.
동작 (212) 의 조건을 충족하는 클러스터 쌍이 더 이상 없는 경우, 프로세스는 동작 (216) 으로 진행하여, 소정의 클러스터에 대한 소정의 애니메이션 값 세트 에 대해, 사원수 값 (일반적으로 상이한 4 개의 값) 이 단일 이진 워드 (예를 들어, N 비트의; 예를 들어, N 은 32 비트일 수도 있음) 로 패킹된다.
동작 (216) 이후, 압축 프로세스는 종료한다.
클러스터는 애니메이션 플레이백 정확성을 증가시키거나 파일 사이즈를 감소시키기 위해 각각 커지거나 작아질 수 있다. 일단 스트림이 압축되면, 애니메이션 스트림의 개별 값은 이동 디바이스의 캐시 라인 특성에 대해 정렬되어 최적화되는 단일의 연속 메모리 버퍼로 패킹된다.
일단 애니메니션 스트림이 압축되면, 애니메이션 스트림의 개별 값은 도 6 에 도시된 바와 같이 타겟 내장형 디바이스 (120) 로 결과적으로 익스포트되는 단일의 연속 애니메이션 값 메모리 버퍼 (128) 로 패킹된다.
도 6 에 도시된 바와 같이, 타겟 디바이스의 소정의 프로세스가 애니메이션 값 버퍼 (128) 의 데이터에 액세스하기 위해, 각각의 고유 프레임-노드 조합에 대해 버퍼 (128) 에서 대응 애니메이션 데이터를 검색하는 오프셋 값을 출력하는 애니메이션 룩 업 테이블 (LUT) 이 제공된다.
도 9 는 3D 대상 계층구조 (220) 의 개략도이다. 도시된 대상 계층구조 (220) 는 루트 노드인, 웨이스트를 포함하는 양족 (biped) 의 것이다. 상위 우측 레그, 상위 좌측 레그 및 체스트는 각각 웨이스트에 접속된다. 이들 노드 각각은 웨이스트 노드의 자 (child) 노드이다. 좌측 하위 레그 및 좌측 하위 풋은 각각 상위 좌측 레그에 접속된다. 이들 노드 각각은 상위 우측 레그 노드에 대해 자 노드이고, 웨이스트 노드에 대해 손자 (grandchild) 노드이다. 하 위 좌측 레그 및 하위 좌측 풋 노드는 상위 좌측 레그 노드에 각각 커플링되고, 상위 좌측 레그 노드에 대해 자이고, 웨이스트 노드에 대해 손자이다. 체스트 노드에 대해 자이고, 웨이스트 노드에 대해 손자인, 헤드, 상위 우측 암 (arm), 및 상위 좌측 암 노드가 제공된다.
도 9 에 도시된 계층구조가 반복적인 알고리즘을 이용하여 업데이트되는 경우, 노드는 너비 우선 탐색 순서로 프로세스되어, 노드는 다음의 순서: 첫번째, 웨이스트 노드; 두번째, 상위 우측 레그 노드; 세번째, 좌우측 레그 노드; 네번째, 좌우측 풋 노드; 다섯번째, 상위 좌측 레그 노드 등으로 프로세스될 것이다. 대조적으로, 도 9 에 도시된 실시형태에서, 너비 우선 탐색 순서가 이용되어, 웨이스트 노드가 첫번째로 프로세스되고; 상위 우측 레그 노드가 두번째로 프로세스되고; 상위 좌측 레그 노드가 세번째로 프로세스되고; 그리고 체스트 노드가 네번째로 프로세스된다. 노드가 프로세스되는 순서는 각각 관련 노드 좌측에 대한 수로 표현된다. 따라서, 노드가 다음 깊이 레벨 아래에서 프로세스되기 이전에, 웨이스트, 상위 우측 레그, 상위 좌측 레그, 및 체스트 노드가 각각 첫번째, 두번째, 세번째, 네번째로 프로세스된다. 노드의 프로세싱은 결과적으로 타겟 내장형 디바이스에서 발생하지만, 이들 노드가 프로세스되는 순서는, 타겟 내장형 디바이스의 힙 메모리에 결과적으로 형성된 트리 데이터 버퍼 (129; 도 6 에 도시된 바와 같음) 의 연속적인 위치에 이들 노드가 저장되는 순서를 제어함으로써 제어될 수 있다. 따라서, 연속적인 메모리량 및 이 메모리에 노드가 결과적으로 타겟 내장형 디바이스에서 프로세스될 특정 순서로 이들 노드의 저장부를 제공하기 위 해, 데이터 구조 (221) 가 (도 5 에 도시된 바와 같은 계층구조 업데이트 사전 프로세싱 스테이지 (108) 에 의해 오프라인으로) 제공될 수 있다.
도 6 에 도시된 바와 같이, 특정 계층구조의 온 더 플라이 계층구조 업데이트를 수행하기 위해, 타겟 내장형 디바이스 (120) 에서 코드 및 데이터 (122) 의 일부로서 너비 우선 계층구조 업데이트 메카니즘 (130) 이 제공될 수도 있다. 그 계층구조와 관련된 데이터가 애니메이션 데이터 버퍼 (128) 내부의 어디에 있는지를 결정하기 위해, 너비 우선 계층구조 업데이트 메카니즘 (130) 이 베이킹된 애니메이션 LUT (124) 에 의해 제공된 오프셋 값에 따라 그 데이터를 검색한다.
일단 너비 우선 계층구조 업데이트 메카니즘 (130) 이 애니메이션 데이터 버퍼 (128) 내에서 데이터를 검색하면, 데이터는 디코딩 메카니즘 (126) 에 의해 (데이터를 균일 변환 행렬로 변환함으로써) 디코딩되고, 노드는 트리 데이터 버퍼 (129) 에 저장된 트리의 구조에 대해 그들의 연속적인 순서로, 즉, 도 9 에 도시된 예에 대해 웨이스트 노드가 첫번째, 상위 우측 레그 노드가 두번째, 상위 좌측 노드가 세번째 등으로 프로세스된다. 트리 데이터 버퍼 (129) 에서 이러한 데이터에 대해 제공된 홀딩 공간에 업데이트 애니메이션 데이터가 노드당 저장된다.
너비 우선 접근은 이러한 순서: 첫번째로 루트 노드, 그 다음 자 1, 자 2, ... 자 N, 손자 1, 손자 2, ... 손자 M, 증손자 1, ... 으로 소정의 트리의 노드를 프로세스한다.
도 9 에 도시된 예에서, 캐시 라인 경계는 2 개의 연속적인 노드에 요구되는 메모리 양만큼은 적어도 연장한다. 따라서, 타겟 내장형 디바이스 내에 제공된 캐시가 2 개의 라인을 갖는 경우, 도 9 에 도시된 예에서 제 1 내지 제 4 노드에 대한 계층구조를 프로세스, 즉, 업데이트하는데 하나의 캐시 미스만이 요구된다. 하나의 캐시 라인 경계의 공간 내에 2 개의 노드를 저장하는 능력을 용이하게 하기 위해, 각각의 노드는, 예를 들어, 도 5 에 도시된 바와 같은 베이킹된 애니메이션 스테이지 (104) 에 의해 제공된 베이킹 애니메이션으로부터 유발된 압축을 이용하여 압축될 수도 있다.
깊이 우선 탐색 순서를 포함하는 계층구조 업데이트는 일반적으로 다수의 캐시 미스를 유발할 것이다. 계층구조에 대한 노드는 연속적인 메모리에 저장되지 않는다는 사실이 이에 대한 이유에 속한다. 또한, 탐색이 반복적이기 때문에, 각각의 노드에 대해, 항상 최종 루트 주석으로 향하는 노드의 부모 노드 각각에 대한 데이터는 이 노드를 프로세싱하고 업데이트하는데 요구된다.
계층구조의 업데이트에 관한 논의의 목적을 위해, 예를 들어, 도 9 에 도시된 예에 관하여, 업데이트는, 타겟 내장형 디바이스의 디스플레이상에서 랜더링 이전에 노드의 로컬 좌표로부터 월드 좌료로의 노드의 변환을 말한다.
도 9 에 도시된 예에서 노드 데이터를 조직화하는 이 접근의 이점은, 계층구조 정보를 업데이트하기 위한 타겟 디바이스에서의 스택의 이용이 이 프로세스에 대해 제거될 수 있다는 것이다. 또한, 타겟 내장형 디바이스의 메모리의 힙에서 스택을 에뮬레이트할 필요가 없다. 또한, 타겟 내장형 디바이스의 힙 메모리에서 소비되는 총 공간이 최소화되어, 더 큰 계층구조가 수용될 수 있다.
도 6 에 도시된 바와 같이, 일단 노드 데이터가 너비 우선 계층구조 업데이 트 메카니즘 (130) 에 의해 업데이트된 경우, 랜더 메카니즘 (135) 에 의해 랜더링할 준비가 된다.
도 10 은 사전 할당 프로세스의 플로우챠트를 도시한다. 첫번째 동작 (250) 에서, 오프라인 최적화 파이프라인 (99) 에서 이러한 포인트까지 생성된 각각의 데이터 구조에 대해, 및 각각의 자산에 대해 메모리가 할당된다. 동작 (252) 에서, 타겟 내장형 디바이스에 존재할 임의의 엔진 데이터 구조는, 스크립트를 구동하고 모든 필요한 동작을 수행하는 경우, 형성될 것이다. 동작 (254) 에서, 타겟 시뮬레이터 (19) 는, 예를 들어, 시뮬레이팅된 타겟 내장형 디바이스 내의 힙, 스택, 및 캐시 메모리의 에뮬레이션을 포함할 수도 있는 타겟 디바이스를 시뮬레이팅한다. 타겟 시뮬레이터는 3D 프로그램의 자산 각각에 대한 엔진의 모든 데이터 구조를 더 시뮬레이팅할 수도 있다.
동작 (256) 에서, 시뮬레이팅된 엔진에 의해 액세스되거나, 시뮬레이팅된 엔진에 의해 생성된 모든 데이터는 "시뮬레이팅된" 힙 메모리의 연속적인 부분으로 엔진 액세스 또는 생성의 순서로 패킹된다. 동작 (258) 에서, 타겟 내장형 디바이스의 엔진에 유용한 메타 데이터 구조가 생성될 수도 있다. 또한, 사전 할당 프로세스로부터 유발된 할당 데이터가 저장된다. 일반적으로, 할당 데이터는 동작 (256) 에서 패킹된 연속적인 메모리 사이즈 및 총 메모리 공간을 포함한다.
도 5 에 도시된 바와 같은 오프 라인 최적화 파이프라인 (99) 의 사전 할당 스테이지 (110) 에서 수행되는 도 10 에 도시된 할당 프로세스는, 결과적으로 타겟 내장형 디바이스 (120) 에서, 사전 할당 프로세스의 결과로서 생성된 메타 데이터 및 패킹 토탈 데이터 (138) 에 따라 메모리 할당 및 카피 메카니즘 (136) 에 의해 취해질 메모리 할당 및 카피 동작을 유발한다. 상세하게는, 사전 할당 프로세스에서 패킹된 동작 (256) 동안 패킹된 모든 데이터의 단일 메모리 카피뿐만 아니라 단일 메모리 할당이 3D 애플리케이션의 실행의 시작시에 타겟 내장형 디바이스의 메모리 (134) 내에서 형성된다. 그 후, 오프라인으로 형성되었던 임의의 형성 엔진 데이터 구조는 메모리로 카피될 수 있고, 타겟 내장형 디바이스에서 이용을 위한 데이터를 준비하는데 요구되는 단일 할당 및 단일 메모리 카피를 유발한다. 이것은 타겟 내장형 디바이스에 요구되는 할당을 최소화한다. 또한, 모든 패킹된 데이터가 타겟 내장형 디바이스 메모리로 동시에 로딩되기 때문에, 타겟 내장형 디바이스의 셋업 시간 및 초기화 시간이 최소화된다.
명세서의 도면에 도시된 엘리먼트 각각에 의해 수행된 프로세싱은 범용 컴퓨터 및/또는 특정된 프로세싱 컴퓨터에 의해 수행될 수도 있다. 이러한 프로세싱은 단일 플랫폼, 분할된 프로세싱 플랫폼, 또는 개별 플랫폼에 의해 수행될 수도 있다. 또한, 이러한 프로세싱은 특정 목적 하드웨어의 형태, 또는 범용 컴퓨터에 의해 동작되는 소프트웨어 형태로 구현될 수 있다. 이러한 프로세싱에 의해 취급되거나 이러한 프로세싱의 결과로서 생성된 임의의 데이터는 임의의 메모리 타입에 저장될 수 있다. 예시적인 방법에 의해, 이러한 데이터는 소정의 컴퓨터 시스템 또는 서브시스템의 RAM 과 같은 임시 메모리에 저장될 수도 있다. 또한, 또는 대안적으로, 이러한 데이터는 예를 들어, 자기 디스크, 재기록가능한 광 디스크 등인 롱-텀 저장 디바이스에 저장될 수도 있다. 여기서 설명의 목적을 위해, 컴퓨터 판독가능 매체는, 이러한 구조 및 이러한 데이터의 회로 표현 또는 하드웨어뿐만 아니라 이러한 기술을 포함하는 데이터 저장 메카니즘의 임의의 형태를 포함할 수도 있다. 프로세스는 임의의 머신 판독가능 매체 및/또는 집적 회로에서 구현될 수도 있다.
청구항은, 원래 표현되고 수정될 수도 있는 바와 같이, 현재에는 예기치 않거나 인정되지 않고, 예를 들어, 출원인/특허권자 등으로부터 발생할 수도 있는 것들을 포함하여, 여기서 개시된 실시형태 및 교시의 변경물, 변화물, 수정물, 개선물, 균등물, 및 실질적 균등물을 포함한다.

Claims (60)

  1. 타겟 이동 디바이스 이외의 컴퓨터 플랫폼에서의 컴퓨터 판독가능 매체 수록 3D 애플리케이션 ; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세스하는 오프라인 엔진을 구비하는, 장치.
  2. 제 1 항에 있어서,
    상기 3D 애플리케이션은 3D 사용자 인터페이스 애플리케이션을 포함하는, 장치.
  3. 제 1 항에 있어서,
    상기 오프라인 엔진은, 상기 타겟 이동 디바이스의 상기 그래픽 엔진에 의해 동작될 데이터 구조를 생성하고 준비하는 데이터 구조 메카니즘을 포함하는, 장치.
  4. 제 2 항에 있어서,
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 이동 디바이스의 선택 함수를 시뮬레이팅하는 그래픽 엔진 시뮬레이터를 더 구비하는, 장치.
  5. 그래픽 엔진을 포함하는 이동 디바이스; 및
    오프라인 컴퓨터 플랫폼으로부터 생성된 자산을 상기 그래픽 엔진으로 로딩하는 이동 디바이스 자산 로딩 메카니즘을 포함하고,
    상기 이동 디바이스 자산 로딩 메카니즘은 이용을 위한 데이터를 준비하기 위해 단일 할당을 이용하는, 장치.
  6. 제 5 항에 있어서,
    상기 자산은 3D 아이콘을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 포함하는, 장치.
  7. 3D 아이콘 및 씬 (scene) 을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산;
    타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세스하는 오프라인 최적화 엔진; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하는 그래픽 엔진 시뮬레이터를 포함하는, 장치.
  8. 제 7 항에 있어서,
    상기 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산은 3D 이미지 규정 시스템으로부터 익스포트된 익스포트 자산인, 장치.
  9. 제 8 항에 있어서,
    상기 오프라인 최적화 엔진은 파이프라인을 포함하는, 장치.
  10. 제 9 항에 있어서,
    컴퓨터 스크린 입력을 통해 3D 사용자 인터페이스를 규정하는 스크립트 스테이트먼트를 수신하고, 상기 3D 사용자 인터페이스를 규정하는 스크립트 스테이트먼트를 나타내는 스크립트 파일 세트를 생성하는 스크립팅 언어 인터페이스를 더 포함하는, 장치.
  11. 제 10 항에 있어서,
    씬의 소정의 3D 대상을 이동 전화 인터페이스 툴에 관련시켜, 상기 소정의 3D 대상의 조작에 의해 상기 이동 전화에 관한 신호의 입력 및 출력 중 하나 이상을 유발하는 아이콘 관련 메카니즘을 더 포함하는, 장치.
  12. 제 7 항에 있어서,
    상기 그래픽 엔진 시뮬레이터는 공개 GL-ES, 다이렉트 3D 모바일, 및 SKT GIGA 와 호환가능한 그래픽 엔진을 시뮬레이팅하기 위한 것인, 장치.
  13. 제 7 항에 있어서,
    소정의 씬 애니메이션에 대해 상기 타겟 내장형 디바이스의 상기 그래픽 엔진으로 로딩될 애니메이션 데이터 구조로 베이킹하도록 상기 컴퓨터 플랫폼 상에서 동작가능한 베이킹 메카니즘을 더 포함하고,
    모든 상기 에니메이션 데이터는, 상기 애니메이션된 씬의 랜더링시 디스플레이될 각각의 디스플레이 프레임에 대한 모든 노드에 관한 노드 위치, 배향, 및 회전 데이터를 포함하는, 장치.
  14. 제 13 항에 있어서,
    상기 베이킹 메카니즘은 상기 배향 및 회전 데이터를 사원수 (quaternion) 로 변환하는 변환 메카니즘, 값의 그룹을 클러스터하는 클러스터 메카니즘, 및 사원수 값의 그룹을 패킹하는 패킹 메카니즘을 포함하는, 장치.
  15. 제 7 항에 있어서,
    3D 모델 트리에서 노드의 프로세싱 순서를 확립하고, 상기 타겟 내장형 디바이스로의 익스포트를 위해 트리 데이터 버퍼에 프로세스된 노드 홀딩 공간을 배열하는 계층구조 업데이트 사전 프로세싱 메카니즘을 더 포함하는, 장치.
  16. 제 15 항에 있어서,
    상기 확립된 노드 프로세싱 순서는 상기 3D 모델 트리의 너비 우선 탐색 순서 (breadth first traversal order) 인, 장치.
  17. 제 16 항에 있어서,
    상기 프로세싱된 노드 홀딩 공간은 변경되지 않은 포맷으로 노드 정보를 홀딩하는데 필요한 메모리 공간량에 관하여 각각 압축된 홀딩 공간인, 장치.
  18. 제 7 항에 있어서,
    상기 컴퓨터 플랫폼에 사전 할당 메카니즘을 더 포함하고,
    상기 사전 할당 메카니즘은,
    엔진 데이터 구조를 형성하는 엔진 데이터 구조 빌더;
    시뮬레이팅된 엔진;
    상기 시뮬레이팅된 엔진에 의해 액세스되고 생성되는 데이터를 패킹하고, 형성된 엔진 데이터 구조를 패킹하는 시뮬레이션 데이터 패커; 및
    패킹 토탈 결정기를 구비하는, 장치.
  19. 타겟 이동 디바이스 이외의 컴퓨터 플랫폼에 3D 애플리케이션을 저장하는 단계; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 그래픽 엔진에 의해 동작될 데이터를 오프라인으로 프로세싱하는 단계를 포함하는, 방법.
  20. 제 19 항에 있어서,
    상기 3D 애플리케이션은 3D 사용자 인터페이스 애플케이션을 포함하는, 방법.
  21. 제 19 항에 있어서,
    상기 프로세싱하는 단계는 상기 타겟 이동 디바이스의 상기 그래픽 엔진에 의해 동작될 데이터 구조를 생성하고 준비하는 단계를 포함하는, 방법.
  22. 제 20 항에 있어서,
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 이동 디바이스의 선택 함수를 시뮬레이팅하는 단계를 더 포함하는, 방법.
  23. 그래픽 엔진을 포함하는 이동 디바이스를 제공하는 단계; 및
    오프라인 컴퓨터 플랫폼으로부터 생성된 자산을 상기 그래픽 엔진으로 로딩하는 단계를 포함하고,
    상기 로딩하는 단계는 이용을 위한 데이터를 준비하기 위해 단일 할당을 이 용하는, 방법.
  24. 제 23 항에 있어서,
    상기 자산은 3D 아이콘을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 포함하는, 방법.
  25. 3D 아이콘 및 씬을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 저장하는 단계;
    타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세싱하는 단계; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하는 단계를 포함하는, 방법.
  26. 제 25 항에 있어서,
    상기 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산은 3D 이미지 규정 시스템으로부터 익스포트된 익스포트 자산인, 방법.
  27. 제 25 항에 있어서,
    상기 컴퓨터 플랫폼에서 베이킹하는 단계를 더 포함하고,
    상기 베이킹하는 단계는, 소정의 씬 애니메이션에 대해 상기 타겟 내장형 디바이스의 상기 그래픽 엔진으로 로딩될 애니메이션 데이터 구조로 베이킹하는 단계를 포함하고,
    모든 상기 애니메이션 데이터는, 애니메이션된 씬의 랜더링시 디스플레이될 각각의 디스플레이 프레임에 대한 모든 노드에 관한 노드 위치, 배향, 및 회전 데이터를 포함하는, 방법.
  28. 제 27 항에 있어서,
    상기 베이킹하는 단계는 상기 배향 및 회전 데이터를 사원수로 변환하는 단계, 값의 그룹을 클러스터하는 단계, 및 사원수 값의 그룹을 패킹하는 단계를 포함하는, 방법.
  29. 제 25 항에 있어서,
    3D 모델 트리에서 노드의 프로세싱 순서를 확립하고, 상기 타겟 내장형 디바이스로의 익스포트를 위해 트리 데이터 버퍼에 프로세스된 노드 홀딩 공간을 배열하는 계층구조 업데이트 사전 프로세싱을 수행하는 단계를 더 포함하는, 방법.
  30. 제 29 항에 있어서,
    상기 확립된 노드 프로세싱 순서는 상기 3D 모델 트리의 너비 우선 탐색 순서인, 방법.
  31. 제 30 항에 있어서,
    상기 프로세싱된 노드 홀딩 공간은 변경되지 않은 포맷으로 노드 정보를 홀딩하는데 필요한 메모리 공간량에 관하여 각각 압축된 홀딩 공간인, 방법.
  32. 제 25 항에 있어서,
    상기 컴퓨터 플랫폼에 사전 할당을 수행하는 단계를 더 포함하고,
    상기 사전 할당은,
    엔진 데이터 구조를 형성하는 단계;
    엔진을 시뮬레이팅하는 단계;
    상기 시뮬레이팅된 엔진에 의해 액세스되고 생성되는 데이터를 패킹하고, 형성된 엔진 데이터 구조를 패킹하는 단계; 및
    패킹 토탈을 결정하는 단계를 포함하는, 방법.
  33. 데이터로 인코딩된 머신 판독가능 매체로서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여,
    타겟 이동 디바이스 이외의 컴퓨터 플랫폼에 3D 애플리케이션을 저장하고; 그리고,
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 그래픽 엔진에 의해 동작될 데이터를 오프라인으로 프로세싱하게 하는, 머신 판독가능 매체.
  34. 제 33 항에 있어서,
    상기 3D 애플리케이션은 3D 사용자 인터페이스 애플리케이션을 포함하는, 머신 판독가능 매체.
  35. 제 33 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 프로세싱이 상기 타겟 이동 디바이스의 상기 그래픽 엔진에 의해 동작될 데이터 구조의 생성 및 준비를 포함하게 하는, 머신 판독가능 매체.
  36. 제 34 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 이동 디바이스의 선택 함수를 시뮬레이팅하게 하는, 머신 판독가능 매체.
  37. 데이터로 인코딩된 머신 판독가능 매체로서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여,
    그래픽 엔진을 포함하는 이동 디바이스를 제공하고; 그리고
    오프라인 컴퓨터 플랫폼으로부터 생성된 자산을 상기 그래픽 엔진으로 로딩 하게 하고,
    상기 로딩은 이용을 위한 데이터를 준비하기 위해 단일 할당을 이용하는, 머신 판독가능 매체.
  38. 제 37 항에 있어서,
    상기 자산은 3D 아이콘을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 포함하는, 머신 판독가능 매체.
  39. 데이터로 인코딩된 머신 판독가능 매체로서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여,
    3D 아이콘 및 씬을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 저장하고;
    타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세스하고; 그리고,
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하게 하는, 머신 판독가능 매체.
  40. 제 39 항에 있어서,
    상기 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산은 3D 이미지 규정 시스템으로부터 익스포트된 익스포트 자산인, 머신 판독가능 매체.
  41. 제 39 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 컴퓨터 플랫폼에서 베이킹하게 하고,
    상기 베이킹은, 소정의 씬 애니메이션에 대해 상기 타겟 내장형 디바이스의 상기 그래픽 엔진으로 로딩될 애니메이션 데이터 구조로의 베이킹을 포함하고,
    모든 상기 애니메이션 데이터는, 애니메이션된 씬의 랜더링시 디스플레이될 각각의 디스플레이 프레임에 대한 모든 노드에 관한 노드 위치, 배향, 및 회전 데이터를 포함하는, 머신 판독가능 매체.
  42. 제 41 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 베이킹이, 상기 배향 및 회전 데이터의 사원수로의 변환, 값의 그룹의 클러스터, 및 사원수 값의 그룹의 패킹을 포함하게 하는, 머신 판독가능 매체.
  43. 제 39 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 3D 모델 트리에서 노드의 프로세싱 순서를 확립하고, 상기 타겟 내장형 디바이스로의 익스포트를 위 해 트리 데이터 버퍼에 프로세스된 노드 홀딩 공간을 배열하는 계층구조 업데이트 사전 프로세싱을 수행하게 하는, 머신 판독가능 매체.
  44. 제 43 항에 있어서,
    상기 확립된 노드 프로세싱 순서는 상기 3D 모델 트리의 너비 우선 탐색 순서인, 머신 판독가능 매체.
  45. 제 44 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 프로세싱된 노드 홀딩 공간은 변경되지 않은 포맷으로 노드 정보를 홀딩하는데 필요한 메모리 공간량에 관하여 각각 압축된 홀딩 공간이 되게 하는, 머신 판독가능 매체.
  46. 제 39 항에 있어서,
    상기 인코딩된 데이터는 머신과 함께 동작가능하여 또한, 상기 컴퓨터 플랫폼에서 사전 할당을 수행하게 하고,
    상기 사전 할당은,
    엔진 데이터 구조를 형성하고;
    엔진을 시뮬레이팅하고;
    상기 시뮬레이팅된 엔진에 의해 액세스되고 생성되는 데이터를 패킹하고 형성된 엔진 데이터 구조를 패킹하며; 그리고
    패킹 토탈을 결정하는 것을 포함하는, 머신 판독가능 매체.
  47. 타겟 이동 디바이스 이외의 컴퓨터 플랫폼에 3D 애플리케이션을 저장하는 수단; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 그래픽 엔진에 의해 동작될 데이터를 오프라인으로 프로세싱하는 수단을 포함하는, 장치.
  48. 제 47 항에 있어서,
    상기 3D 애플리케이션은 3D 사용자 인터페이스 애플케이션을 포함하는, 장치.
  49. 제 47 항에 있어서,
    상기 프로세싱하는 수단은 상기 타겟 이동 디바이스의 상기 그래픽 엔진에 의해 동작될 데이터 구조를 생성하고 준비하는 수단을 포함하는, 장치.
  50. 제 48 항에 있어서,
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 이동 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 이동 디바이스의 선택 함수를 시뮬레이팅하는 수단을 더 포함하는, 장치.
  51. 그래픽 엔진을 포함하는 이동 디바이스를 제공하는 수단; 및
    오프라인 컴퓨터 플랫폼으로부터 생성된 자산을 상기 그래픽 엔진으로 로딩하는 수단을 포함하고,
    상기 로딩하는 수단은 이용을 위한 데이터를 준비하기 위해 단일 할당을 이용하는, 장치.
  52. 제 51 항에 있어서,
    상기 자산은 3D 아이콘을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 포함하는, 장치.
  53. 3D 아이콘 및 씬을 포함하는 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산을 저장하는 수단;
    타겟 내장형 디바이스 이외의 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 그래픽 엔진에 의해 동작될 데이터를 프로세싱하는 수단; 및
    상기 컴퓨터 플랫폼 상에서, 상기 타겟 내장형 디바이스의 하드웨어 레벨 API 의 API 함수를 직접 호출하는 API 호를 포함하는 그래픽 엔진을 구동시키는, 상기 타겟 내장형 디바이스의 선택 함수를 시뮬레이팅하는 수단을 포함하는, 장치.
  54. 제 53 항에 있어서,
    상기 3D 모델 및 상기 3D 모델의 애니메이션을 규정하는 자산은 3D 이미지 규정 시스템으로부터 익스포트된 익스포트 자산인, 장치.
  55. 제 53 항에 있어서,
    상기 컴퓨터 플랫폼에서 베이킹하는 수단을 더 포함하고,
    상기 베이킹은, 소정의 씬 애니메이션에 대해 상기 타겟 내장형 디바이스의 상기 그래픽 엔진으로 로딩될 애니메이션 데이터 구조로의 베이킹을 포함하고,
    모든 상기 애니메이션 데이터는, 애니메이션된 씬의 랜더링시 디스플레이될 각각의 디스플레이 프레임에 대한 모든 노드에 관한 노드 위치, 배향, 및 회전 데이터를 포함하는, 장치.
  56. 제 55 항에 있어서,
    상기 베이킹하는 수단은 상기 배향 및 회전 데이터를 사원수로 변환하는 수단, 값의 그룹을 클러스터하는 수단, 및 사원수 값의 그룹을 패킹하는 수단을 포함하는, 장치.
  57. 제 53 항에 있어서,
    3D 모델 트리에서 노드의 프로세싱 순서를 확립하고, 상기 타겟 내장형 디바이스로의 익스포트를 위해 트리 데이터 버퍼에 프로세스된 노드 홀딩 공간을 배열하는 계층구조 업데이트 사전 프로세싱을 수행하는 수단을 더 포함하는, 장치.
  58. 제 57 항에 있어서,
    상기 확립된 노드 프로세싱 순서는 상기 3D 모델 트리의 너비 우선 탐색 순서인, 장치.
  59. 제 58 항에 있어서,
    상기 프로세싱된 노드 홀딩 공간은 변경되지 않은 포맷으로 노드 정보를 홀딩하는데 필요한 메모리 공간량에 관하여 각각 압축된 홀딩 공간인, 장치.
  60. 제 53 항에 있어서,
    상기 컴퓨터 플랫폼에 사전 할당을 수행하는 수단을 더 포함하고,
    상기 사전 할당은,
    엔진 데이터 구조의 형성;
    엔진의 시뮬레이팅;
    상기 시뮬레이팅된 엔진에 의해 액세스되고 생성되는 데이터의 패킹 및 형성된 엔진 데이터 구조의 패킹; 및
    패킹 토탈의 결정을 포함하는, 장치.
KR1020087002445A 2005-06-29 2006-06-29 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인 KR100928192B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US69648805P 2005-06-29 2005-06-29
US69634605P 2005-06-29 2005-06-29
US69618505P 2005-06-29 2005-06-29
US69618605P 2005-06-29 2005-06-29
US69634705P 2005-06-29 2005-06-29
US60/696,346 2005-06-29
US60/696,186 2005-06-29
US60/696,185 2005-06-29
US60/696,347 2005-06-29
US60/696,488 2005-06-29
PCT/US2006/025954 WO2007002943A2 (en) 2005-06-29 2006-06-29 Offline optimization pipeline for 3d content in embedded devices

Publications (2)

Publication Number Publication Date
KR20080022591A true KR20080022591A (ko) 2008-03-11
KR100928192B1 KR100928192B1 (ko) 2009-11-25

Family

ID=37441776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087002445A KR100928192B1 (ko) 2005-06-29 2006-06-29 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인

Country Status (6)

Country Link
US (1) US8026910B2 (ko)
EP (1) EP1899922A2 (ko)
JP (1) JP2009500750A (ko)
KR (1) KR100928192B1 (ko)
CA (1) CA2614759A1 (ko)
WO (1) WO2007002943A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100084036A (ko) * 2009-01-15 2010-07-23 삼성전자주식회사 소프트웨어의 에러 검출 장치 및 방법
CN101877138B (zh) * 2009-04-30 2014-01-15 国际商业机器公司 动态图的动画规划方法和装置
EP2261859A1 (en) 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
KR101674205B1 (ko) * 2009-10-27 2016-11-08 엘지전자 주식회사 이동 통신 단말기에서의 아이콘 표시 제어 방법 및 이를 적용한 이동 통신 단말기
KR101631451B1 (ko) * 2009-11-16 2016-06-20 엘지전자 주식회사 영상표시장치 및 그 동작방법
JP5512827B2 (ja) 2010-01-25 2014-06-04 トムソン ライセンシング 3dメッシュ・モデルの法線をエンコードする方法、3dメッシュ・モデルの法線をデコードする方法、エンコーダおよびデコーダ
CN102254475B (zh) * 2011-07-18 2013-11-27 广州赛宝联睿信息科技有限公司 内窥镜微创手术模拟训练3d平台系统的实现方法
RU2013102854A (ru) * 2013-01-30 2014-08-10 ЭлЭсАй Корпорейшн Способ и устройство для повышения кадровой частоты потока изображений с использованием, по меньшей мере, одного потока изображений с более высокой кадровой частотой
US10156841B2 (en) 2015-12-31 2018-12-18 General Electric Company Identity management and device enrollment in a cloud service
US10565802B2 (en) * 2017-08-31 2020-02-18 Disney Enterprises, Inc. Collaborative multi-modal mixed-reality system and methods leveraging reconfigurable tangible user interfaces for the production of immersive, cinematic, and interactive content
CN108734788A (zh) * 2018-05-17 2018-11-02 成都明镜视觉科技有限公司 一种3d对象在虚拟场景中的节点化组织方法
US11567628B2 (en) * 2018-07-05 2023-01-31 International Business Machines Corporation Cognitive composition of multi-dimensional icons
US11302052B2 (en) * 2020-07-24 2022-04-12 Weta Digital Limited Forced contiguous data for execution of evaluation logic used in animation control
US20230115603A1 (en) 2021-10-12 2023-04-13 Square Enix Ltd. Scene entity processing using flattened list of sub-items in computer game

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263496B1 (en) * 1998-02-03 2001-07-17 Amazing Media, Inc. Self modifying scene graph
US6272650B1 (en) * 1998-02-03 2001-08-07 Amazing Media, Inc. System and method for disambiguating scene graph loads
US6477563B1 (en) * 1998-04-13 2002-11-05 Kabushiki Kaisha Toshiba Agent system and information processing method for same
GB0013764D0 (en) * 2000-06-07 2000-07-26 Koninkl Philips Electronics Nv Animated graphic image generation and coding
GB2374775B (en) * 2001-04-19 2005-06-15 Discreet Logic Inc Rendering animated image data
US7027056B2 (en) * 2002-05-10 2006-04-11 Nec Electronics (Europe) Gmbh Graphics engine, and display driver IC and display module incorporating the graphics engine
JP2004199142A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd 携帯端末機器及び画像表示方法
US7388579B2 (en) * 2003-05-01 2008-06-17 Motorola, Inc. Reduced power consumption for a graphics accelerator and display
JP3928635B2 (ja) * 2003-10-27 2007-06-13 日本電気株式会社 着信メロディ指定機能付携帯電話システム及び携帯電話機
US7593015B2 (en) * 2003-11-14 2009-09-22 Kyocera Wireless Corp. System and method for sequencing media objects
US7577911B2 (en) * 2004-02-12 2009-08-18 Mobileframe, Llc Integrated deployment of software projects
US7406329B2 (en) * 2004-09-04 2008-07-29 Varun Khurana Method and apparatus for subscribing and receiving personalized updates in a format customized for handheld mobile communication devices
US7719532B2 (en) * 2007-02-09 2010-05-18 International Business Machines Corporation Efficient and flexible data organization for acceleration data structure nodes

Also Published As

Publication number Publication date
CA2614759A1 (en) 2007-01-04
WO2007002943A2 (en) 2007-01-04
JP2009500750A (ja) 2009-01-08
EP1899922A2 (en) 2008-03-19
KR100928192B1 (ko) 2009-11-25
US20070109298A1 (en) 2007-05-17
WO2007002943A3 (en) 2007-04-05
US8026910B2 (en) 2011-09-27

Similar Documents

Publication Publication Date Title
KR100928192B1 (ko) 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인
US8584084B2 (en) System for library content creation
US20080303827A1 (en) Methods and Systems for Animating Displayed Representations of Data Items
WO2008024940A1 (en) System for development of 3d content used in embedded devices
JP2012521041A (ja) 連続および不連続プロパティのスムーズレイアウトアニメーション
WO2000041139A1 (fr) Dispositif de compression de donnees squelette a base tridimensionnelle
US20080303826A1 (en) Methods and Systems for Animating Displayed Representations of Data Items
US11397608B2 (en) Multi-dimensional spreadsheet system enabling stack based programming using a virtual machine
WO2012093196A1 (en) Method and system for generating a three-dimensional user-interface for an embedded device
WO2023071579A1 (zh) 物理特效渲染方法、装置、计算机设备和存储介质
WO2016040076A2 (en) Layout engine
US11625900B2 (en) Broker for instancing
US6670954B2 (en) Three-dimensional skeleton data error absorbing apparatus
JP7344256B2 (ja) レンダリング方法、装置、電子機器及びコンピュータプログラム
CN101243473A (zh) 用于嵌入式装置中的3d内容的离线优化管线
KR100587974B1 (ko) 3차원 게임 엔진에 특화된 공통 데이터 포맷 구축 방법
Berinstein et al. Game development tool essentials
WO2024011733A1 (zh) 3d图像实现方法及系统
CN114416066A (zh) 游戏场景的3d实体处理方法、装置及电子设备
Newton et al. Learning D3. js 4 Mapping: Build cutting-edge maps and visualizations with JavaScript
Olivero et al. Lumiére: A novel framework for rendering 3d graphics in smalltalk
CN117785194A (zh) Web应用可视化页面的开发工具生成方法
CN117853661A (zh) 一种基于物件模型的可视化效果自定义方法和系统
CN115205430A (zh) 针对3d文件的导入导出方法及装置
CN118092896A (zh) 一种基于物联网操作系统的3d数字孪生方法

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
LAPS Lapse due to unpaid annual fee