iii mobile 3d engine introduction 11052007

Upload: ted-chao

Post on 31-May-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    1/10

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    2/10

    OverviewOverview

    III Mobile Java 3D Engine has two subsystems

    High-level Scene Management Engine Supports JSR184 (Mobile 3D Graphics API) interface

    Provide C programming interface

    JSR184 TCK 1.0 & 1.1 Passed

    OpenGL ES Rendering Library Support Common profile and Common-Lite profile OpenGL v1.0 Conformance test Passed

    Proprietary profile (M3D)

    Retain OpenGL ES API

    More efficient

    http://java.sun.com/
  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    3/10

    OS

    System Architecture

    KVM JSR 184 Core

    (Native C Code)

    OpenGL ES

    MIDP 2.0JSR 184 (Java Interface)

    K Native Interface (KNI)

    Native ServiceModules

    Other

    Packages

    EGL

    Our JSR184 is built on top of OpenGL ES library which is also provided by III

    This implementation makes porting more easier, especially ports to platforms with 3D

    accelerator.

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    4/10

    JSR184 Porting IssuesJSR184 Porting Issues

    ANSI C Library

    Only need to re-write memory allocationinterface Ex: from malloc () to III_malloc()

    Standard KNI API

    We use standard KNI to access native functionsthrough KVM, so our solution can be easily integratedwith other vendors VM solution.

    OpenGL ES API

    JSR184 core accesses 3D renderer via standardOpenGL ES API which can be supported by H/W orS/W implementation

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    5/10

    OpenGL ES Porting IssuesOpenGL ES Porting Issues

    ANSI C Library

    Only need to re-write memory allocationinterface

    Ex: from malloc () to NMI_malloc()

    EGL the standard interface of OpenGL ES for

    platform abstraction Only frame buffer related EGL functions need to

    be modified

    Ex: eglCreateWindowSurface()

    Please see appendix for the detail

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    6/10

    Verification

    OpenGL ES

    conformance test suite published by theKhronos group

    JSR184 TCK published by Nokia

    JSR184 TCK also helped debug the OpenGL ES library

    We also tested the engine using severalmidlets downloaded from the Internet

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    7/10

    Working Memory & Code Size

    About 190 K(Reference MAP data)

    About 116 K(Reference MAP data)

    (ROM Size)

    Native C

    Code Size

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    8/10

    Performance (JBenchmark3D Score)Performance (JBenchmark3D Score)

    15981507KTexel

    3695132364Triangle

    257255LQ

    157152HQ

    NMI solutionHi Corp Solution

    (Test platform - HTC Windows Mobile 5 handsetCPU- TI OMAP850)

  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    9/10

    ApplicationsApplications

    OpenGL ES Library(3D renderer)

    JSR184-core(High-level engine)

    JSR184 interface

    Java 3D Game

    OpenGL ES Library(3D renderer)

    JSR184-core(High-level engine)

    OpenGL ES Library(3D renderer)

    Embedded 3D game 3D UI 3D Navigation

    http://www.mobile3dworld.com/Games/tabid/58/ctl/viewMedia/id/44/mid/377/Default.aspx
  • 8/14/2019 III Mobile 3D Engine Introduction 11052007

    10/10

    ConclusionConclusion

    High portability Easy to port to different platform Easy to integrate with others KVM solution

    High flexibility Customers could choose software-based 3D solution or hardware-

    based 3D solution depending on their product properties

    Good performance Our OpenGL ES librarys performance is better than Hybrids.

    Our JSR184s performance is better than HIs