Download presentation
Presentation is loading. Please wait.
1
Auran Jet Engine Keng Shih-Ling http://www.auran.com/jet
2
CGGM Lab, CSIE.NCTUKeng Shih-Ling 2 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
3
CGGM Lab, CSIE.NCTUKeng Shih-Ling 3 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
4
CGGM Lab, CSIE.NCTUKeng Shih-Ling 4 Overview Auran Jet is a development engine that can be used to create a variety of 3D applications including, games, simulation and training software.
5
CGGM Lab, CSIE.NCTUKeng Shih-Ling 5 Overview 3D Application API Hardware 3D Graphics API2D APIInput DeviceOS API 3D Scene Mngmt2D SpriteGamepadNetworkAudio TerrainCollisionCharacterUIDynamicsSound FX Combat SystemFX SystemGame AIScript System NPC SystemVirtual AgentTrading SystemStory Game Game Play Layer Engine Layer System Layer
6
CGGM Lab, CSIE.NCTUKeng Shih-Ling 6 Overview License Fee –RC1Free –Other Commercial Case by case “Run Time”, “Royalty”,”Full Source”,… –V1.0, CommercialUS $30,000 –V1.0, Non-CommercialUS $99 Scale –Over 400,000 lines of code –Over 5,400 documented API symbols
7
CGGM Lab, CSIE.NCTUKeng Shih-Ling 7 Overview:: Architecture Modular and Layered Architecture –Kernel –Core –Foundation –Extensions –Jet Tools –Game Systems –Game Tools
8
CGGM Lab, CSIE.NCTUKeng Shih-Ling 8 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
9
CGGM Lab, CSIE.NCTUKeng Shih-Ling 9 Jet Systems Kernel Input Interface Network Render Sound Artificial Intelligence WAVE (Wide Area Virtual Environment) JIVE (Jet Integrated Visual Environment)
10
CGGM Lab, CSIE.NCTUKeng Shih-Ling 10 Systems:: WAVE WAVE (Jet Integrated Virtual Environment)
11
CGGM Lab, CSIE.NCTUKeng Shih-Ling 11 Systems:: JIVE JIVE (Wide Area Virtual Environment)
12
CGGM Lab, CSIE.NCTUKeng Shih-Ling 12 Jet Systems Kernel Input Interface Network Render Sound Artificial Intelligence WAVE (Wide Area Virtual Environment) JIVE (Jet Integrated Visual Environment)
13
CGGM Lab, CSIE.NCTUKeng Shih-Ling 13 System:: Kernel The Jet Kernel is the hub of all other Jet systems and provides support for some of Jet ’s key features such as: –OS abstraction Win32 (Linux) –Low-level services Language extensions Memory management Multi-threading support Debugging facilities
14
CGGM Lab, CSIE.NCTUKeng Shih-Ling 14 System:: Kernel Major Systems: –Jet Task Management System –Jet Resource System –Jet Plug-in System
15
CGGM Lab, CSIE.NCTUKeng Shih-Ling 15 System::Kernel:: Task Jet Task Management System –Tasks provide Jet 's main frame-level update mechanism. Each task is called once-per- frame and may be suspended or resumed individually. –The Task Manager is responsible for initializing, updating, and uninitializing tasks. Tasks are added to the Task Manager and stored in a prioritized list in order from highest priority at the top of the list to lowest at the bottom.
16
CGGM Lab, CSIE.NCTUKeng Shih-Ling 16 System::Kernel:: Task Jet system tasks and their priority Jet System TaskPriority Input observer system2.0 Interface system3.0 Path search system4.0 Resource system5.0 Network system6.0 Sound system7.0 Render system8.0
17
CGGM Lab, CSIE.NCTUKeng Shih-Ling 17 System::Kernel:: Task Main thread
18
CGGM Lab, CSIE.NCTUKeng Shih-Ling 18 System::Kernel:: Task Jet is a multi-threads system –The main thread –The network thread –The sound streaming thread –The resource streaming thread
19
CGGM Lab, CSIE.NCTUKeng Shih-Ling 19 System::Kernel:: Resource Jet Resource Management System –Resource Databases A tree-like structure –Resource & Resource types Each resource type is handled by a specific resource plug-in (*.bmp, *.jpg, *.pm, *.im, *.kin, *.mp3, …) –Resource aliases (*.bmp.alias, *.pm.alias, *.mp3.alias, …)
20
CGGM Lab, CSIE.NCTUKeng Shih-Ling 20 System::Kernel:: Resource Jet Resource Management System –Asynchronous background loading Use multi-threading abilities Allows the application to continue its execution while resources are being loaded. –Resource priority Load critical resources ahead of less critical ones.
21
CGGM Lab, CSIE.NCTUKeng Shih-Ling 21 System::Kernel:: Plug-in Jet Plug-in Management System – Jet 's Plug-in Management System allows programmers to add, replace and/or extend engine features and systems –Winamp –3dsMax
22
CGGM Lab, CSIE.NCTUKeng Shih-Ling 22 System::Kernel:: Plug-in Jet Plug-in Management System –Encapsulated user interface components –Different resource loading schemes –Hardware and third-party API device drivers –JIVE plug-in tools and applications
23
CGGM Lab, CSIE.NCTUKeng Shih-Ling 23 Jet Systems Kernel Input Interface Network Render Sound Artificial Intelligence WAVE (Wide Area Virtual Environment) JIVE (Jet Integrated Visual Environment)
24
CGGM Lab, CSIE.NCTUKeng Shih-Ling 24 System:: Render Render system DLL Hierarchy
25
CGGM Lab, CSIE.NCTUKeng Shih-Ling 25 System:: Render DLLs and sample functionality DLLExample function RenderSystemHardware abstraction, Frame-level update, Texture, geometry caching, Material Render3DCore3D obj hierarchies, cameras, light, 2D/3D primitive Render3DFoundationProgressive LOD, mesh geometry, Skin deformation, Key-frame animation Render3DextensionParticle effects Render2DCoreSprite
26
CGGM Lab, CSIE.NCTUKeng Shih-Ling 26 System:: Render Rendering Pipeline
27
CGGM Lab, CSIE.NCTUKeng Shih-Ling 27 System:: Render Kernel Graphics API Abstraction Rendering Optimization Support Layers Scene Support Modifiers Animation Support Progressive LOD Support Mesh Support Sprite support Particle Effects System Texture And Material Support
28
CGGM Lab, CSIE.NCTUKeng Shih-Ling 28 System::Render:: Kernel Kernel –RenderKernel The RenderKernel initializes and provides an interface to the Render system ( SceneGraph, MaterialManager, TextureManager…) –SystemResourceViewer SystemResourceViewer allows derived classes to receive a Layer visible list before each frame is rendered
29
CGGM Lab, CSIE.NCTUKeng Shih-Ling 29 System::Render:: API Graphics API Abstraction –Vertex Formats PackedVertex{P,N,C,W,T,TT} –GeometryChunk a base class describing geometry grouped for efficient rendering.
30
CGGM Lab, CSIE.NCTUKeng Shih-Ling 30 System::Render:: Optimization Rendering Optimization Support –The core of Jet's rendering optimization support are render caches –RenderingCache Alpha, Materials, Shadows, Particle effects –RenderingCacheManager RenderingCache objects receive a priority used by the RenderingCacheManager to control sequencing.
31
CGGM Lab, CSIE.NCTUKeng Shih-Ling 31 System::Render:: Layers Layers –A Layer is a rendering abstraction representing a rectangular screen region, with a separate rendering pass within the current frame –Viewport –Canvas
32
CGGM Lab, CSIE.NCTUKeng Shih-Ling 32 System::Render:: Scene Scene Support –The Jet Render System supports many types of scene abstractions, such as: 3D object hierarchies Lights Shadows 2D/3D primitives (also used for collision checking)
33
CGGM Lab, CSIE.NCTUKeng Shih-Ling 33 System::Render:: Scene Scene Support –SceneGraph –Element and VisibleElement –Particle (for 3D object hierarchy) –Line2D, Cone, Polygon (2D/3D primitives) –Lights –LightTargets –Shadows –ShadowVolume
34
CGGM Lab, CSIE.NCTUKeng Shih-Ling 34 System::Render:: Modifiers Modifiers –Jet provides custom update mechanisms through the Modifier and its associated classes –Modifier –ModifierHost –ModifierList
35
CGGM Lab, CSIE.NCTUKeng Shih-Ling 35 System::Render:: LOD Progressive LOD support –Jet’s progressive level-of-detail (LOD) supports scene-balancing through scalable LOD scene objects and manager. The manager distributes geometry to each scalable object to meet the scene’s target geometry allowance.
36
CGGM Lab, CSIE.NCTUKeng Shih-Ling 36 System::Render:: LOD Progressive LOD support –ScalableDetail –ScalableDetailManager ScalableDetailManager uses the object’s distance from the camera and size to allocate triangles
37
CGGM Lab, CSIE.NCTUKeng Shih-Ling 37 System::Render:: Mesh Mesh Support –Geometry, TriangleGeometry –FaceDescriptor to query a mesh for information regarding a given face –IndexedMeshInstance –ProgressiveMeshInstance
38
CGGM Lab, CSIE.NCTUKeng Shih-Ling 38 System::Render:: Mesh Mesh Support –InfluenceMesh provides skin deformation for Jet mesh objects –MeshObservers allows derived classes to receive mesh related events and define actions on a per-event basis.
39
CGGM Lab, CSIE.NCTUKeng Shih-Ling 39 System::Render:: Animation Animation Support –Skeleton, SkeletonModifier –AnimationModifier –Animator –AnimaitonObserver –AnimationEvent
40
CGGM Lab, CSIE.NCTUKeng Shih-Ling 40 System::Render:: Sprite Sprite Support –SpriteInstance –SpriteManager –SpriteResource
41
CGGM Lab, CSIE.NCTUKeng Shih-Ling 41 System::Render:: Particle Particle Effect System –ParticleFXEmitter Point, Ribbon, Disc, Rect –ParticleFXModifier Color, Field, Swirl
42
CGGM Lab, CSIE.NCTUKeng Shih-Ling 42 System::Render:: Texture & Material Texture & Material Support –Texture –TextureManager The TextureManager controls the creation, activation, and updating of textures used per frame. –Material –MaterialManager
43
CGGM Lab, CSIE.NCTUKeng Shih-Ling 43 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
44
CGGM Lab, CSIE.NCTUKeng Shih-Ling 44 Jet Extensions Jet Collision System Extension Jet Movement System Extension
45
CGGM Lab, CSIE.NCTUKeng Shih-Ling 45 Ext:: Collision CollisionArea CollisionBox CollisionBSPNode CollisionBSPTree CollisionManager CollisionObject
46
CGGM Lab, CSIE.NCTUKeng Shih-Ling 46 Ext:: Movement DirectMotion Grid2DPathSearch Grid2DTerrainBase PathMotion PathMotionEventType PathMotionObserver
47
CGGM Lab, CSIE.NCTUKeng Shih-Ling 47 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
48
CGGM Lab, CSIE.NCTUKeng Shih-Ling 48 Jet Examples JRally 2101 –A multi-player racing game –Full source code –3 artists –3 programmers –7 weeks
49
CGGM Lab, CSIE.NCTUKeng Shih-Ling 49 Agenda Overview Jet Systems Jet Extensions Jet Examples Q & A
50
CGGM Lab, CSIE.NCTUKeng Shih-Ling 50 Q & A ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.