在一个充满来自 D3DX 的 Sprite 对象的 Direct3D 应用程序中,我希望能够全局调整亮度和对比度。如果可能的话,对比很重要。
我在这里看到了这个关于 OpenGL 的问题: Tweak the brightness/gamma of the whole scene in OpenGL
但这并没有给我在 DirectX 上下文中需要的东西。我知道这也是我可以用像素着色器做的事情,但这似乎就像用火箭筒射击苍蝇一样,我担心与旧 GPU 的向后兼容性,这些 GPU 必须在软件中执行任何着色器。看起来这应该是可能的,我记得在着色器时代之前,甚至像原来的半条命这样的更老的游戏也有这样的设置。
编辑:另外,请注意,这不是一个全屏应用程序,所以这需要只是影响一个 Direct3D 设备,而不是整体显示器的全局设置。