Modules Matali Render
Overview of Matali Render module
Matali Render is an advanced, modern, multi-platform, high-performance graphics engine. Matali Render is a part of Matali Physics environment.
Graphics APIsSupport DirectX 12 Vulkan Metal • Unified renderer for mobile devices, desktops, TV platforms and game consoles using next-generation low-level graphics APIs and introducing one easy-to-use high-level API built on top of them • Physically-based rendering (PBR) • Advanced management of multiple textures, buffers and render states • Procedural sky with atmospheric scattering and smooth day/night transition, or skybox • Two-sided transparent surfaces • Transparency and textures with alpha channel • Billboarding (2D objects in a 3D environment) • Advanced billboarding • Instancing (triangle meshes and shadows) • Object contouring/outlining • Animating UV coordinates • Gamma correction
Lights, Shadows And Fog
• Unified, dynamic lighting, shading and fogging system • Screen space ambient occlusion (SSAO) • Unlimited number of directional light sources • Unlimited number of point light sources • Unlimited number of spot light sources • Unlimited number of spot and rectangular projectors • The ability to merge multiple projectors in a separate, breakable entities • The ability to limit the influence of light sources to selected objects • Lights with variable intensity • Soft-edged shadows • Shadows from directional light sources • Shadows from point light sources • Shadows from spot light sources • Shadows from spot and rectangular projectors • Shadows for textures with alpha channel • Precise calculation of shadows (shadows do not require the time-consuming matching bias) • Smooth transitions between shadow cascades • Adjustable number of shadow cascades • Long range shadows • Fog (linear, exponential, planar, point volume, spot volume) • Fog (point volume, spot volume) with volumetric shadows • Unlimited number of fog sources • Controlled interaction of light and fog with transparent surfaces
Fonts And Text
• Scaled bitmap fonts • Adjustable kerning • Smoothing • Font kits
Maps And Mapping Techniques
• Cubemaps and cube mapping • Normal maps and normal mapping in the tangent space • Height maps and height mapping (parallax mapping) • Normal mapping and parallax mapping based on the distance from the observer
Supported platforms Android 10 (API level 29) and higher Android TV 10 (API level 29) and higher *BSD (mainly FreeBSD 12.2 and higher) iOS 14 and higher iPadOS 14 and higher Linux (distributions) macOS 11 Big Sur and higher Steam Deck tvOS 14 and higher UWP Desktop UWP Xbox Series X/S Windows 11 Windows 10 Platforms Available as Steam Deck, UWP, Windows Compiled static library (.lib) Android, Android TV, *BSD, iOS, iPadOS, Linux, macOS, Steam Deck, tvOS Compiled static library (.a) Supported types of activity Android Native Activity
Frequently asked questions
- I know that you mainly use the low-level graphics APIs. How is Matali Render engine used in practice? Do I have to write thousands of code lines to display a single texture, for example?
- Matali Render engine offers an advanced and unified code infrastructure for all supported low-level graphics APIs: DirectX 12, Vulkan, Metal, etc. In most of the cases, it doesn't matter which API you use. All the required operations are performed similarly to the high-level graphics API in a small number of code lines, while maintaining the flexibility and performance of the low-level graphics APIs.
- What do you mean by the statement "Unlimited number of ..."?
- The statement means that the number of objects of a specific type is not limited by the engine, but is regulated by the programmer and depends on the size of available resources, the performance of the target platform, etc.
- Do you use wrappers or emulators when using Metal API?
- No. Metal API is called directly.
- Do you use external solutions or other external libraries or source codes that simplify the use of low-level graphics APIs? If so, what is the license for these solutions/libs/codes?
- No, we don't use. We rely entirely on own solutions.