Allegro.cc Forums » Programming Questions » Smoother rotated bitmaps?

Credits go to Dario ff, Elias, Johan Halmén, and Mark Oates for helping out!
 This thread is locked; no one can reply to it.
 Smoother rotated bitmaps?
 TrieBr Member #12,157 July 2010 I'm using to draw a rotated bitmap, but it seems to get all pixely when I draw it rotated. Any ideas on how I can smoothen it up? Any flags I can use in allegro? I tried the multisampling, but it didn't seem to effect it.Any suggestions or thoughts would be appreciated!
 Johan Halmén Member #1,550 September 2001 It's probably a nearest-pixel method. A smoother image you get, if you pick the 4 nearest pixels and weigh them somehow.It goes somehow like this. Create an empty bitmap that will be the rotated bitmap. Figure out its size. In the rotated bitmap, pixel by pixel, find out the origin in the original bitmap. The origin of the pixels will be float coordinates. And you will find four nearest pixels of each float coordinate. F.i. starting with the coordinate (2.2, 2.3) you have to determin each channel of R, G and B according to the distance to the nearest integer x values and y values. I can return to that if you can't figure it out yourself.Of course it need a lot of optimizing, remembering not to calculate the same sin and cos values for each pixel. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Years of thorough research have revealed that the red "x" that closes a window, really isn't red, but white on red background.Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest.
 Dario ff Member #10,065 August 2008 Try setting these in allegro5.cfg(which should be on the folder where your executable is):```# Can be 'point', 'linear', 'anisotropic'. # Just a hint, driver doesn't have to obey. min_filter=linear mag_filter=linear ``` I'm not sure if this helps only with scaling, but I think it solved my jaggies with rotated sprites IIRC. TranslatorHack 2010, a human translation chain in a.cc.My games: [GiftCraft] - [Blocky Rhythm[SH2011]] - [Elven Revolution] - [Dune Smasher!]
 Elias Member #358 May 2000 Those config settings were only used in some 4.9.x versions. You can adjust the filtering with al_set_new_bitmap_flags. Also look at the ex_filter example. --"Either help out or stop whining" - Evert
 Mark Oates Member #1,146 March 2001 use al_set_new_bitmap_flags(ALLEGRO_MIN_LINEAR | ALLEGRO_MAG_LINEAR); before loading your bitmaps. (not before each one, unless you want some with filtering and some without.)Dario ff said:Try setting these in allegro5.cfgNo longer in v5.0.0. But already, I've seen the advantage of moving from the cfg to the bitmap flag, as I can now load images (without filtering) from an old 8-bit style game, scale them by 3x onto a new bitmap (on a destination with filtering), then use that destination as the source. The end effect is I can preserve the pixel-look while still getting the delicious filtering on rotations.
 Dario ff Member #10,065 August 2008 Funny, I was planning one day on suggesting on turning the linear filtering into a settable flag, and it seems I've missed when it was implemented. TranslatorHack 2010, a human translation chain in a.cc.My games: [GiftCraft] - [Blocky Rhythm[SH2011]] - [Elven Revolution] - [Dune Smasher!]
 TrieBr Member #12,157 July 2010 ALLEGRO_MIN_LINEAR worked great! It looks beautiful now Thanks!
 Go to: Allegro Development Installation, Setup & Configuration Allegro.cc Comments Off-Topic Ordeals The Depot Game Design & Concepts Programming Questions Recent Threads