I am developing a cellular automata renderer/editor in c++.
I'm rendering the state of a grid of any size, by updating a Gosu::Bitmap from that grid and then updating a Gosu::Image from that Bitmap.
Every cell occupies exactly one pixel on the Image.
Now for editing purposes (or even viewing) it is often useful to zoom into the grid.
Doing that with Gosu causes really strong smoothing (cells end up being round and melting into each other).
This is (not always) a good thing here. For viewing it looks (to me) much better, but for editing it becomes very hard to know how to click an exact cell.
I extended the Image class to have another boolean parameter that allows "hard" rendering.
It is a quick way to implement this into the current gosu system without changing too much.
There might be better ways, if there are, please tell me :)click me for diff file