The 4 months since my last post have been a bit of an uphill battle for me.
Many trial and error attempts were made by myself to overcome some of the issues I
encountered in bringing about some satisfaction in applying of ComputeShaders to MonoGame.
This was mainly brought about by the lack of some functionality in MonoGame
to smoothly integrate with SharpDX’s ComputeShaders.(e.g. no access to ComputeShader’s StructuredBuffers, RWTextures and ConstantBuffers, no easy access to GeometryShaders, lack of Vertex Texture Fetch(VTF) in MonoGames’s vertex buffers.)
The other problem I had was that my fast Win10 laptop gave up the ghost, and I’ve had to
revert to my old slower Win7 desktop. I was, however, somewhat surprised that I was able to still squeeze out a fairly satisfactory performance.
All this resulted in my many attempts at workarounds to overcome these hurdles.
Hardware instancing with billboarding of the particles so that they could be viewed at
any camera position also consumed much of my time.
Google and the MonoGame Community Forum helped me immensely in this regard.
My thanks to all contributors.
As a result of the above issues, I have not been able to produce the framerates and
particle numbers that one would expect, but 7000 particles at 30fps on an old Win7 machine
suits me just fine for my particular project The SciTech Playroom for which I especially wanted to use MonoGame.
In my opinion,Compute Shaders would add immense benefits to MonoGame and perhaps the devs should look into their future inclusion.
As an aside, I’ve been mulling around with the thought of putting together an e-book ‘cookbook’ of
my journey in the relatively uncharted region of applying BulletSharp and ComputeShaders to MonoGame. I’m a simple man and I like simple solutions, so what I provide will be based on that concept. However,I would have to charge a small monetary amount, as I’m an ‘old’ man (though still young at heart) with a rapidly dwindling pension. Any thoughts and comments on this would be greatly appreciated.