Pixelation

General => General Discussion => Topic started by: Takai Soyokaze on September 26, 2006, 10:34:43 pm

Title: Subjects of Pixel Art
Post by: Takai Soyokaze on September 26, 2006, 10:34:43 pm
(http://img209.imageshack.us/img209/9601/dancingwithdogsca1.gif)

Currently I have listed the main types of shading that I know of.

Smooth
Basic Dither
Advanced Dither
Style Dither
Horizontal Lines
Vertical Lines
Diagonal Dither

Can anyone add to the list?
Title: Re: Subjects of Pixel Art
Post by: Gil on September 26, 2006, 11:20:45 pm
Random diagonal dither. It's like a crossbreed between diagonal dither and style dither, it's something I've seen in pieces of st0ven mainly...

Check his dragon layout on spriteart.com
Title: Re: Subjects of Pixel Art
Post by: Takai Soyokaze on September 26, 2006, 11:48:34 pm
Could you add it to the images (that's why I left some blank, I thought multiple people could join in and tell about styles)?
Title: Re: Subjects of Pixel Art
Post by: Helm on September 27, 2006, 05:46:26 am
I think we mainly call the 'basic dither' 50% dither.

(http://www.locustleaves.com/dithers.gif)

noise dither (boo! bad!), scratchy dither, and the brick dither added.
Title: Re: Subjects of Pixel Art
Post by: Evil-Ville on September 27, 2006, 06:44:25 am
Messy diagonal block dither?
(http://img245.imageshack.us/img245/2963/dithersta1.gif)
Title: Re: Subjects of Pixel Art
Post by: hawken on September 27, 2006, 10:12:37 am
I remember when on the Amiga, there were all sorts of names for different types of dithering. Can't find anything about it on the internet
Title: Re: Subjects of Pixel Art
Post by: goat on September 27, 2006, 01:52:46 pm
The names for dither pattern algorithms? Go download NeoPaint, it has a bunch of them.  I'd do it but I have to jet, like now :P
Title: Re: Subjects of Pixel Art
Post by: Takai Soyokaze on September 27, 2006, 08:35:34 pm
Very good everyone! Can't wait to see the next entries...

Somebody should add the style skipper used (with squares) I'll add it if no one else does.
Title: Re: Subjects of Pixel Art
Post by: Ryumaru on September 28, 2006, 12:08:34 am
hooray for the addition of the brick dither, helm.
Title: Re: Subjects of Pixel Art
Post by: Ai on September 28, 2006, 05:14:10 am
An assortment of dithers. Not added directly because the value of a few of them is unlikely:
(http://img.photobucket.com/albums/v449/neota/tech/xdithers.png)

left-to-right, top-to-bottom:

replacement for 'advanced dither' -- which i'd call 'full dither'
jewel dither (unlikely)
scratch dither
alternate generic dither
pointy
(blank)
wavy
22.5 degree

vertical fade
amoeba
clustering dither (this has the maximum coherence of all dithers i've seen.)
diamonds
bubbles
(blanks)

Last time I checked, Neopaint only has two dither algorithyms. One of them is a generic one, the other looks oilpaint-ish ('clustered', it's called). I haven't successfully replicated it yet. 'bubbles' is closest in general appearance to it.
Title: Re: Subjects of Pixel Art
Post by: hawken on September 28, 2006, 09:40:51 am
ah I remember now. One of them was called "Floyd-Steinberg Dithering". I guess thats the algorithm programs still use today.
Title: Re: Subjects of Pixel Art
Post by: Ai on September 28, 2006, 10:48:23 am
The most useful name for Floyd-Steinberg is 'error diffusion'.. it's based on the idea of diffusing color error across spatially adjacent pixels. Of course, that is the essential effect of all dithering, but the salient point is that it is individual-pixel-based and so probably isn't useful or easily reproduceable for pixel artists.
Here is an example which might show you why:
(http://img.photobucket.com/albums/v449/neota/tech/fsdither.png)

Personally, I find it.. prickly and annoying.

Floyd-Steinberg is indeed one of the most commonly used dithering methods in paint programs. The other method is positional dithering, which is based on a dither matrix.

Positional dithering works like this (simplified code):

' dist is the position of this color on the imaginary range between available colors A and B, ranging 0..255
' calculate the coordinates of this point in the dither matrix
mx = x MODULUS dithermatrix_w
my = y MODULUS dithermatrix_h
a_or_b = matrix
if a_or_b > dist:
    finalpixelcolor = colorB
else:
    finalpixelcolor = colorA

Positional dithering is usually done using a Bayer matrix, 16x16 or bigger.
If other choices than those two are presented, they may just be positional dithers with alternate matrices (for instance, dithering for print works differently to dithering for screen display). A number of the ones I posted were done by reconfiguring GIMP's positional dithering to use alternate matrices.

Most dithering methods used in pixel art are primarily positional.
Exceptions mentioned in this thread are style dither and messy diagonal block dither, which are both based on the principle of error diffusion.

Title: Re: Subjects of Pixel Art
Post by: Sohashu on September 28, 2006, 11:44:29 am
Yo.

(http://img165.imageshack.us/img165/7392/dithersis6.png)

Listed left to right, top to bottom:

*Non-progressing Small Triangle Dither
*Diagonal Line Dither
*Wide Circle Dither
*Common Dither





Title: Re: Subjects of Pixel Art
Post by: Ai on September 28, 2006, 01:53:27 pm
Update (16 new dithers, killed some boring ones):
All of these needed larger spaces to show how they worked fully.
(http://img.photobucket.com/albums/v449/neota/tech/xdithers.png)

Row 1:

Alternate generic dither
Pointy
Wavy
22.5 degree
Vertical fade
Amoeba
Clustering
Diamonds

Row 2:
Bubbles

Row 3:
Standard dither (in full size, all commonly useful parts)
Jewel dither (clearly better for larger areas than small)
'Inca'
'Greenwood'
Roof Tiles
Clustered (this is quite close to NeoPaint's algorithym, but not a perfect match.)
'Arkanoid Tyranny'
Waves

Row 4:
Alternate bricks
Leaves
JSW Melty
Manhole
Honeycomb ridges
Scales
Forest, this way down

I have 67 more candidates, currently. I decided to moderate myself.

Sohashu: I like the widecircle one. The 'common dither' differs from the usual Bayer dithering in that it looks less orderly, so it's better for rough areas.
Title: Re: Subjects of Pixel Art
Post by: ptoing on September 28, 2006, 02:03:22 pm
These are all possible ordered dither values possible in a 16x16 pixelfield (basically 257 16x16 squares on top of each other from full black to full white)

4112 pixels tall :B
http://ptoing.net/ditherstrip.png
Title: Re: Subjects of Pixel Art
Post by: Ai on September 28, 2006, 02:52:04 pm
"all possible ordered dither values"
Unfortunately, there can be no such list. Although I agree that 16x16 dithering matrix is more than plenty for pixel art, the matrix can be expanded to arbitrary size  (any NxN where N is a power of two) so all possible ordered dither values is an infinite list.
In my perusal of demoscene art, I decided that 8x8 is probably the maximum useful for pixel art (see 'przystan' by Lazur)

Also, what you are talking about is Bayer dither matrices. A rough guess at the actual number of even 4x4 ordered dither values, comes out to 163,459,296,000. That's when the matrices that aren't really even distribution or non clumping are excluded (ie. most of them), and all the offset/flipped/rotated versions are excluded.

Though I suspect you meant something slightly different by 'ordered' :)
Title: Re: Subjects of Pixel Art
Post by: ptoing on September 28, 2006, 03:49:28 pm
Well yeh this is the general ordered dither you get in DeluxePaint and ProMotion. And I wrote above that I meant within a field of 16x16, of course you could use a 32x32 one and it would be much more but not any different in the end really.
Title: Re: Subjects of Pixel Art
Post by: Hugo on June 19, 2008, 08:25:22 pm
the demoscener Antony used the "twist dither". see his pictures "Attaks", "Alone" and "Joe Kid".
Title: Re: Subjects of Pixel Art
Post by: questseeker on July 25, 2008, 02:40:28 pm
My attempts to respect a 8x32 or 32x32 grid with top-bottom symmetry.

(http://img187.imageshack.us/img187/8711/ditherny3.png)
Title: Re: Subjects of Pixel Art
Post by: crisnmp on January 29, 2009, 10:31:50 pm
These are all possible ordered dither values possible in a 16x16 pixelfield (basically 257 16x16 squares on top of each other from full black to full white)

4112 pixels tall :B
http://ptoing.net/ditherstrip.png (http://ptoing.net/ditherstrip.png)
Sorry for the one year old bump but does anyone still have this? Or something like it.