ArkGraphics 3D

Last updated

ArkGraphics 3D
Developer(s) Huawei
Initial releaseAugust 4, 2023;10 months ago (2023-08-04)
Written inNAPI 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 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. AGP Engine as a component of ArkUI, it provides the 3D drawing capability of the system.

Contents

Overview

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]

See also

Related Research Articles

<span class="mw-page-title-main">OpenGL</span> Cross-platform graphics API

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 (graphics) Vector graphics-based software library

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.

<span class="mw-page-title-main">OpenGL ES</span> Subset of the OpenGL API for embedded systems

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".

<span class="mw-page-title-main">OpenSceneGraph</span>

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.

<span class="mw-page-title-main">Xgl</span> Display server implementation

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.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

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.

<span class="mw-page-title-main">EGL (API)</span> Application programming interface

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.

<span class="mw-page-title-main">Mantle (API)</span> Low-overhead rendering API

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, 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.

<span class="mw-page-title-main">OpenHarmony</span> Family of open-source operating systems based on OpenHarmony

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 base 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.

Ark Compiler, also known as ArkCompiler, is a unified compilation and runtime platform that supports joint compilation and running across programming languages and chip platforms, also operating systems of open-source OpenHarmony, Oniro OS, alongside proprietary HarmonyOS with single core system HarmonyOS NEXT included on native APP in Event-driven programming in a unified development environment and formerly built for Android-based EMUI for Huawei smartphones and tablets with HMS-enabled apk apps on AppGallery that improves app performance. It supports a variety of dynamic and static programming languages such as JS, TS, and ArkTS. It is the compilation and runtime base that enables OpenHarmony, Oniro OS alongside HarmonyOS NEXT to run on multiple device forms such as smart devices, mobile phones, PCs, tablets, TVs, automobiles, and wearables. ArkCompiler consists of two parts, compiler toolchain and runtime.

ArkTS is a high-level general-purpose, multi-paradigm, compiled 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.

References

  1. "@ohos.graphics.scene (ArkGraphics 3D模块)". Gitee. OpenAtom OpenHarmony. Retrieved May 21, 2024.
  2. O'Donnell, Deirdre. "HarmonyOS 4.0 debuts Live Window feature on Huawei devices". Notebook Check. Retrieved February 12, 2024.
  3. Sarkar, Amy (August 8, 2023). "You can play games on Huawei smartwatches with HarmonyOS 4". HC Newsroom. Retrieved February 12, 2024.
  4. "What is "ArkWeb" for HarmonyOS NEXT?". Substack. LivingInHarmony Blog. Retrieved February 15, 2024.
  5. Sarkar, Amy (August 2, 2023). "Cocos Creator 3.8 LTS brings open source HarmonyOS 4 platform support". HC Newsroom. Retrieved February 15, 2024.
  6. "NetEase's A Chinese Ghost Story became the first Unity China game to adopt Huawei's HarmonyOS". Technode. Technode Feed. January 11, 2024. Retrieved February 15, 2024.
  7. "openHarmony game ecosystem construction. Cocos, Unreal Engine (UE), Unity". BiliBili. OpenAtom OpenHarmony. Retrieved February 15, 2024.
  8. "OpenHarmony/graphic_graphic_3d". Gitee (in Chinese (China)). Retrieved May 24, 2024.