AuthorTopic: ROTSPRITE, useful tool  (Read 30691 times)

Offline lithander

  • 0001
  • *
  • Posts: 43
  • Karma: +0/-0
    • View Profile
    • www.pixelpracht.net

Re: ROTSPRITE, useful tool

Reply #20 on: April 29, 2011, 04:43:03 pm
I'm currently looking for a tool that allows me to rotate and rescale pixelart. Photoshop seems to do an awful job at that. Maybe I'm using it wrong but can I assume based on your positive reaction to the Rotsprite tool that there isn't any better tool for such tasks yet? If not, what exactly makes rescaling/transforming pixelart so hard to do that there are no decent tools for the job?

(Sorry if I sound ignorant. I tried a web-search on that topic but I didn't find usefull info on that topic.)

Offline Krice

  • 0001
  • *
  • Posts: 33
  • Karma: +0/-0
    • View Profile

Re: ROTSPRITE, useful tool

Reply #21 on: April 29, 2011, 08:10:19 pm
If not, what exactly makes rescaling/transforming pixelart so hard to do that there are no decent tools for the job?

It's the limited amount of data, in this case pixels.

Offline Dusty

  • 0100
  • ***
  • Posts: 1107
  • Karma: +0/-0
    • View Profile

Re: ROTSPRITE, useful tool

Reply #22 on: April 29, 2011, 08:54:27 pm
Aye, pixels are the small graphical units in computer graphics, and we just happen to be working with that. If you work with an image 1000x1000 pixels large, rotating and such is no problem because it has a lot more data to work with. However, an image 32x32 pixels large only provides so much data for the algorithms to work with, so it's a lot easier to mess up.

In fact, I'm pretty sure what rotsprite does(from what I remember reading) is scale it up 4x and then rotate it, then scale it back down.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: ROTSPRITE, useful tool

Reply #23 on: April 30, 2011, 12:45:38 am
It also includes some use of the scale2x algo and some restoration of certain kinds of 'corner/point' pixels.

I concluded it wasn't good enough quality for me (because of the amount of fiddling involved -- generating multiple fractionally different rotations and manually comparing them visually to pick the a good result).

making a more cooperative algo that doesn't require anywhere near as much manual work is on my agenda.
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline lithander

  • 0001
  • *
  • Posts: 43
  • Karma: +0/-0
    • View Profile
    • www.pixelpracht.net

Re: ROTSPRITE, useful tool

Reply #24 on: April 30, 2011, 12:51:21 am
Well, I understand that Nearest Neighbour produces undesirable artefacts: The source image is allready highly aliased (loss of information due to low sample frequency) and thus the nearest neighbours color isn't necessarily the best. To find the best more neighbouring pixels have to be evaluated.

Bilinear and Bicubic Interpolation do just that but their flaw is that they return a mix of the colors of pixels found in the neighbourhood and thus introduce new colors. Bad for pixel art where you work with a limitted set of colors.

So it's understandable that the interpolation methods offered by Photoshop don't work well. What got me confused is that I found no algorithm (or rather a tool that implements such an algorithm) that considers all the pixels in the neighbourhood like Bicubic Interpolation and then results the neighbours color that best fit's the averaged value.

Such an approach shouldn't be too hard to do... and wouldn't it give acceptable results when applied to pixel art? From what I understand from that forum post linked above the ROTSPRITE does something similar?

I wouldn't even mind to code my own tool but even then I would have expected to find established algorithms that I could work with. If you all agree that such algorithms have yet to be found I'm intrigued to make it a little side project of mine. (I just thought I'd reinvent the wheel if I tried)

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: ROTSPRITE, useful tool

Reply #25 on: April 30, 2011, 06:14:53 am
So it's understandable that the interpolation methods offered by Photoshop don't work well. What got me confused is that I found no algorithm (or rather a tool that implements such an algorithm) that considers all the pixels in the neighbourhood like Bicubic Interpolation and then results the neighbours color that best fit's the averaged value.
That's cause such a naive algorithym is ineffective.
Rotsprite takes various measures to improve the preservation of SHAPE -- something which an average will not help with. AFAICS the minimum effective filter would have to, for each output pixel, examine the pattern of 3x3 input pixels to choose the best, with some kind of line/isolated point recognition.
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline ui

  • 0001
  • *
  • Posts: 59
  • Karma: +0/-0
  • Venezuela
    • View Profile
    • http://www.iloveui.com

Re: ROTSPRITE, useful tool

Reply #26 on: May 01, 2011, 04:38:57 am
@lithander, did you tried ROTSPRITE????... it actually do A REALLY DECENT (better) result than the photoshop scale/rotation. I have about 12 years using photoshop and i though the rotation/scale was decent, but ROTSPRITE actually do a LOT BETTER JOB!... so, if your loocking for rotation/scale QUICK, ROTSPRITE would be defenily the first option.

And... as Dusty said...
...If you work with an image 1000x1000 pixels large, rotating and such is no problem because it has a lot more data to work with. However, an image 32x32 pixels large only provides so much data for the algorithms to work with, so it's a lot easier to mess up....

so, bigger images works better for rotation and scale. And... if you scale x2.x3.x4.x5 and so on, you will be always in the safe place. Now, if you GO DOWN, you will start to get problems with the "new pixels" since the algorithm will put pixels mathematically. Also remember than pixelart is the smaller extent. So knowing this you will understand than some pixels will not exist or will appear a new ones, this if you go from bigger to smaller. And, Rotations with numbers with decimals will get problems for the altorithm too, so to be on the safe zone with rotation, try to use... 90/70/50/30° or numbers with no decimals or sharps angles.

Offline lithander

  • 0001
  • *
  • Posts: 43
  • Karma: +0/-0
    • View Profile
    • www.pixelpracht.net

Re: ROTSPRITE, useful tool

Reply #27 on: May 02, 2011, 11:06:24 am
@UI: Yes, I've tried rotsprite and the results look good indeed. Way better then photoshop for reasons allready discussed here. But it's hard to integrate that into your workflow when you're working on an image/spritesheet. I hoped for some image editor that rotation and rescaling, ideally with an WYSIWYG interface.

But it's okay if such a tool doesn't exist I just thought I was to blame for not being able to find it.

Offline yrizoud

  • 0010
  • *
  • Posts: 330
  • Karma: +0/-0
    • View Profile

Re: ROTSPRITE, useful tool

Reply #28 on: May 02, 2011, 02:02:49 pm
It seems nobody's going to get an open-source version anytime soon, so I guess I'll already implement the simplified algorithm in the interactive brush-rotation tool of Grafx2.
The simplified algorithm consists in:
- perform scale2x 3 times on the image,
- then use a standard "rotozoom" to rotate and divide size by 8 at the same time.

Offline ui

  • 0001
  • *
  • Posts: 59
  • Karma: +0/-0
  • Venezuela
    • View Profile
    • http://www.iloveui.com

Re: ROTSPRITE, useful tool

Reply #29 on: May 03, 2011, 01:49:47 pm
It seems nobody's going to get an open-source version anytime soon, so I guess I'll already implement the simplified algorithm in the interactive brush-rotation tool of Grafx2.
The simplified algorithm consists in:
- perform scale2x 3 times on the image,
- then use a standard "rotozoom" to rotate and divide size by 8 at the same time.

why not to send that to the ppl who is developing Grafx2???? im sure they will integrate that in the next version! :DDDD (another reason to get into Grafx2 sometime soon!)

lithander
...But it's hard to integrate that into your workflow when you're working on an image/spritesheet. I hoped for some image editor that rotation and rescaling, ideally with an WYSIWYG interface.

But it's okay if such a tool doesn't exist I just thought I was to blame for not being able to find it.
agree!!!!... soon! if the algorims is that simple i think it will be integrate sometime soon in the most used programs... and to be honestly.. wouldn't be strange that Adobe would integrate it in the future (when they get into this post! JAJAJA)