XRoar Anti-aliasing

A place to discuss everything Dragon related that doesn't fall into the other categories.
Post Reply
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

XRoar Anti-aliasing

Post by admin »

I seem to be distracted by the anti-aliasing when I use XRoar. Both window mode and fullscreen.
I have checked the different video drivers on linux but none give me pure blocky graphics.
Is there any way of switching off anti-aliasing? Am I right in remembering that the real dragon 32 did not have anti-aliasing?
Cheers!
Simon Hardy
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar Anti-aliasing

Post by sixxie »

It's the use of GL_LINEAR when scaling the texture in OpenGL. Using GL_NEAREST instead would be what you want, but if the scaling isn't an exact multiple, it looks pretty terrible. I could make it switchable. Alternately, if SDL is able to switch resolutions for full-screen, "-vo sdl" might do it? Though it won't be scalable in windowed mode then.

As for original hardware, well no it wouldn't have actively antialiased, but you'd get quite a similar effect from viewing it on a television! Worse, probably: alternating vertical lines of different colour (in SG24, for example) mixed up quite well on PAL displays.
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

Re: XRoar Anti-aliasing

Post by admin »

sixxie wrote:It's the use of GL_LINEAR when scaling the texture in OpenGL. Using GL_NEAREST instead would be what you want, but if the scaling isn't an exact multiple, it looks pretty terrible. I could make it switchable. Alternately, if SDL is able to switch resolutions for full-screen, "-vo sdl" might do it? Though it won't be scalable in windowed mode then.

As for original hardware, well no it wouldn't have actively antialiased, but you'd get quite a similar effect from viewing it on a television! Worse, probably: alternating vertical lines of different colour (in SG24, for example) mixed up quite well on PAL displays.
Just the info I needed! Replacing GL_LINEAR with GL_NEAREST in video_sdlgl.c did the trick and IMHO looks way better and I can't understand why anyone would want it any other way! (apart from the scaling issue you mention (can you explain more about this?) - which I don't have)
I did try "-vo sdl" and the windowed xroar looked good but fullscreen was not real fullscreen, I think the aspect ratio was off and there was abit of anti-aliasing.

If you do make this switchable in the next version then you'd save me time patching the code before compiling!

Anyway, thank you very much for the quick solution! :)
Simon Hardy
sixxie
Posts: 1348
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: XRoar Anti-aliasing

Post by sixxie »

(apart from the scaling issue you mention (can you explain more about this?) - which I don't have)
You don't? Hmm, maybe it depends on graphics card.

If you scale 256 pixels to, say, a window 384 pixels wide (1.5 times the width), then if you don't antialias, you'll end up with one pixel being represented by two on-screen pixels, and the next represented by one - makes most things look pretty bad. If your card isn't doing that even with GL_NEAREST, what does it look like it is doing?
admin
Site Admin
Posts: 410
Joined: Thu Jul 17, 2008 10:22 pm

Re: XRoar Anti-aliasing

Post by admin »

When I resize the windowed xroar to odd dimensions I notice the scaling issue you mention.
The fullscreen looks very good - tho I do notice there is something happening. It is not exactly 100% hard edges. Either it is minimal anti-aliasing, my LCD screen or my eyes. I wish I could take a snapshot now and send it to you - my gimp refuses to take a snapshot when xroar is in fullscreen mode.
Simon Hardy
Post Reply