@The_Gamesalad_Guru said:
zoom in and i bet you see the 3 tens of a pixel. We need real attributes for smooth movement or you'd get jagged results.
I don't know how to zoom in while previewing...I figure if there was a horizontal line or vertical line it should stand out pretty obvious but didn't see anything
Here i just made an actor 1 pixel wide and 1 pixel width to see if i am able to see it. and i am so i don't see the subpixel rgb values spread at all.
Here I just wanted to see i can see a single pixel width line of rgb(0.3,0.3,0.3) so see if i am able to see it without zooming. and i do..so on mine i can't see subpixel and i don't know why that is.
@tintran it could well be different on windows, but I don't think I see sub pixel rendering on my mac from GS though, various antialiasing/dithering etc yes but no fractional pixels !!!
@The_Gamesalad_Guru said:
It may be a windows version thing. I can't see your project because I use a mac.
So MAC can't open a project created on Windows? I have opened many projects created on MACs before I just get this extra _MACOSX folder that i don't need.
Well my project was really simple
I created 2 default actors made one black,
then in the prototype of the white one change attribute position x and position y to 100
in the prototype of the black one change attribute position x and position y to 100.3
It is obvious the windows version does not support fractional pixels. So motion must look crappy on the windows version or at the very least not as how it will look on the device.
@The_Gamesalad_Guru said:
Yep opens fine and shows up as a GS file not a folder
Weird I tried opening the MACzip file i exported and I don't see a gs project file, like the other projects i opened and there's no _MACOSX folder either ... well as long as people on MACs can open it it's all good I guess
@tmann said:
tintran try 100.5 and over and you will start seeing a single pixel width white line
well that's because it's rounded to the nearest integer 101.
if i set white actor at 99.5, and black actor at 100.4 and that's a 0.9 difference, i don't see any line because they're both at 100
It is obvious the windows version does not support fractional pixels. So motion must look crappy on the windows version or at the very least not as how it will look on the device.
Interesting, I tried on my device and i can see the lines too...(Shake fist a sky @Windows)
The renderer for Mac preview and Windows preview is different. The OS and possibly hardware capabilities are also different.
Sub-Pixel rendering is a bit of a crap shoot, that's why there's a ClearType tuner on Windows, so you can choose the way that works best for your video card/monitor combination. I think there's also a tuner on the Mac but I don't know what it's called.
I don't know if devices are even supporting it anymore since high PPI and different order of colors depending on orientation makes it a bit of a pain.
Positions aren't changing to integers, we just force them to a whole number in the editor since it's more likely what most people want.
Lua doesn't even really have an integer type so if we're doing math with values they can have a fractional part. That doesn't mean a specific behavior won't round values after any intermediate calculations, but I don't really know the specifics of how everything works off the top of my head.
@GeoregeGS thanks for the clarification, so is subpixel rendering currently being carried out on actors on Mac desktop preview as apposed to just antialiasing/smoothing etc?
@tmann said:
GeoregeGS thanks for the clarification, so is subpixel rendering currently being carried out on actors on Mac desktop preview as apposed to just antialiasing/smoothing etc?
I don't know. Generally subpixel and antialiasing mean just about the same thing.
Ok, thanks. I was referring to this https://en.wikipedia.org/wiki/Subpixel_rendering which is normally only used for fonts anyway. So GS handles fractional pixels by antialiasing -could be a problem for very small actors
@GeorgeGS i myself was wondering why we were traveling down this rabbit whole as it's really irrelevant. How math is done under the hood has to do with chip level machine code anyway...lol it's all very pointless.
@tintran said:
The reason is that when i did it on mine, the black square doesn't sit on sub pixels. it completely covered the white square when set to 100.3 and white set to 100.
"bear in mind that the edge pixels of a blank actor in GameSalad (and with any platform using Box2D) will not be anti-aliased - but the rest of the pixels 'inland' will quite happily sit on sub-pixel positions . . . . this doesn't happen with images."
You are just seeing the Box2D edge issue. This is issue does't happen with images, only the very edge pixels of blank actors.
@tintran said:
Here i just made an actor 1 pixel wide and 1 pixel width to see if i am able to see it. and i am so i don't see the subpixel rgb values spread at all.
A 1x1 pixel actor is all edge pixels ! So will be subject to the Box2D edge issue, you need to repeat the experiment with real world graphics/imagery.
[Although I sound like a broken record, lol I'll just repeated what I've already said]
Attributes only define how values are stored they have no bearing on how an actor moves or how a value is interpolated or constrained or otherwise operated on by a calculation - I've given real world examples of integer attributes within GameSalad happily operating on sub-pixel or decimal values (for example the Tile Width attribute).
@tmann said:
tintran it could well be different on windows, but I don't think I see sub pixel rendering on my mac from GS though, various antialiasing/dithering etc yes but no fractional pixels !!!
There is no dithering. Sub-pixel rendering and anti-aliasing are the very same thing.
@tintran said:
if i set white actor at 99.5, and black actor at 100.4 and that's a 0.9 difference, i don't see any line because they're both at 100
They aren't rounded to 100, the actor at 99.5 is at 99.5 and the actor at 100.4 is at 100.4, the reason you can't see a line is because the edge pixels (only the edge pixels) aren't anti-aliased. Try the same experiment with an image rather than a blank actor.
Check out this post from 3.5 years ago ('Clouds'/Tynan was my old user name before I changed to Socks) it describes the issue as it related to rotating images/actors, but its the same Box2D edge issue.
@GeorgeGS said:
Apparently this thread just won't die.
I'm going to dedicate my life to keeping it alive.
@GeorgeGS said:
Positions aren't changing to integers, we just force them to a whole number in the editor since it's more likely what most people want.
I think a whole bunch of ideas are being conflated in this offshoot thread, the orignal notion of changing actor coordinates to integers was dismissed a long time ago, the conversation is about other stuff now (I think !? ).
@GeorgeGS said:
Lua doesn't even really have an integer type so if we're doing math with values they can have a fractional part.
That's what I've been trying to say for a while, when performing calculations on an attribute you are not limited to whole number values, even if the value you are dragging through some calculation/equation started life as an integer value it can still produce decimal places ("they can have a fractional part").
Which returns us to the original (entirely hypothetical) question of if an actor's coordinates were to be stored as integer values rather than real values would this impact on the way GameSalad then - for example - constrains the actor's movement or interpolates the actor's position, and so on, basically would this impact on any process whereby the actor is required to move through sub-pixel positions (= where the attribute's value would need to take on decimal place values) . . . . my view is that it would have no impact at all, and there are even clear example of this happing (i.e. you can happily interpolate Tile Width - an integer attribute - through decimal values).
Anyhow, this is all just an academic discussion now, although some of these issues do underly a few misconceptions that pop up of the forum now and then.
@tmann said:
GeoregeGS thanks for the clarification, so is subpixel rendering currently being carried out on actors on Mac desktop preview as apposed to just antialiasing/smoothing etc?
Comments
I don't know how to zoom in while previewing...I figure if there was a horizontal line or vertical line it should stand out pretty obvious but didn't see anything
Here i just made an actor 1 pixel wide and 1 pixel width to see if i am able to see it. and i am so i don't see the subpixel rgb values spread at all.
Here I just wanted to see i can see a single pixel width line of rgb(0.3,0.3,0.3) so see if i am able to see it without zooming. and i do..so on mine i can't see subpixel and i don't know why that is.
Strongly agree!
Only the GS devs can confirm what methods they are using and on which platforms
https://en.wikipedia.org/wiki/Subpixel_rendering
http://forums.gamesalad.com/discussion/comment/60858/#Comment_60858
Maybe on a MAC, it's different. not too sure but I am on Windows.
@tintran it could well be different on windows, but I don't think I see sub pixel rendering on my mac from GS though, various antialiasing/dithering etc yes but no fractional pixels !!!
It may be a windows version thing. I can't see your project because I use a mac. I know GS uses openGL on the mac version.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
So MAC can't open a project created on Windows? I have opened many projects created on MACs before I just get this extra _MACOSX folder that i don't need.
Well my project was really simple
I created 2 default actors made one black,
then in the prototype of the white one change attribute position x and position y to 100
in the prototype of the black one change attribute position x and position y to 100.3
I believe there is a specific export for mac on the windows version. I haven't touched a PC in decades..lol
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Just stick .gameproj on the windows folder name seems to work fine
eg http://forums.gamesalad.com/discussion/comment/547584/#Comment_547584
Yeah I just found that thanks
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
It is obvious the windows version does not support fractional pixels. So motion must look crappy on the windows version or at the very least not as how it will look on the device.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
I see the export, just trying to see if it works exporting to MAC creator.zip. Let me know if you can open in in MAC.
Yep opens fine and shows up as a GS file not a folder
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
Weird I tried opening the MACzip file i exported and I don't see a gs project file, like the other projects i opened and there's no _MACOSX folder either ... well as long as people on MACs can open it it's all good I guess
@tintran try 100.5 and over and you will start seeing a single pixel width white line
well that's because it's rounded to the nearest integer 101.
if i set white actor at 99.5, and black actor at 100.4 and that's a 0.9 difference, i don't see any line because they're both at 100
@tintran yes I did know that but I thought you were having some kind of issue after reading this post http://forums.gamesalad.com/discussion/comment/547515/#Comment_547515 as if you were expecting to see fractions of pixels
Interesting, I tried on my device and i can see the lines too...(Shake fist a sky @Windows)
Apparently this thread just won't die.
The renderer for Mac preview and Windows preview is different. The OS and possibly hardware capabilities are also different.
Sub-Pixel rendering is a bit of a crap shoot, that's why there's a ClearType tuner on Windows, so you can choose the way that works best for your video card/monitor combination. I think there's also a tuner on the Mac but I don't know what it's called.
I don't know if devices are even supporting it anymore since high PPI and different order of colors depending on orientation makes it a bit of a pain.
Positions aren't changing to integers, we just force them to a whole number in the editor since it's more likely what most people want.
Lua doesn't even really have an integer type so if we're doing math with values they can have a fractional part. That doesn't mean a specific behavior won't round values after any intermediate calculations, but I don't really know the specifics of how everything works off the top of my head.
@GeoregeGS thanks for the clarification, so is subpixel rendering currently being carried out on actors on Mac desktop preview as apposed to just antialiasing/smoothing etc?
I don't know. Generally subpixel and antialiasing mean just about the same thing.
Ok, thanks. I was referring to this https://en.wikipedia.org/wiki/Subpixel_rendering which is normally only used for fonts anyway. So GS handles fractional pixels by antialiasing -could be a problem for very small actors
@GeorgeGS i myself was wondering why we were traveling down this rabbit whole as it's really irrelevant. How math is done under the hood has to do with chip level machine code anyway...lol it's all very pointless.
Guru Video Channel | Lost Oasis Games | FRYING BACON STUDIOS
"bear in mind that the edge pixels of a blank actor in GameSalad (and with any platform using Box2D) will not be anti-aliased - but the rest of the pixels 'inland' will quite happily sit on sub-pixel positions . . . . this doesn't happen with images."
You are just seeing the Box2D edge issue. This is issue does't happen with images, only the very edge pixels of blank actors.
A 1x1 pixel actor is all edge pixels ! So will be subject to the Box2D edge issue, you need to repeat the experiment with real world graphics/imagery.
[Although I sound like a broken record, lol I'll just repeated what I've already said]
Attributes only define how values are stored they have no bearing on how an actor moves or how a value is interpolated or constrained or otherwise operated on by a calculation - I've given real world examples of integer attributes within GameSalad happily operating on sub-pixel or decimal values (for example the Tile Width attribute).
There is no dithering. Sub-pixel rendering and anti-aliasing are the very same thing.
They aren't rounded to 100, the actor at 99.5 is at 99.5 and the actor at 100.4 is at 100.4, the reason you can't see a line is because the edge pixels (only the edge pixels) aren't anti-aliased. Try the same experiment with an image rather than a blank actor.
Check out this post from 3.5 years ago ('Clouds'/Tynan was my old user name before I changed to Socks) it describes the issue as it related to rotating images/actors, but its the same Box2D edge issue.
http://forums.gamesalad.com/discussion/37611/actors-and-bad-antialiased-edges-when-rotating#latest
I'm going to dedicate my life to keeping it alive.
I think a whole bunch of ideas are being conflated in this offshoot thread, the orignal notion of changing actor coordinates to integers was dismissed a long time ago, the conversation is about other stuff now (I think !? ).
That's what I've been trying to say for a while, when performing calculations on an attribute you are not limited to whole number values, even if the value you are dragging through some calculation/equation started life as an integer value it can still produce decimal places ("they can have a fractional part").
Which returns us to the original (entirely hypothetical) question of if an actor's coordinates were to be stored as integer values rather than real values would this impact on the way GameSalad then - for example - constrains the actor's movement or interpolates the actor's position, and so on, basically would this impact on any process whereby the actor is required to move through sub-pixel positions (= where the attribute's value would need to take on decimal place values) . . . . my view is that it would have no impact at all, and there are even clear example of this happing (i.e. you can happily interpolate Tile Width - an integer attribute - through decimal values).
Anyhow, this is all just an academic discussion now, although some of these issues do underly a few misconceptions that pop up of the forum now and then.
Anti-aliasing is sub-pixel rendering !