Is this the best bmax can do?
BlitzMax Forums/BlitzMax Beginners Area/Is this the best bmax can do?
| ||
I'm making a low resolution game so the sprites must be crisp and clear. I thought it would be a good idea to use rotation to save on filesize and make animation less difficult. My problim arises from some small mistakes during the rotation process. It may seem that I'm nitpicking but small things like this bother me. If you look at the images the white shine on the hull of the ships and the white bands on the guns seem to differ between images. The cardnial directions came out excellent however. It's just the 45 degree ones that throw my art off. Here is my function it takes a sprite and forces it to rotate within 8 directions. (for old school goodness!) Function draw_locked_rotated(sprite:TImage,x#,y#,direction#) SetRotation Int(direction/360.0*8.0)*45.0 SetColor 255,255,255 DrawImage(sprite,x,y) SetRotation(0) End Function I look forward to any help that you may offer. |
| ||
Is that image scaled up, or real size? Because if it were real size, I would be very surprised. Also, that's OpenGL/DX's fault, not BlitzMax's. |
| ||
welcome to interpolation |
| ||
I think its done that quite well, concidering its only 16 pixels across |
| ||
are you trying to make a game in 320x240 resolution? :S try with 640,480 and scale x2 all the images when draw. |
| ||
Well the images are 16x16, I have scaled them up 300 percent to preserve accuracy. I don't want to intrepolate the image because it would make the game loose the retro feeling. It just seems odd that this is happening. Wouldn't the algorithem produce the same image for opposite angles? I'm trying to keep this game as retro as possible so I'm very concerned with things like resolution and color counts. If I scale the images up I ger even more smaller distortions. Is there a way to use acurate rotations with a midhandled image or do I need to make 8 subimages for every sprite? |
| ||
You only need to make 2 images. 0 rotation and 45deg rotataion |
| ||
^+1 |
| ||
If you don't want interpolation you need to make sure you disable mipmap and filtering on the loadimage / loadanimimage call. then it won't be interpolated, it will then look as worse as you want it to (and pixelated stuff actually looks really worse) |
| ||
if you switch on filtering you might seem more of a glimpse of the white bits. There aren't enough pixels to represent each pixel from the original image, otherwise. |
| ||
Ok thanks guys. I think I'll have to go with the subimage method, it's ok. :) |