You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-<https://github.com/9prady9/CLGLInterop> Works! Started minifying example with: <https://github.com/cirosantilli/CLGLInterop/tree/minify>
32
+
-<https://github.com/nvpro-samples/gl_cl_interop_pingpong_st> Build failed with: <https://github.com/nvpro-samples/gl_cl_interop_pingpong_st/issues/1> likely only tested on Windows.
33
+
-<https://github.com/halcy/simpleflow> VS build, fluid simulation, preview: <https://www.youtube.com/watch?v=KD2UqBCqfjA>
34
+
-<https://github.com/Twinklebear/OpenCL-OpenGL-Interop> VS build
Copy file name to clipboardExpand all lines: opengl/compute-shader.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
Vs OpenCL: <http://wili.cc/blog/opengl-cs.html>
4
4
5
+
Vs frament shader: <http://computergraphics.stackexchange.com/questions/54/when-is-a-compute-shader-more-efficient-than-a-pixel-shader-for-image-filterinig>
6
+
5
7
> But why did Khronos introduce compute shaders in OpenGL when they already had OpenCL and its OpenGL interoperability API? Well, OpenCL (and CUDA) are aimed for heavyweight GPGPU projects and offer more features. Also, OpenCL can run on many different types of hardware (apart from GPUs), which makes the API thick and complicated compared to light compute shaders. Finally, the explicit synchronization between OpenGL and OpenCL/CUDA is troublesome to do without crudely blocking (some of the required extensions are not even supported yet). With compute shaders, however, OpenGL is aware of all the dependencies and can schedule things smarter. This aspect of overhead might, in the end, be the most significant benefit for graphics algorithms which often execute for less than a millisecond.
6
8
7
9
Examples:
@@ -12,7 +14,30 @@ Examples:
12
14
13
15
Most interesting files are `ParticleSystem.cpp` and `cs.glsl`.
14
16
17
+
-<https://community.arm.com/groups/arm-mali-graphics/blog/2014/04/17/get-started-with-compute-shaders>, runnable from their SDK
18
+
15
19
Applications:
16
20
17
21
- ray tracing
18
22
- ignore objects too far away
23
+
24
+
## Work group
25
+
26
+
TODO: what is the advantage of work grops?
27
+
28
+
Ideally, we would have a single work group, but that hits hardware design limitations (memory locality): <http://stackoverflow.com/questions/39380986/opengl-is-there-a-benefit-to-using-multiple-global-work-groups-for-compute-shad>
0 commit comments