December 2013
Intermediate to advanced
116 pages
2h 15m
English
The following sample code is another very simple compute shader example, but it completes the basic sets of operations. First, we handled image data, now, we will handle raw data. In this example, the shader will receive two arrays of the same size, and we will use the shader to sum them together into a third array.
As always, let's go first with the shader's code:
#version 430 layout (local_size_x = 16, local_size_y = 1, local_size_z = 1) in; uniform int BufferSize; layout(std430, binding = 0) buffer InputBufferA{float inA[];}; layout(std430, binding = 1) buffer InputBufferB{float inB[];}; layout(std430, binding=2) buffer OutputBuffer{float outBuffer[];}; void main() { uint index = gl_GlobalInvocationID.x; if(index >= BufferSize) ...Read now
Unlock full access