Video Engines
Графические движки
Одной из важнейших составляющих применения технологий информационного моделирования является возможность формирования объектно-ориентированного графического представления.
На этой страницы приведена информация по различным графическим движкам, включая игровые движки, которые могут быть использованы в рамках применения технологии информационного моделирования.
Начнем с трехмерных движков:
NAP
NAP NAP is a low overhead, open source, real-time control and visualization platform. It enables you to build native running applications to interact with the world around you. Battle tested for years, NAP seamlessley connects computers of any shape, form and size to every type of input and output imaginable. Use NAP to visualize and control immersive audiovisual installations, high precision robotics in manufacturing environments or little things in your home in a way that is secure, private and highly energy efficient. Download the pre-compiled package or build NAP from source, and start experimenting today.
Исходный код: https://github.com/napframework/nap
Документация: https://docs.nap.tech
NAP is an open source, low overhead, real-time control & visualization plaform. Create fast, modular and (above all) stable applications to interact with the world around you. Use any protocol (OSC, MIDI, Artnet, WebSocket etc) in combination with a 3D graphics and sound engine to create real-time content that is transmitted to any device you like. NAP is built to scale up to a large number of input and output devices: many displays, many lights, many speakers, many sensors, many servos.
Features
NAP Framework ships with many useful modules, including: a Vulkan 2D/3D render engine, Vulkan Compute module, a multi-channel audio engine for music playback, recording and analysis, a sequencer to control parameters in real-time, an editor to author application content, a web portal to control and monitor NAP applications in a browser, a system for creating and loading presets, a video player powered by FFmpeg and a Python programming interface. NAP also has built in support for many common protocols and standards, including: WebSocket, MIDI, OSC, Artnet, Serial, EtherCAT, OpenCV, SQLite and many others. NAP has been battle tested in production for years. For more information about NAP, how it is commonly used and what it can do for you, visit the nap.tech website.
Philosophy
NAP is completely data driven and heavily influenced by modern game engine design, with one exception: it does not dictate any sort of pipeline. This allows NAP to run on any type of device: from low-power, energy efficient ARM computers such as the Raspberry Pi to industrial PCs and x86 gaming rigs. NAP applications are lean and mean: only package and ship what you actually use. On top of that NAP is easy to extend: build you own modules, resources, devices and components. NAP wants you to be safe and validates data for you on initialization. Applications are also responsive: hot-load content changes directly in to the running application. On top of that NAP is completely cross-platform and supports all modern desktop environments.
Why
Projects are growing in scope and complexity. Therefore the need for stable and performant software is increasing. Software needs to run for years without having to string together multiple applications or environments. To meet expectations NAP offers you a set of handles to tackle the most demanding creative and industrial problems.
Open 3D Engine (O3DE)
O3DE is an open-source, cross-platform, real time 3D engine that you can use to create high performance interactive experiences, including games and simulations. Check out the video below for a quick overview of some of O3DE’s biggest features. Then, read on to get set up and start creating with O3DE! Исходный код: https://github.com/o3de/o3de Документация: https://www.o3de.org/docs/
=== Key Concepts: How Open 3D Engine Works
===
Open 3D Engine (O3DE) provides a complete, end-to-end environment for developing and packaging graphically intensive games, simulations, and applications on a wide variety of platforms. Because it’s a large development environment with so many different features and tools, O3DE can be intimidating at first. This topic covers the various parts of O3DE at a high level, and the common ways you can work with it depending on your role as a developer, designer, or artist.
O3DE consists of tools, editors, and systems that help you build your project. At its core, it provides the following:
Core modules that provide math, memory management, serialization, event messaging, and more.
Authoring tools such as the Editor and related applications for placing objects in a level, adding components, and scripting logic.
A plugin and extension system for adding more features.
Asset pipeline tools for converting, optimizing, and bundling assets.
A build system to build and package a shippable launcher.
O3DE is comprised of sub-modules, called Gems. As you develop a project, you can add features and functionality by including Gems that supply those features and functions. Gems might include anything from assets such as materials, textures, and models, to development tools such as Script Canvas (a visual script editor), to entire runtime systems such as the Atom renderer, AI, and Physics.
Think of O3DE as a collection of discrete elements: code, scripts, various GUI-based editors, and command-line tools. When you compile a project, O3DE’s build scripts pull in all the pieces that are specified in your project’s configuration. When built, your project will only use the parts of the O3DE SDK that you included in your configuration. Likewise, the asset bundling and management tools ensure you only ship the assets that your project requires.