创建后更改GameWindow的GraphicsMode

时间:2019-01-20 20:19:24

标签: c# opengl opentk

可以在samples中创建GameWindow期间指定OpenTK的数量。在下面的代码中,samples设置为4(GraphicsMode构造函数的最后一个参数)

class MainWindow : GameWindow {
    MainWindow() : base(1920, 1080, new GraphicsMode(new ColorFormat(8), 8, 8, 4)) {
    }
}

创建窗口后是否可以更改该数字?我想这样做是为了在游戏设置中实现一个用于多重采样的选项。

1 个答案:

答案 0 :(得分:1)

简短回答:否

长答案:GraphicsMode用于创建基础平台特定的窗口,仅此而已; GameWindow不会存储任何信息,因此无法对其进行修改。所述特定于平台的窗口存储在ReadOnly变量中,因此您也不能对其进行修改。

从我所做的简短研究来看,似乎OpenGL不允许您在创建后更改帧缓冲区的多采样设置。

如果要更改GraphicsMode,则必须在用户更改设置后重新创建GameWindow(这是绝大多数游戏处理它的方式)。