I'm not sure why you'd want to go backwards and start not using hardware acceleration again. If you're looking to deal with software-rendered graphics you're probably thinking 256 color or 16-bit which is obviously way out of date these days. There isn't very much that you'd want to do in software 2D that you can't find a way to do in 3d-accelerated 2D. The only area lacking is reading the backbuffer at a good speed, or writing a high volume of individual pixels. One question remains, did people come up with the effects and uses of the technology based on their vision of what they want to do, or based on what the technology dictated was normal?
What I would recommend is using the graphics hardware to render the perceived graphics and using an off-line main-memory cpu-rendered bitmap `backing store` to handle other needs. e.g. if you need to read pixel-perfect positioning or handle a superbitmap bigger than the screen and keep record of changes to it. You can do that off-line and use certain techniques to represent it on-screen. Making stuff go over the bus is not a good acceptance of the hardware design.
That said I do think Max2D is a little lacking in some simple areas that it should have a full feature set by now - filled or unfilled ovals and rects and triangles and polygons, line width, point, gradient fills, textured poly's, flood fill, etc. Simple simple graphics stuff. These should've been implemented even right from the start with the first release and I'm quite shocked really that these simple things still have not been added. Even though we've moved to true-color rendering as well, I think the idea of palettes and color change functions would be useful as an interface. Maybe people should start making some noise about Max2D lacking basic drawing features. It's all very well all the focus on images and texture maps.
What I would recommend is using the graphics hardware to render the perceived graphics and using an off-line main-memory cpu-rendered bitmap `backing store` to handle other needs. e.g. if you need to read pixel-perfect positioning or handle a superbitmap bigger than the screen and keep record of changes to it. You can do that off-line and use certain techniques to represent it on-screen. Making stuff go over the bus is not a good acceptance of the hardware design.
That said I do think Max2D is a little lacking in some simple areas that it should have a full feature set by now - filled or unfilled ovals and rects and triangles and polygons, line width, point, gradient fills, textured poly's, flood fill, etc. Simple simple graphics stuff. These should've been implemented even right from the start with the first release and I'm quite shocked really that these simple things still have not been added. Even though we've moved to true-color rendering as well, I think the idea of palettes and color change functions would be useful as an interface. Maybe people should start making some noise about Max2D lacking basic drawing features. It's all very well all the focus on images and texture maps.