我当前的渲染器通过顶点的位置和颜色绘制表单。它还不能处理纹理。
struct Form
{
unsigned int Positions, Colors, Elements, Program;
};
现在我想实现纹理的能力。由于在最终游戏中不会有没有纹理但颜色的形式,我想替换颜色功能而不是开发一个并列功能。
所以渲染器现在必须通过顶点的位置和纹理坐标来绘制表单。
struct Form
{
unsigned int Positions, Coordinates, Elements, Texture, Program;
};
到现在为止还挺好。但是,如果无法在没有纹理的情况下进行渲染,如果图像文件不存在或由于某种原因无法加载,我的应用程序将无法绘制表单。因此,如果无法加载图像文件,我想实现回退到给定的纯色(比如粉红色)。
在不完全开发两个并列功能的情况下,如何实现这种回退?有没有通用的方法?我希望这可以在着色器中完成。或者也许我可以将粉红色纹理发送到视频卡,然后将所有形式视为平等。可悲的是,我不知道如何实现它,或者是否有可能。