I am new to this forum so before I begin let me apologise in advance if this is posted in the wrong place and for any holes in my understanding of OpenGL.
I am the author of Looking Glass (https://looking-glass.hostfission.com) and I am working on replacing the legacy OpenGL renderer with an OpenGL ES renderer using shaders. Everything is going fine except that I have hit a roadblock with regards to rendering a mouse cursor. Standard RGB and color mask cursors are working fine, however monochrome cursors are not as they require logic operations which have been deprecated in OpenGL ES 2.
Currently I am rendering the desktop as a PBO streamed texture to a triangle strip, and then rendering the cursor as another triangle strip with blending using a uniform to specify the cursor size and position.
Please note that I have nearly no experience with shaders and I am learning this as I go, I may be asking some very dumb questions.
What is the best way to go about this? I would like to avoid rendering to a texture for sampling as this application needs to be as low latency as possible.
This is the legacy code I am working to re-implement - LookingGlass/opengl.c at 3ff712fea5dffd52844c8e454eee7b97f4d4421a · gnif/LookingGlass · GitHub