Задать вопрос
@Maarv

Почему не работает передача контекста между приложениями?

Здравствуйте!
Нужно из одного приложения в другое передать контекст. Окно создаëтся при помощи функции:
w = glfwCreateWindow(width, height, "name", NULL, NULL).
При попытке во втором приложении вызвать glfwMakeContextCurrent(w) возникает исключение (указатель w передаëтся через файл).
Подскажите, пожалуйста, что я не так понимаю.
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик на C++
    12 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Указатель - это адрес, который работает только в адресном пространстве одного приложения. Все приложения независимы, у них у каждого свое адресное пространство и один и тот же адрес может хранить совершенно разные вещи в разных приложениях (есть исключения, но не будем в эти детали залезать).
Нельзя просто передать указатель (адрес) в другое приложение и там с ним работать.

В документации указано, что можно использовать OpenGL контекст другого окна, но возможно это относится только к окнам внутри одного приложения и тогда вашу задумку вообще нельзя осуществить как вы хотите.

Чтобы что-то делать с ресурсами другого приложения вам надо эти ресурсы передать средствами операционной системы, через хэндлы (на винде).
Попробуйте получить хендл окно с контекстом, потом как-то из него создать GLFWwindow (тут я не нашел, возможно ли это), и его уже использовать в качестве параметра для создания нового контекста, который окажется расшарен с предыдущим. Хендл искомого окна получайте через EnumWindows.

Но скорее всего ваша задумка невозможна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Казань
от 75 000 до 125 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽