C# 更改游戏窗口';创建后的图形模型

C# 更改游戏窗口';创建后的图形模型,c#,opengl,opentk,C#,Opengl,Opentk,在OpenTK中创建GameWindow期间,可以指定样本的数量。在下面的代码中,samples设置为4(GraphicsMode构造函数的最后一个参数) 是否可以在创建窗口后更改该数字?我想这样做是为了在游戏设置中实现一个多采样选项。简短回答:否 详细回答:GraphicsMode用于创建特定于平台的底层窗口,仅此而已;GameWindow不存储任何信息,因此无法修改。所述平台特定窗口存储在只读变量中,因此您也不能修改该变量 从我所做的大量研究来看,OpenGL似乎不允许您在创建帧缓冲区后更改

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

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

简短回答:否

详细回答:GraphicsMode用于创建特定于平台的底层窗口,仅此而已;GameWindow不存储任何信息,因此无法修改。所述平台特定窗口存储在只读变量中,因此您也不能修改该变量

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

如果你想更改GraphicsMode,你必须在用户更改设置后重新创建游戏窗口(这是绝大多数游戏的处理方式)

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