SuperMiQi Ответов: 2

Два управляемых средства просмотра c++ opengl на одном и том же windows form C#, это возможно ?


Два управляемых средства просмотра C++ OpenGL на одном и том же windows form c#, это возможно ?

Основываясь на тестовом приложении , представленном в статье:"Создание представления OpenGL в форме Windows", я получаю две черные рамки, когда дублирую два объекта opengl. Похоже, что ресурсы распределяются между двумя фреймами.

Я изменил конструктор, чтобы иметь возможность указывать позиции x и Y.
Я также использовал эти значения x, y для изменения размера экрана.

Как вы думаете, это возможно? Как ведет себя wglMakeCurrent в этом случае ?
Мое желание состояло бы в том, чтобы иметь два зрителя анимации на одной и той же форме для визуализации разных объектов.

Заранее Вам большое спасибо.
Мики

Что я уже пробовал:

Я изменил конструктор, чтобы иметь возможность указывать позиции x и Y.
Я также использовал эти значения x, y для изменения размера экрана.

Эффект примерно такой:
issue-8172-19062019-A.gif

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Задайте свой вопрос на форуме в нижней части статьи, о которой вы говорите. Статьи поддерживаются людьми, которые их написали.


Рейтинг:
2

KarstenK

вы должны внимательно посмотреть и отладить код. Когда вы скопировали исходный код, оба могут загружать одни и те же ресурсы или использовать глобальные данные.

Копирование кода, не понимая его, очень опасно. И может быть немного сомнительным или незаконным. :-О


SuperMiQi

Привет,

Этот пример кода кажется хорошей отправной точкой для изучения базы, поскольку он рисует базовую форму. В настоящее время я не могу сделать слишком много, так как понятия не имею, как он себя ведет, и я хотел бы собрать больше информации, чтобы лучше понять opengl, а затем чувствовать себя более уверенно в этой теме. У вас есть хорошие udemy или другие онлайн-комнаты, я мог бы подать заявку на изучение этой графической библиотеки. Я надеюсь, что они также будут охватывать управление памятью opengl.

В настоящее время у меня есть два activex com-объекта, использующих opengl, и они используют одни и те же шаги инициализации, но они не могут быть помещены в одну и ту же форму. Вот почему этот образец действительно является хорошим кандидатом для обсуждения. Я вижу, что gllist, разделенный между двумя зрителями, кажется, является причиной. Как только у меня будет больше информации, я поделюсь с вами.

Заранее большое спасибо.
С уважением.

Мики