So, Julian has been pondering adding non-blurry "zooming" to Gosu but hasn't come around to implement it just yet.. but he taught me the hack, and here it's for everyone to enjoy:
@image = Gosu::Image.new( ... )
glBindTexture(GL_TEXTURE_2D, @image.gl_tex_info.tex_name)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
Then whe you scale @image (with draw_rot's factor_x, factor_y parameters) it wont get blurry. You can simulate an old retro look with this.. making each pixel in your sprite bigger.
You'll need the "ruby-opengl" gem for this to work. If you have problem compiling it on windows you can DL a binarygem @
http://rubyforge.org/frs/?group_id=2103