iii mobile 3d engine introduction 11052007
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