纹理文件中的平滑alpha渐变存在一些问题,导致绑定问题。
我有一个2D XNA WP7游戏,我想出了一个相当简单的照明系统。我在单独的RenderTarget2D中绘制将被灯光照亮的区域,当您远离光线时应用精灵来调暗边缘,然后将最终照明图像与主图像混合以使某些区域更暗更亮。
这是我到目前为止所得到的:
正如你所看到的,绑扎非常糟糕。 alpha透明度在源图像中非常平滑,但每当我绘制精灵时,它会在颜色之间获得这些巨大的难看的步骤。只是为了检查我用正常的阿尔法混合将聚光灯面罩直接画到场景上,我仍然有条纹。
绘制精灵时有没有办法保持平滑的alpha渐变?
答案 0 :(得分:1)
不,你不能。 WP7手机目前使用16位色域系统。一个像素得到:5个红色位,5个蓝色,6个绿色(人类看到更广泛的绿色)。绘制精灵时有没有办法保持平滑的alpha渐变?
答案 1 :(得分:1)
发现使用Mango,应用程序现在可以指定它们支持32bpp,并且它可以在支持它的设备上运行!
对于XNA,请将此行放在OnNavigatedTo
:
SharedGraphicsDeviceManager.Current.PreferredBackBufferFormat = SurfaceFormat.Color;
对于Silverlight,将BitsPerPixel="32"
添加到App
中的WMAppManifest.xml
元素。