BladeJunker, on Fri Feb 24, 2012 4:10 PM, said:
So if I use only one bit width that would work better overall to the efficiency of the kernel.
A playfield pixel is 4 color clocks wide, so if you draw the bulk of the circle with the playfield, the only reason to use the ball and a missile is to be able to shift the left and right edges of the circle by *less* than 4 color clocks-- 1, 2, or 3 color clocks. If you let the ball and missile overlap the playfield pixels, you can leave them set to a width of 4 color clocks-- so you don't need to worry about changing their widths while drawing the circle-- and then shift them left or right as needed to get the finer horizontal resolution for the edges. On some lines the ball and missile will completely overlap a playfield pixel. On other lines they'll overlap the playfield for 3 color clocks but will jut out beyond the playfield for 1 color clock. On other lines they'll overlap for 2 color clocks and jut out for 2 color clocks. On other lines they'll overlap for 1 color clock and jut out for 3 color clocks. Then when you reach the point where the ball and missile would jut out for 4 color clocks, you just extend the playfield another pixel so they're back to overlapping for all 4 color clocks. I'm assuming the topmost and bottommost lines of the circle will be at least 4 color clocks wide.
Quote
I lowered the resolution based on 4 CCs but I think all 3 bits are needed for the bottom and peak of the circle if Playfield and Bits differ in line thickness.
The kernel would be easier to draw if the playfield's vertical resolution is the same as the ball's and missile's.
Quote
Most of the exceptions to a circle kernel are found at the north and south end of the circle are related to the needs of a "perfect circle" primarily line kernel thickness versus the mostly vertical aspect ratio stretch. I test things for 4:3 in paint programs then measure and eyeball it to get equally wide and tall shapes but I did do the math once and it wasn't exactly a pixel divisible value lol, so I had to approximate.
The aspect ratio of a color clock (often referred to as a "pixel") on the 2600 is roughly 5:3. Assuming that Paint's pixels are square or have an aspect ratio of 1:1 (which really depends on the screen resolution of the desktop), then if you draw an oval with an aspect ratio of 3:5 in Paint-- say, 300 pixels wide and 500 pixels tall-- you can convert the drawing to pixel data. When you draw that same oval on the 2600, it should come out very close to a circle due to the pixels being wider than in Paint. Of course, the 2600's drawing area is usually only 192 scan lines or so. Just multiply the desired height in scan lines by 3 and divide by 5 to get the width:
192 lines tall x 3 = 576, 576 / 5 = 115.2 color clocks wide
191 lines tall x 3 = 573, 573 / 5 = 114.6 color clocks wide
190 lines tall x 3 = 570, 570 / 5 = 114.0 color clocks wide *
etc.
The best choices would be where the height is a perfect multiple of 5 lines, so the ideal width is a whole number of color clocks:
190 lines x 3 = 570, 570 / 5 = 114 color clocks
185 lines x 3 = 555, 555 / 5 = 111 color clocks
180 lines x 3 = 540, 540 / 5 = 108 color clocks
etc.
Quote
Okay here's something I forgot to ask, can you set different objects to different line kernel thicknesses or is it a global setting for all objects when rendering occurs?
If I understand your question correctly, there is nothing in the hardware that says the lines must all be the same thickness (vertical resolution). This really depends on how you construct your kernel as required for your game. Let's suppose you're using a 1-line kernel, to get a maximum vertical resolution of 192 lines. You don't need to store the data for each line, but again it depends on how you want to construct your kernel.
Quote
Also in your opinion do you think 4 CCs would be the best standard width for bits being used for Playfield smoothing on the 2600, by that I mean would my original circle of maximum crispness or resolution be more appropriate on the 5200 or 7800?
A width of 4 color clocks would be standard if you're letting the ball or missile overlap the playfield, since that will let you get the interim positions. That is, the playfield pixels are 4 color clocks wide, so you can get positions every 4 color clocks using just the playfield, and the ball and missile would let you get the interim positions, as described above by how many color clocks are overlapping with a playfield pixel.