Хотел показать процесс выполнения одной ёмкой функции (ну, который рисовал бы "осталось ... из ...") отдельным потоком, но обнаружил, что я не могу заставить
OpenGL рисовать в отдельном потоке
Boots
При этом
кодvoid f(){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex2i(-200,-200);
glVertex2i(200,200);
glEnd();
glfwSwapBuffers(app.window);//меняет буфферы - функция GLFW
}
int main(){
glfwInit();
GLFWwindow* window=prepare(400,400);//prepare - пользовательский; создаёт окно, подключает callback... не в нём дело, и обнаружил в другом месте (могу потом выложить)
f();
return 0;
}
работает, а в
похожем кодеvoid f(){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex2i(-200,-200);
glVertex2i(200,200);
glEnd();
glfwSwapBuffers(app.window);//меняет буфферы - функция GLFW
}
int main(){
glfwInit();
GLFWwindow* window=prepare(400,400);//prepare - пользовательский; создаёт окно, подключает callback... не в нём дело - тестировал Очень далеко от него
boost::thread th(f);
th.join();
return 0;
}
свою задачу, похоже, выполняет только
glfwSwapBuffers() (отрывок взял для примера; да, так он тоже не работает)
Вам приходилось успешно совмещать
Boost.Thread с
OpenGL ?
В чём может быть косяк?
Спасибо