@Safron wrote:
(this question was actually also asked on Stack Overflow, but without answer: C# Rendering OpenCL-generated image)
Using a wrapper called Cloo, I discovered OpenCL a while ago and immediately became a huge fan. With OpenCL, I was able to speed up some calculations from a minute to less than a second. For example, the first thing I made was a program to render a dynamic Julia fractal (with dynamic I mean de fractal is changing every frame by changing the base point in the complex plane). The only thing you need to know about a Julia fractal is that every pixel can be calculated independently, so the task is easy parallelizable. I actually got it working by calculating the pixeldata using OpenCL, sending the data to the CPU and storing the data in a Texture2D, thus sending it back to the GPU. The problem is that I only get about 10 frames a second. I realised that the constant communication between the GPU and CPU is the real bottleneck.
My question: is it possible to directly store data calculated by OpenCL in a Texture2D without involving the CPU?
By the way, I also tried using a shader for this, but HLSL doesn't allow enough arithmetic slots. GLSL does allow this, so if there is an option to use GLSL within Monogame, that would also solve my problem.
Posts: 3
Participants: 2