This is a continuation of the other topic:
http://enigma-dev.org/forums/index.php?topic=2000.0I have been so busy lately that I had to put this on hold for a while. Today I completed the 2nd and final version of a test project and an update to my fix. It was established that with the fix applied people with NVIDIA, AMD, INTEL, had no problems viewing fonts in my test project. However, I discovered an issue on my own when working on v2 of my test project, vertical scrolling had a 1px gap that flickered. this was not even caused by the fix as I saw it even with all offsets removed, so I updated the fix to address this issue as well.
After rigorous testing on my end with my 2 PCs plus old boards, the results were positive 100%, in theory this will fix all fonts problem, regardless of font and size used and will fix any issues with scrolling. For those that have graphic cards that had no problems before, the fix will not have any adverse effects and everything should work just fine.
I am submitting a new EXE file for people to try out. Same drill. I would please ask you to run the program and follow the instructions. I've added a menu and it's pretty much self explanatory. Please go through every menu option.
Here are some guidelines:
For fonts, after a lot of trial/error/testing I have cherry picked the most problematic fonts and combination of letters/numbers/sizes. You will see 3 sections for fonts, section A which is live render, which is what the engine is currently rendering on your screen. Section B is a pre-rendered sprite demonstrating what the font should NOT look like, and section C is a pre-rendered sprite showing what the font should look like. So section A should look like section C, if your section A looks like B, this is not good, so please take note.
Ignore the fact that each line is shifted slightly to the right. This was done intentionally for testing purposes. Also ignore any uneven spacing or thickness, again, this is not an issue with ENIGMA but scaling low res fonts on high resolution display + your monitor's upscaling. The issue to look for here is artifacts, as demonstrated in section B.
-------------------------------------
Scrolling, for this test, the program will switch to full screen mode, and show 2 scrolling backgrounds simultaneously, look closely for at least 30 seconds to a minute, for any 1px or more empty gap at the seams of the horizontal or vertical backgrounds. If there is a gap you will see a black flickering line at the seam. In theory this fix should NOT introduce scrolling glitches, but should fix one that was present even without the offsets.
-----------------------------------
Border test, this fix should cause any unwanted borders, but I included it just to be sure. Follow the instructions on screen.
---------------------------------------
Sprites testing, having different instances of sprites scroll in different directions at random positions and alpha settings. Again, the fix should not have any effect on this, but decided to include it to be sure
If you notice anything unusual such as lines at adges of sprites (such as seen with fonts before the fix) or flickering or you get abducted by aliens, take note
------------------------------------------------
Whether you have any issues or not please report with the following information:
1) As much details as possible as to what IS or IS NOT working for you (FONTS, SCROLLING, BORDERS, etc.) Please make sure you have understood and followed the instructions first.2) Your OS, GPU type (NVIDIA, AMD, INTEL, etc) and model if possible along with driver revision (if possible).3) Your monitor resolution used to run the test project.If you test on many configurations you can make separate reports or include them in the same one.
I will start first as an example of a valid report:
multi configuration testing:
1) No issues at all with fonts, sprites, borders or scrolling on any setup.
2) Windows 7 64bit SP1
NVIDIA EVGA GTX 660Ti SC 2GB (337.88 WHQL)
INTEL HD4000 (iGPU)
Windows XP 32bit SP3
NVIDIA BFG 8800GTS OC 320MB (306.81)
3) Testing range 640x480 ~ 1920x1080 (Native)
(note that I have extensively tested this, so I am not asking you to test all resolutions).
--------------------------------------
Thanks once again. Once it is confirmed that people with different setups have successfully run my project and not noticed any anomalies as described herein, then we can go ahead and implement the fix inside ENIGMA. Test #1 worked for everyone, so I am anticipating #2 will work for everyone as all I have done is add Y offset .01, so now d3d projection ortho X/Y offsets are 0.01/0.01, this is likely helping with rounding issues on some GPUs. I have compiled this EXE with a modified source where I added my fixes to the source CPP. It is important that the fixes be included in the CPPs and not done yourself inside your projects as this can be problematic in certain situations. So I added the fix to GLMatrix.cpp and I can confirm that the fix also works for GL3, so I modified GL3Matrix.cpp as well.
When running this test I highly recommend you have the latest GPU drivers installed. DISCLAIMER: If you don't feel comfortable updating drivers, don't do it, or do so at your own risk and peril
I am not responsible if your system crashes, fucks up, or anything deemed abnormal caused by updating your GPU drivers or any loss of sleep, alien abduction or otherwise.
Thanks for your help, and hopefully this can be merged and we can move on to other bugs
This one was a real pain in the arse!
Current version of enigma contains erronous offsets in the GL matrix, I don't know why these have not been removed as it was established they did not work for everyone
Anyhow.
I am including the EXE, zipped.
Now I don't give a shit who's fault it is and who has a better GPU this will not be a debate on who has a bigger penis ! The goal here is to make sure everyone who runs this test is seeing the same good results
Cheers
Download here:
https://www.dropbox.com/s/2i4ff9znwdad6tl/OpenGL1FixTesting-V2-Final.zip//edit: Don't run the EXE from the other topic "Phase 1/2" The revision 2 is more advanced and includes all test, so for those who did not run v1, please don't and skip to this v2. Thanks.