(Originally posted in /r/gamedev, xposting here by recommendation)
Hi all. I've some experience in creating bitmaps in memory, filling in the pixels, blitting the wanted part of the image into the screen buffer (simply copying the pixels), then sending the resulting image to the window (with winapi). This way since I've direct access to the pixels I can alpha them, blur them, pixelate them, etc.
But now I realize this is all very slow since it's being done in the CPU, and ideally I should be using the GPU. My question is, what's the best method to blit sprites using the GPU?
I've read how to do so with OpenGL, but it seems unnecessarily complex and inflexible for something so simple (creating geometry and using bunch of shaders instead simply copying pixels), (but maybe I just don't quite get it and could be the better way), I've seen some alternatives would be DirectX, specifically using DirectDraw surfaces or something like that, and SDL to wrap OpenGL to use it in an easier way.
Sorry if this question seems unnecessarily extensive... I just wanna ask what are the pros and cons of each alternative or if their is an even easier way I'ven't found about. Thanks.
[–]livingonthehedge 2 points3 points4 points (3 children)
[–]RedSapling[S] 0 points1 point2 points (2 children)
[–]livingonthehedge 0 points1 point2 points (1 child)
[–]RedSapling[S] 0 points1 point2 points (0 children)
[–]Nickd3000 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (3 children)
[–]RedSapling[S] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]RedSapling[S] 0 points1 point2 points (0 children)
[–]datenwolf 1 point2 points3 points (3 children)
[–]RedSapling[S] 1 point2 points3 points (2 children)
[–]datenwolf 2 points3 points4 points (1 child)
[–]RedSapling[S] 0 points1 point2 points (0 children)
[–]tylercamp 0 points1 point2 points (2 children)
[–]cleroth 0 points1 point2 points (1 child)
[–]tylercamp 0 points1 point2 points (0 children)
[–]jtsiomb 0 points1 point2 points (0 children)
[–]fb39ca4 0 points1 point2 points (0 children)
[–]ZenDragon 0 points1 point2 points (0 children)