• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Anti aliasing

I

Insanebrio

Guest
Hi everyone. In the last times i started learning how to make smooth graphics and animations with spine. However, I noticed that GMS does not have a default anti aliasing (AA). The interpolation within pixels is not an AA but part of the anti aliasing, and alone creates bad effects expecially on small immages and when you move the view or some objects you see some pixelation. The only aa shader (the free ffxa) is only sightly better than the interpolation. Theres any other aa shader (even not free) for game maker? Is the yoyogames team going to add a base anti aliasing on the engine? Atm i started to thing that you can only make pixel art games with game maker and thats quite bad onestly.
 

jazzzar

Member
Hi everyone. In the last times i started learning how to make smooth graphics and animations with spine. However, I noticed that GMS does not have a default anti aliasing (AA). The interpolation within pixels is not an AA but part of the anti aliasing, and alone creates bad effects expecially on small immages and when you move the view or some objects you see some pixelation. The only aa shader (the free ffxa) is only sightly better than the interpolation. Theres any other aa shader (even not free) for game maker? Is the yoyogames team going to add a base anti aliasing on the engine? Atm i started to thing that you can only make pixel art games with game maker and thats quite bad onestly.
i don't know about AA if it's gonna be made a thing into game maker but i believe there is lots of games that are not pixel art which were made with game maker
 

jazzzar

Member
display_reset(aa, vsync);
GM supports 0, 2, 4, and 8x AA. Some platforms don't support more than 2x though.
omg how did this function slip from my hands :eek::cool:
EDIT : NEVERMIND, it's useless for me, i checked display_aa on my s6 and it's returning 0, just like the galaxy note 4 edge, i'm surprised to see that such high end devices doesn't even support AA :(
 
Last edited:
D

Drewster

Guest
omg how did this function slip from my hands :eek::cool:
EDIT : NEVERMIND, it's useless for me, i checked display_aa on my s6 and it's returning 0, just like the galaxy note 4 edge, i'm surprised to see that such high end devices doesn't even support AA :(
I was going to say that many "high end" android devices are not really that high end, but that DOES surprise me.
 
I

Insanebrio

Guest
display_reset(aa, vsync);
GM supports 0, 2, 4, and 8x AA. Some platforms don't support more than 2x though.
That thing (at least for me) does nothing on the game, both on fullscreen and windowed. And my display_aa is 8...
Unity for example (dont hate me ) has its own anti-aliasing and it works.
 
I

Insanebrio

Guest
on unity works on 2d images too. Are you telling me that aa on gms works only for 3d?
 

Roa

Member
GMS's AA works perfectly. Sounds like you are wanting your sprites to be smoothed out. Sprites are textures. AA doesn't touch textures.
Not entirely true. Game Makers AA seems to be some sort of general contrast full screen stuff. Its noticeable on 3d edges for sure, but I've also noticed very slight changes to texture data with AA on, a very fine blending on the outmost pixels that share heavy contrast. I think its a weird mix of MSAA and FXAA
 

Roa

Member
@Roa - you're not thinking of interpolation are you? That does soften Sprite textures.
I dont think so. texture_set_interpolate is seperate from display_reset unless it reactivates it?
I'm pretty confident its a full screen AA with some edge enhancements. I'll have to check again when I get up, do some test. Unless you want to?
 

Mike

nobody important
GMC Elder
AA effects polygon edges. You can't anti-alias polygon internals. You can do AA on SWF images, as these are vectors.

You can also (obviously) soften the edges of sprite images, and it'll give you a pretty good AA look.
 

GMWolf

aka fel666
AA effects polygon edges. You can't anti-alias polygon internals. You can do AA on SWF images, as these are vectors.

You can also (obviously) soften the edges of sprite images, and it'll give you a pretty good AA look.
That depends on the AA thechnique used. if its screen psace aa (like ssaa, fxaa, etc) it wil indiscriminately smooth jaggies.

I like to have more control over my aa, so i like to add my own shader (probably slower, but eh. i dont tend to have graphics lag).
 

Roa

Member
That depends on the AA thechnique used. if its screen psace aa (like ssaa, fxaa, etc) it wil indiscriminately smooth jaggies.

I like to have more control over my aa, so i like to add my own shader (probably slower, but eh. i dont tend to have graphics lag).
Yeah, that's what I thought it was. There is more than just geometry edge sampling out there now days. You have full screen AA and general AA that smooths pixels that have higher contrast from its neighbors.

But if mike says Its only edge sampling in gamemaker, then I guess its only edge sampling. Curious to know the exact method.
 

Mike

nobody important
GMC Elder
GameMaker only enables hardware based AA - which is edge based, what you do in a shader is up to you. :)

Have to say, not a fan of FXAA, just looks like a "blur" to me....
 

Roa

Member
GameMaker only enables hardware based AA - which is edge based, what you do in a shader is up to you. :)

Have to say, not a fan of FXAA, just looks like a "blur" to me....
yeah, its ugly but its fast. Can't stand it myself honestly. iI gamemaker's multi sample or super sample?
 

GMWolf

aka fel666
I find FXAA shines in some situations. When you have very clear sharp edges, with not much in terms of texture, I get alright results.
Naturally, it is actually a blur. Just a targeted blur.

The best option is still to allow the user to selectthe preferred method.
 
A

Andy

Guest
If you turn AA on in the Global Game Settings, what level of AA will it be using (0, 2, 4, and 8x AA)?
 
I

Insanebrio

Guest
From what i understood, Game maker can turn on and off the computer basic aa, but (unlike unity) theres not a software built in
aa, so if you need it you have to write or get an aa shader
 
I

Insanebrio

Guest
If you turn AA on in the Global Game Settings, what level of AA will it be using (0, 2, 4, and 8x AA)?
You can choose what level of the base antialiasing to use with display_reset, and check the maximus aa of the display with display_aa
 
B

Beechbone

Guest
If you turn AA on in the Global Game Settings, what level of AA will it be using (0, 2, 4, and 8x AA)?
I believe the "Interpolate colours between pixels" option in GGS will set it to 0. Taken from manual: "The available anti-aliasing levels are 0,2,4 and 8, with the default startup value being set to 0..."
I also did some tests on my project where setting aa_level to 0 gave me the same result as not using the function at all, while setting aa_level to 2 was immediately apparent in smoother graphics. That's both with GGS option toggled on.

I'm just wondering if there's a way to just use higher AA as default without the need to reset the display.
 

DukeSoft

Member
It seems like display_reset() also resets the texture interpolation setting.

Can someone explain to me (@Mike perhaps) what happens internally when you mix texture_set_interpolation and display_reset? The docs tell me nothing, yet when i have interpolation enabled and switch on 8x AA, my sprite lines get pixely again. When i immediately call texture_set_interpolation after the display_reset() it still doesn't work - i'll have to wait a few steps before i can enable it and it removes the pixely lines..
 
Top