我有一个使用 OpenGL 进行显示的游戏引擎。我为它编写了一个小菜单,然后我在渲染文本后发现了一些奇怪的东西。 http://img43.imageshack.us/i/garbagen.png/
如您所见,字体有点不可读,但较低的部分(如“测试”)看起来符合预期。似乎屏幕上的位置会影响可读性,因为边缘会被切割。字体是 9x5,我将这个值除以 2 以获得宽度/高度并从中心渲染对象。因此,对于 4.5x2.5 像素(我对简单矩形的 x、y、宽度和高度使用浮点数),如果在 x.5 左右以外的地方渲染纹理就会混乱。但是,它目前仅在两台计算机上执行此操作,但我不希望出现此错误,因为它会使文本不可读。我可以使它成为 4.55x2.55(通过在除以 2 时增加一点额外的大小),然后它在所有机器上都能充分呈现(或者至少在有问题的两台机器上不会经常发生),但我担心这个是一个太粗暴的hack,不能完全解决问题,它可能会放大文本,使字体看起来……“胖”。所以我的问题是......有什么办法可以防止这种情况发生,而不是将这些值交换为整数?(相比之下,我需要浮动提供的细微差别)。我可以找出哪些宽度/高度可以被 2 整除,而那些不能被 2 整除的则以不同的方式处理它们?如果确实是显卡问题,是否有可能绕过它?对不起,如果这个问题有什么不足之处,我不会经常求助于互联网,我也没有编码研究。我很乐意提供任何可能需要的代码行或代码块。并且不将这些值交换为整数?(相比之下,我需要浮动提供的细微差别)。我可以找出哪些宽度/高度可以被 2 整除,而那些不能被 2 整除的则以不同的方式处理它们?如果确实是显卡问题,是否有可能绕过它?对不起,如果这个问题有什么不足之处,我不会经常求助于互联网,我也没有编码研究。我很乐意提供任何可能需要的代码行或代码块。并且不将这些值交换为整数?(相比之下,我需要浮动提供的细微差别)。我可以找出哪些宽度/高度可以被 2 整除,而那些不能被 2 整除的则以不同的方式处理它们?如果确实是显卡问题,是否有可能绕过它?对不起,如果这个问题有什么不足之处,我不会经常求助于互联网,我也没有编码研究。我很乐意提供任何可能需要的代码行或代码块。