The XL Engine is and will remain free, donations are purely optional but greatly appreciated.

Recent Comments

As you may have noticed, I’ve switched focus a bit lately. I will continue with the terrain and post results in the relatively near future – much of the work is complete – and it will still be in the Beta as previously discussed. However I’ve spent most of my time lately figuring out gameplay elements, in order to get the final – proper – Daggerfall gameplay in pace for the Beta. This has involved additional testing of Daggerfall as well as debugging the executable running in DosBox and reverse engineering. There will be settings to determine how authentic the Daggerfall experience is in DaggerXL, or how enhanced – with the most authentic settings being very close to DOS Daggerfall – except for fixes to game breaking bugs (and things like modern compatibility, performance and so on that you’ll get from the XL Engine). On the other end of the spectrum you can have texture filtering, bloom, smoother motion and control, extremely long view distances and more. The key is that you can pick and choose how authentic or enhanced you wish your experience to be in different areas. :)

Earlier today I took a small break from all the gameplay stuff to put the various texture filtering options in the engine again. Usually you get the choice between disabling filtering entirely – which gives you the sharp but blocky and jagged look to the textures and bilinear/trilinear which smooths out the jagged edges but blurs out the details in the low resolution textures. For the XL-Engine, I’m adding a third option: “Sharp Bilinear.” ¬†Sharp Bilinear preserves the blocky nature of the original textures but adds smoothing to the edges, giving the cleaner filtered look without blurring out the texture details.

Click on the thumbnails for full size screenshots, the effect is somewhat subtle:

From left to right: Bilinear Upscale + Trilinear, Sharp Bilinear Upscale + Trilinear















Sharp Bilinear Upscale + Anisotropic















As you can see, assuming you looked at the full size images, “Sharp Bilinear” preserves the “pixels” when upscaling the textures but still applies some filtering to avoid aliasing and shimmering as you move around. In my opinion at least, this gives you the best of both worlds and looks much better then pure bilinear for older games with smaller textures. In addition it does not require any additional texture lookups, just some shader code that alters the texture coordinates to adjust the effect of the hardware bilinear filter.

15 Responses to “Debugging and Texture Filtering”

  • nemo:

    Personally, i think the sharp jaggy texture is the best for all old games with 3d view. Why ? Becouse all of them for one have small resolution textures and second reason because most of the old games have a stylized graphics. At that time it wasn’t enough power for realistic look so most of them go to realistic look as much as they can an stylizied it.
    So I like the last one option most – Sharp Bilinear Upscale + Anisotropic. I really hate remakes where developer put automatically billinear or trilinear filtering and the game looks just blurry.

  • nemo:

    bw: great work ! a watch your work a couple of years and befor some other Daggerfall projects, like UESP, dfworkshop. In the past i did some research on Xengine from Bethesda but from different angle, resp. game. I really like to make remake of Terminator series, especially Skynet (the MP was amazing, not technically but feeling and ideas). So do you have some plan on this games ? Or when you realse DaggerXL (maybe with source codes) it will be possible for me to grab code and make it ?

  • Blue Footed Booby:

    The sharp bilinear + aniso looks fantastic. I like that it even looks sharp and pixely in the distance, like that window on the distant house.

  • CJ Holder:

    This is awesome and it looks great. :) Sorry to be “that guy” but when is it likely to see a Linux version? :)

  • Damanslaya:

    Damn another impressive feature to make DaggerXL more complete. Good work, Lucius!

  • Anon:

    Those shots are getting me all nostalgic for the 90s! I appreciate you adding those (rather comprehensive) graphics options, and maintaining a graphical fidelity closer to the original, rather than an attempt to “modernate” it. The “sharp” bilinear sounds like a good compromise for playing full-screen on modern displays, while maintaining the blocky feel.

  • Nightwolf:

    Awesome!!! Glad working is going fine. This is the most anticipated game i want to play!!!

  • Damanslaya:

    Also when you demonstrate the use of Sharp Bilinear Upscale and Anisotropic Feature, will the Anisotropic Filtering itself be adjustable? (2x, 4x, 6x, 8x, 10x, 12x, 14x, 16x…)

    • luciusDXL:

      Yes the level of anisotropic filtering will be adjustable. It’ll be a simple slider and won’t allow you to pick values that the hardware cannot support.

  • elwing:

    Wow, that filtering is great, it look so gorgeous…

    but I’m a bit disappointed not to see a screenshot with a huge draw distance… I can’t wait to look :)

    you’re doing a great work, I can’t wait to finally play that game

  • Simon Buchan:

    Sharper texture looks good. I’m surprised I haven’t seen cubic texture lookup done yet – I know it’s stupidly wasteful for the increase in quality, but I would have thought someone had the pipelines to burn…. I guess you are adding the problem of overshoot though.

  • Edward:

    Any chance we can get the alpha as an Easter present?

  • Michael:

    I don’t suppose you’d be willing to publish how the shader changes the texture coordinates, would you? Because I can think of a few places where this would be an awesome filter to have.

Leave a Reply

The XL Engine is and will remain free, donations are purely optional but greatly appreciated.