This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Developer(s) | Huawei |
---|---|
Initial release | August 4, 2023 |
Written in | NAPI C++/Cangjie,C, HarmonyOS Runtime/API: ArkTS, Cangjie |
Operating system | HarmonyOS, OpenHarmony |
Platform | 64-bit ARM, RISC-V, x86, x64, Lingxi |
Type | Software engine |
License | Open Source, Apache License [1] |
ArkGraphics 3D is an open source, 3D graphic stack developed by Huawei as a subset of Ark Engine for HarmonyOS and OpenAtom OpenHarmony. The engine layer includes two modules, such as 2D graphics library and 3D graphics engine with OpenGL with OpenGL Shading Language, WebGL and Vulkan as render service backend. The 2D graphics library provides the underlying API for 2D graphics rendering, and supports the underlying capabilities of graphics rendering and text rendering for ArkUI. AGP Engine as a component of ArkUI, it provides the 3D drawing capability of the system.
Introduced in HarmonyOS NEXT 3.1 API 9 in August 2023 as a conglomerate of APIs under Ark Engine outside of Vulkan native development kit (NDK) for game development, for all types of Huawei flagship devices from Vision TVs, interactive white boards, IdeaHub, MatePad tablets, Huawei Mate/P smartphones, Huawei Watch devices and other computing devices taking advantage of Qualcomm Snapdragon and mostly Kirin chipsets, alongside custom OpenHarmony-based HarmonyOS NEXT core system iteration of the operating system as the core and primary graphics stack, of game applications written low-level on renderer service and can customise graphical components on top of it. Companies such as Cocos, Unity and Unreal China support OpenGL and Vulkan low level graphics APIs for HarmonyOS NEXT development on HarmonyOS alongside being introduced on OpenHarmony 5.0 Beta 1 version in May 2024. [2] [3] [4] [5] [6] [7]
The Ark Graphics Platform (AGP) engine is a cross-platform, high-performance real-time 3D engine that is scalable. The engine is designed with an advanced Entity-Component-System (ECS) architecture and is modularly encapsulated (such as material definitions, post-processing effects, etc.), providing developers with a flexible and easy-to-use development kit. The AGP engine supports industry standard OpenGL ES/Vulkan graphics backend to reduce developers' dependence on hardware resources that is familiar and standard with basics for developers. [8]
OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computation, vision acceleration and machine learning. The open standards and associated conformance tests enable software applications and middleware to effectively harness authoring and accelerated playback of dynamic media across a wide variety of platforms and devices. The group is based in Beaverton, Oregon.
Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.
OpenGL for Embedded Systems is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). It is designed for embedded systems like smartphones, tablet computers, video game consoles and PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".
OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.
Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or Beryl. The project was started by David Reveman of Novell and first released on January 2, 2006. It was removed from the X.org server in favor of AIGLX on June 12, 2008.
Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
EGL is an interface between Khronos rendering APIs and the underlying native platform windowing system. EGL handles graphics context management, surface/buffer binding, rendering synchronization, and enables "high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs." EGL is managed by the non-profit technology consortium Khronos Group.
Mantle was a low-overhead rendering API targeted at 3D video games. AMD originally developed Mantle in cooperation with DICE, starting in 2013. Mantle was designed as an alternative to Direct3D and OpenGL, primarily for use on personal computers, although Mantle supports the GPUs present in the PlayStation 4 and in the Xbox One. In 2015, Mantle's public development was suspended and in 2019 completely discontinued, as DirectX 12 and the Mantle-derived Vulkan rose in popularity.
ANGLE is an open source, cross-platform graphics engine abstraction layer developed by Google. ANGLE translates OpenGL ES 2/3 calls to DirectX 9, 11, OpenGL or Vulkan API calls. It's a portable version of OpenGL but with limitations of OpenGL ES standard.
Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.
The version history of the HarmonyOS distributed operating system began with the public release of the HarmonyOS 1.0 for Honor Vision smart TVs on August 9, 2019. The first expanded commercial version of the Embedded, IoT AI, Edge computing based operating system, HarmonyOS 2.0, was released on June 2, 2021, for phones, tablets, smartwatches, smart speakers, routers, and internet of things. Beforehand, DevEco Studio, the HarmonyOS app development IDE, was released in September 2020 together with the HarmonyOS 2.0 Beta. HarmonyOS is developed by Huawei. New major releases are announced at the Huawei Developers Conference (HDC) in the fourth quarter of each year together with the first public beta version of the operating system's next major version. The next major stable version is then released in the third to fourth quarter of the following year.
OpenAtom OpenHarmony, or abbreviated as OpenHarmony (OHOS), is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, which consists of four layers from the bottom to the top, i.e., the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems via Kernel Abstraction Layer subsystems.
HarmonyOS NEXT is a proprietary distributed operating system and an iteration of HarmonyOS, developed by Huawei to support only HarmonyOS native apps. The operating system is primarily aimed at software and hardware developers that deal directly with Huawei. It does not include Android's AOSP core and is incompatible with Android applications.
Huawei Ark Engine is a conglomerate of proprietary application programming interfaces (APIs) for handling tasks related to system and multimedia, especially game programming and video, on HarmonyOS and OpenHarmony platform such as software graphics engine stack, ArkGraphics 2D for 2D computer graphics, 2D Drawing high-performance and ArkGraphics 3D graphics engine stack that support standard OpenGL and Vulkan backend, interactive graphics with ArkUI binding support, multimedia engine for audio and video, memory engine, scheduling engine, storage engine and low power consumption engine.
ArkUI is a declarative based user interface framework for building user interfaces on native HarmonyOS, OpenHarmony alongside Oniro OS applications developed by Huawei for the ArkTS and Cangjie programming language.
ArkTS is a high-level general-purpose, multi-paradigm, compiled, declarative programming language developed by Huawei which is a superset of open-source TypeScript, in turn a superset of JavaScript formerly used in July 2022 HarmonyOS 3.0 version, alongside its evolved percussor, extended TypeScript (eTS) built for HarmonyOS development as a shift towards Declarative programming. ArkTS compiles to machine code via its ahead-of-time compilation Ark Compiler. ArkTS was first released in September 30, 2021 on OpenHarmony, and the ArkTS toolchain has shipped in DevEco Studio since version 3.1, released in 2022. Since, OpenHarmony 4.0 release on October 26, 2023, ArkTS APIs has been added to the open source community to contribute.
ArkGraphics 2D is an open source 2D graphics stack for OpenHarmony-Oniro based and HarmonyOS operating systems. The engine layer includes two modules, such as 2D graphics library and 3D graphics engine with both OpenGL with OpenGL Shading Language and WebGL as render service backend. The 2D graphics library provides the underlying API for 2D graphics rendering, and supports the underlying capabilities of graphics rendering and text rendering for ArkUI.