我们组的项目中,窗口设计中使用到了SDL库。通过调用SDL库提供的窗口函数+Opengl完成了窗口设计。
首先贴出我们组的窗口创建函数的主要代码。
bool Window::Initialize(std::string window_title,
int window_width,
int window_heihgt) {
// 设置属性
window_title_ = window_title;
window_width_ = window_width;
window_height_ = window_heihgt;
// 初始化SDL
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
std::cout << "SDL could not initialize: " << SDL_GetError() << std::endl;
return false;
}
// 如果使用OpenGL为渲染API
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
// 创建SDL窗口
window_ = SDL_CreateWindow(window_title.c_str(),
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
window_width,
window_heihgt,
SDL_WINDOW_OPENGL);
if (windo