You need the following Simdify® modules to complete all exercises for Windows®: Simdify® Free Edition. Each exercise will tell you if other modules are required.
Hello :)
Thank you for taking the time to explore Simdify! We're very excited to teach you how to use build software that uses the hidden computing power of your GPU, without requiring you to endure hours of stress and frustration trying to get even the most basic features to work.
So, how do we do that?
Simdify® is a platform for GPU computing that includes a family of Windows® desktop applications, Simdify® Scripting Language, and the Simdify® runtime. The Module application allows you to design and debug OpenGL® shader modules and export them to the Simdify® runtime on Microsoft Windows®, Linux® and Raspberry Pi® 3/4/5. This series of exercises show you how to use Simdify® design applications to create shader modules, chain them together into complete worfklows, and export data to the Simdify® runtime on Windows®.
The main components of Simdify platform are as follows:
Component | Description |
---|---|
Simdify 'Outline' Application | Windows® desktop application for managing projects. This application gives you easy access to all the data in your Simdify installation. You create documents with this application and perform certain operations that may affect large numbers of documents. |
Simdify 'Module' Application | Windows® desktop application for designing OpenGL® shader modules. (Certain features, such as compute shaders, additional texture formats, and additional variable types are only available with the Simdify Compute+ Module, Simdify Texture+ Module and the Simdify Variable+ Module.) |
Simdify 'Layout' Application | Windows® desktop application for combining shader modules into complete workloads. |
Simdify Scripting Language | The standard method of implementing custom commands and other custom behaviors for Simdify design applications. |
Simdify OpenGL® Runtime | An OpenGL® application that can execute workloads built with Simdify design applications. Simdify Free Edition includes precompiled versions of the Simdify runtime, but does not include source code. All paid products include full source for the Simdify runtime. |
Depending on what you're trying to accomplish, and which modules you purchase, you may also use the following components of Simdify®
Component | Description |
---|---|
Simdify 'Shell' Application | Windows® desktop application for building Simdify application user interfaces. Note that this application is only available with the Simdify Project+ module. |
Simdify 'Graph' Application | Windows® desktop application for building Simdify template documents. Most of the Simdify design applications allow you to create certain kinds of documents, and they try to automate creation of as much of the document as possible. The Graph application allows you to build Simdify documents 'node-by-node' if needed. Typically this application is only used to build template documents for other Simdify applications. Note that this application is only available with the Simdify Project+ module. |
Shader Modules
Wow, only 1 paragraph in and we're already taking a break. So what's a 'shader module' and a 'complete workload' anyway?
In OpenGL, a shader program is something that executes shader code on the GPU. By itself, a shader isn't really very useful. You need more than a shader program to do useful work in OpenGL—sometimes you need a lot more! So a shader module includes everything needed to do something useful, but it should only do 1 thing. A module almost always includes shader programs, but it also includes nodes for binding textures, for declaring and setting uniforms, or for creating and binding shader and uniform buffers. A single shader module is all you need to use the GPU to solve certain problems.
To do useful work, you often need a significant amount of CPU code related to communicating with loading documents from disk, communicating with OpenGL, resource managment. So a shader is part of a workload, but it is not a workload by itself. Finally, a workflow is a set of shaders that are chained together to solve a more complex problem.
A typical Simdify development process is as follows:
It should be noted that there are other ways to use Simdify, such as using scripted workflows, but this series of exercises will cover the Simdify design applications.
Basic requirements are as follows:
Item | Description |
---|---|
Microsoft Windows® PC | You'll need a PC from 2018 or newer. Your PC must meet the minimum system requirements for Microsoft Visual C++ if you want to use it to compile the Simdify runtime. |
RAM | You'll need at least 4GB of RAM, or more depending on your workload. |
GPU | You'll need a GPU from Intel®, AMD®, or Nvidia® that is capable of running your target version of OpenGL/GLSL. If you want to use compute shaders, you'll need a GPU that supports GLSL 430 or higher. |
Microsoft Visual Studio 2017 or higher | Required if you want to compile Simdify runtime from source code. All versions of our products include the complete Simdify Scripting Language source code for the commands that export documents. All paid versions of our products include full C++ source for the Simdify runtime itself, so if you're curious, and technically qualified, the exporter could be adapted to support different compilers on Windows®. |
Working Knowledge | This series assumes you know how to use Microsoft Windows® and Windows® desktop applications. We assume that you are familiar with things like the main menu, command/context menus, file explorer windows, as well as how to open and save documents, including text files. If you just want to write shaders and don't want to build modules and workloads for use with the Simdify runtime, you don't need to know how to use Microsoft Visual C++. We recommend a minimum of 3-6 months of experience with Microsoft Visual C++ if you want to build the Simdify runtime from source and make modifications. |