Introduction

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.

Simdify is a platform for GPU computing that includes a family of Windows® desktop applications, Simdify Scripting Language, and features to export Simdify workloads as complete OpenGL applications. The Layout application allows you to design OpenGL workloads and export them as standalone applications on Microsoft Windows®. While the exporter supports exporting to other platforms as well, these exercises show you how to use Simdify to create and export Windows® applications.

Terminology Wow, only 1 paragraph in and we're already taking a break. So what's the difference between a 'shader' and a 'workload' anyway? In OpenGL, a shader program is something that executes shader code. 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 workload includes everything needed to do something useful. A workload almost always includes shader programs, but it also includes features for and binding textures, for storing and setting uniforms, or for creating and binding shader buffers. To do useful work, you often need a significant amount of code related to resource managment, including code to read back the results from the GPU so that they can be used to solve your problems. So a shader is part of a workload, but it is not a workload by itself.

The Simdify development process is as follows:

  1. Use the Layout application on your Windows® development PC to create and debug an OpenGL workload.
  2. Export the workload as a Microsoft Visual Studio® solution file, with all necessary C++ source code and binary files.
  3. Open the solution, compile it into a finished, stand-alone application, and run it.

Basic requirements are as follows:

Item Description
Microsoft Windows® PCYou'll need a PC from 2015 or newer. Your PC must meet the minimum system requirements for Microsoft Visual C++ if you want to use it to compile exported applications.
RAMYou'll need at least 4GB of RAM, preferably more.
GPUYou'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 higherRequired if you want to compile exported applications. We include full Simdify Scripting Language source code to the exporter, and full C++ source for the exporter itself, so if you're curious, and technically qualified, the exporter could be adapted to use different compilers on Windows®.
Working KnowledgeThis series assumes you know how to use Microsoft Windows® and Windows® desktop application. We assume that you are familiar with things like the main menus, 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 export workloads, you don't need to know how to use Microsoft Visual C++. 3-6 months of experience with Microsoft Visual C++ if you want to export Simdify documents as standalone OpenGL applications.