创建后更改 GameWindow 的 GraphicsMode
Change GameWindow's GraphicsMode after creation
在OpenTK
中创建GameWindow
时可以指定samples
的数量。在下面的代码中 samples
设置为 4(GraphicsMode
构造函数的最后一个参数)
class MainWindow : GameWindow {
MainWindow() : base(1920, 1080, new GraphicsMode(new ColorFormat(8), 8, 8, 4)) {
}
}
是否可以在 window 创建后更改该数字?我想这样做是为了在游戏设置中实现多重采样选项。
简答:否
长答案:GraphicsMode 用于创建特定于平台的底层 window,仅此而已; GameWindow 不存储任何信息,因此无法修改。特定于平台的 window 存储在 ReadOnly 变量中,因此您也无法修改它。
从我所做的少量研究来看,OpenGL 似乎不允许您在创建帧缓冲区后更改它的多重采样设置。
如果您想更改 GraphicsMode,则必须在用户更改设置后重新创建您的 GameWindow(这是绝大多数游戏的处理方式)。
在OpenTK
中创建GameWindow
时可以指定samples
的数量。在下面的代码中 samples
设置为 4(GraphicsMode
构造函数的最后一个参数)
class MainWindow : GameWindow {
MainWindow() : base(1920, 1080, new GraphicsMode(new ColorFormat(8), 8, 8, 4)) {
}
}
是否可以在 window 创建后更改该数字?我想这样做是为了在游戏设置中实现多重采样选项。
简答:否
长答案:GraphicsMode 用于创建特定于平台的底层 window,仅此而已; GameWindow 不存储任何信息,因此无法修改。特定于平台的 window 存储在 ReadOnly 变量中,因此您也无法修改它。
从我所做的少量研究来看,OpenGL 似乎不允许您在创建帧缓冲区后更改它的多重采样设置。
如果您想更改 GraphicsMode,则必须在用户更改设置后重新创建您的 GameWindow(这是绝大多数游戏的处理方式)。