1 / 10

Frontend 2.0 Framework Overview

Frontend 2.0 Framework Overview. Frontend 2.0 is a portable framework for C++ for developing games, demos and desktop applications. This folder gives a schematic overview of the framework components and their relationships.

ismael
Télécharger la présentation

Frontend 2.0 Framework Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Frontend 2.0 Framework Overview Frontend 2.0 is a portable framework for C++ for developing games, demos and desktop applications. This folder gives a schematic overview of the framework components and their relationships. For more information and documentation, please visit www.frontendapi.com.

  2. Frontend 2.0 Software Stack Your Application Frontend 2.0 Utils Frontend 2.0 Implementation (i.e. OpenFrontend) Native APIs

  3. Frontend 2.0 Component Overview Utils Graphics Sound Net Input Core Basic Types Containers Math GUI IO System OpenFrontend

  4. Frontend 2.0 Core Overview Basic Types Containers Math IO Trigonometric Functions Stream Abstract interface for streams of bytes (i.e. Files) Base Types UInt8, Int8 UInt16, Int16 UInt32, Int32 UInt64, Int64 UIntPtr, IntPtr TimeStamp Array<T> Linear container Vector2, Vector3, Vector4 Map<TKey, Tvalue> Red-black tree map FileSystem Abstract interface for file systems (i.e. native file system) Matrix3, Matrix4 HashMap<TKey, Tvalue> Hash based map DateTime Rectangle System Queue<T> Linked list Object Display Interface for controlling native display devices Algorithms Heap<T> Heap String BinarySearch Thread Interface for controlling native threads Stack<T> Stack based on Array<T> Buffer HeapSort Mutex Interface for native mutexes Set<T> Red-black based set Exception QuickSort Pool<T> Page-based allocator Timing Various functions for querying the system timer ShellSort Bitmap = Interface only – Requires a native implementation, i.e. OpenFrontend

  5. Frontend 2.0 GUI Overview Basic Framework Painting Widget Library WindowManager Wraps native or virtual window managing systems Painter Abstract interface for painting to controls or bitmaps. Button PictureBox CheckBox ProgressBar Style Controls the look and feel of GUI components Font Represents a font inside a WindowManager DropDownList ScrollBar GroupBox Slider Control Base class for all objects with a visual representation Pixmap Represents a Bitmap managed by a WindowManager Label TabControl Window Wraps a native or a virtual window ListBox TextBox Panel ToolStrip Widget Base class for all widgets = Interface only – Requires a native implementation, i.e. OpenFrontend

  6. Frontend 2.0 Graphics Overview OpenFrontend Graphics::CreateDeviceGL2CG() Graphics::CreateDeviceGL2GLSL() Graphics::CreateDeviceDX9HLSL() Graphics::CreateDeviceDX10HLSL() Interfaces created by Device Surface Represents a 2D bitmap surface managed by a Device, i.e. a mip level of a texture. BlendState DepthStencilState Creates Texture Represents a texture managed by a Device RasterizerState Device Represents a session with a graphics device. Devices can create other objects needed to store graphics data, and perform drawing of this data. Texture2D Creates SemanticMap Texture3D InputLayout Describes how input should be read from vertex buffers and into vertex attribute streams in shaders. TextureCube Buffer Represents a data buffer managed by a Device Shader Represents a piece of a Program that controls a stage in the graphics pipeline (vertex, geometry or pixel) VertexBuffer IndexBuffer Program Represents a set of shaders linked together. Only one program can be set on the device at a time. Creates Parameter Represents a global constants of a Program. Can be written to from the application to affect program behaviour.

  7. Frontend 2.0 Sound Overview OpenFrontend Sound::CreateDevice() Creates Device Represents a session with a sound device Creates Buffer Represents a sound data buffer managed by a Device which can be played back

  8. Frontend 2.0 Net Overview OpenFrontend Net::CreateContext() Creates Context Represents a session with the native networking API. Creates Interfaces created by Context Address Represents a network address Creates IO::Stream A stream interface for communicating throught the socket Socket Represents a network connection endpoint

  9. OpenFrontend Implementations Overview Shows implementation status anno January 2009 Frontend 2.0 Interfaces Graphics Sound Input Net Core Current OpenFrontend Implementations Direct3D 9 + HLSL OpenGL + CG OpenGL + GLSL DSound 8 DInput8 WinSock Windows Backend Windows: PortAudio Native Berkely Sockets Linux Backend Linux: Berkely Sockets Mac OS X: Native/Third party APIs

  10. Frontend 2.0 Utils Overview Your Application Resource Objects RScene RTexture2D RXmlDocument RGeometry RAudioStream Etc... Utils ResourceProxy Loader Library Frameworks COLLADA SceneGraph Loader Frontend SceneGraph Loaders and Savers Other SceneGraph Draw2D Shapes Framebuffer Geometry Collaging Higher level loaders (Textures, Shaders etc) Xml Profiling Audio Bitmap Loaders and Savers Font Loader OGG Loader XML Loader and Saver Third party libraries Frontend 2.0

More Related