Warp3D Nova

From wiki.amiga.org
Jump to navigation Jump to search
Warp3D Nova for AmigaOS

Introduction

Warp3D Nova is a modern shader based 3D graphics API (Application Programmers Interface) and driver system for modern GPUs (Graphics Processing Units).

It's designed to provide efficient access to modern graphics hardware. All rendering is performed using programmable shaders, so there is no fixed pipeline or predefined shading model. The application/game programmer is free to use whatever shading model he/she wishes, or even whether to use 2D or 3D geometry.


Some key features are:

  • A modern graphics API based on programmable shaders
  • Supports using vertex and fragment/pixel shaders
  • Any shader language can be used, provided that a compiler that generates SPIR-V bytecode is available
  • All rendering done using Vertex Buffer Objects (VBOs) and Data Buffer Objects (DBOs). A DBO contains the additional data that is used


Shaders are provided in precompiled SPIR-V format. SPIR-V is an open intermediate language for parallel compute and graphics. This provides a few advantages over using a predefined shader language:

  • Any suitable shader language can be used as input, so long as an SPIR-V compiler is available (so GLSL could be used, but so could HLSL or any other shader language)
  • Faster compilation (no complex language parser required)
  • Precompiled binaries means that the source-code no longer has to be exposed
  • It's an open specification with wide industry support, so we'll be able to use tools written by others that conform to the specification. For more about SPIR-V, visit: https://www.khronos.org/spir


Requirements

  • OS 4.1 Update 6 or newer
  • RadeonHD or RadeonRX driver from the Enhancer Software
  • A supported graphics card:
    • Radeon HD 77xx-79xx series graphics card (excluding the Radeon HD 7790)
    • Radeon HD R7 240/240D
    • Radeon HD R7 250E/250/250X/265
    • Radeon HD R9 270/270X/280/280X
    • Radeon RX 460/470/480/540/550/560D/560/570/580

Version Information

Current public version of Warp3D Nova is v1.85 released in the Enhancer Software package.

Installation

Simply run the Enhancer Software installer. This will install Warp3D Nova, and included drivers. If you have the AmigaOS 4.x+ SDK installed, then it will also install the developer files into the SDK for developing applications/games that use Warp3D Nova.

Once installed, you can run the examples (in the examples drawer of the Warp3D Nova package) and any applications/games that use Warp3D Nova. Of course, this assumes that your system meets the requirements listed above.


Application/Game Development

As mentioned above, the developer files needed for creating applications/games that use Warp3D Nova will be installed into your AmigaOS 4.x+ SDK (assuming that the OS SDK was installed prior to installing Warp3D Nova). The developer documentation and examples can be found in:

  • Documentation: SDK:Documentation/Autodocs/
  • Examples: SDK:Examples/Warp3D Nova/
Warp3dnova examples.png


Developing Warp3D Nova Drivers

The documentation and files necessary to develop a Warp3D Nova driver are in the Driver Development Kit (DDK), which is a separate package to Warp3D Nova itself.


Copyright

Copyright (C) 2015-2019 by A-EON Technology Limited, all rights reserved.

WARNING: Unauthorised copying and distribution is prohibited by law.