128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
|
|
OpenGL: Как рисовать на уже существующей форме?21.02.2012, 23:34. Показов 14626. Ответов 21
Метки нет Все метки)
(
Здравствуйте, пишу програмку, где нужна визуализация приходящих данных, решил для этого использовать OpenGL, перерыл кучу книжек и форумов, везде есть исходники и объяснения только под консоль:
во время выполнения консоли создается новое окно вижуала, в котором происходит прорисовка линий, точек и всего остального. Мне же надо на уже существующей форме выдать область, где и рисовать линии по заданным координатам, как это сделать - я не понял, может кто помочь подсказкой или примером? VisualStudio2008, лицензия.
0
|
21.02.2012, 23:34 | |
Ответы с готовыми решениями:
21
VisualStudio2008: Как рисовать линии в уже существующей форме? Добавить поле загрузки файлов к уже существующей форме Как создать ячейку в уже существующей таблице |
![]() ![]() |
||||||
22.02.2012, 13:41 | ||||||
![]() Решение
- очень просто используйте библиотеку Glaux.lib
Вот вам простенькой код использования консоли с окном OpenGL
3
|
![]() ![]() |
|
23.02.2012, 00:00 | |
Вот проект, по моему в 9-ке Майкрос убрал GL из пакета(((, чтож прийдётся таскать либы с проектом или скопировать в стандартные каталоги, ниже рабочий проект
2
|
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
|
||||||
23.02.2012, 23:16 [ТС] | ||||||
Вопрос не решен
![]()
![]()
0
|
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
|
|
24.02.2012, 08:54 [ТС] | |
Просто далее я буду использовать OpenGL, мне нужно будет брать область экрана и перерисовывать её на пиксель левее, конечно можно рисовать через GDI, а потом переносить через OpenGL
![]() Добавлено через 2 минуты + хочется сделать кроссплатформенную базу
0
|
![]() ![]() |
|
24.02.2012, 10:27 | |
KokosSPb, тебе надо "врубить" контекст GL в контекст формы???Никак не возьму в толк что ж тебе надо
![]()
0
|
![]() 63 / 58 / 13
Регистрация: 24.07.2011
Сообщений: 343
|
||||||
25.02.2012, 11:26 | ||||||
На сколько я понял,ты хочешь изменить клиентную область окна.
Честно никогда такого не делал. Можно просто сделать так: К примеру вся клиентная область 300x300.А ты хочешь чтобы она была 100x100.В классе можно реализовать методы,которые будут работать с координатами клиентной области,и если рисование производится там где ты не хочешь,то просто установить запрет на это и рисовать только в координатах 100x100.
1
|
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
|
||||||||||||||||||||||||||
13.03.2012, 17:00 [ТС] | ||||||||||||||||||||||||||
нашел сайт, там предлагают сделать заголовочный файл, в него впихнуть (пишу итоговое) "OpenGL.h":
Далее написано: помогите пожалуйста ![]() Microsoft VisualStudio 2008 Добавлено через 11 секундочек сделал так: OpenGL.h
0
|
![]() ![]() |
|
14.03.2012, 14:25 | |
KokosSPb, в правильном направлении работаешь, только нужно не главное окно преобразовывать а дочернее окно в главном(эт я тебе подсказку даю)
Прикрепляю готовый экзешник и скрин работы
0
|
JoeFantor
|
|
19.10.2012, 16:05 | |
Не если получилось, то выложите исходный код программы!
|
OlgaS777
|
|
20.02.2013, 21:35 | |
-=ЮрА=-, Как создать на уже существующей Windows Form форму для рисования OpenGl в Visual Studio? у меня форма создается, но на ней фигура не рисуется((OpenGL: Как рисовать на уже существующей форме? - тут у тебя получилось это осуществить, не мог бы ты скинуть исходник посмотреть? заранее спасибо.
|
Комп_Оратор)
![]() ![]() |
|
20.02.2013, 22:34 | |
Если я не ошибся, это значит, что в хэдере OpenGL-класса, нужен хэдер Form'ы (#include "Form1.h") , чтобы передать указатель (он в качестве аргумента конструктора объявлен) :
Только тогда аргумент объявленный как ук. на базовый: System::Windows::Forms::Form^ parentForm примет указатель Form1^ myComcretForm при вызове и возможно, перед извлечением нативного дескриптора окна, нужно будет явно преобразовать parentForm к Form1^ , вроде: dynamic_cast<Form1^>( parent_form )->Handle; ![]()
0
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
||||||
21.02.2013, 06:43 | ||||||
![]() Решение
Как вариант, для NET есть библиотека Tao Framework, можно использовать OpenGL
c ее помощью
3
|
128 / 86 / 10
Регистрация: 03.02.2011
Сообщений: 477
|
||||||
25.02.2013, 12:44 [ТС] | ||||||
Долго копался в интернете, не нашел книг по GDI для С++ Visual Studio, только по Delphi, может кто подскажет чего полезного?
Добавлено через 1 час 12 минут Кликните здесь для просмотра всего текста
error C2039: FreeGlut: не является членом "Tao"
это на строчку
или GDI это конкретно WinAPI?
0
|
![]() ![]() |
|
25.02.2013, 13:22 | |
GDI это ГДИ а API это API, другое дело, что у мелкоcофта с windows.h тянутся и АПИ и ГДИ функции, вот и выходит что любой проект АПИ автоматом поддерживает GDI, вот почитай
http://ru.wikipedia.org/wiki/GDI http://ru.wikipedia.org/wiki/И... приложений Не по теме: KokosSPb, ты же ведь уже умеешь рисовать GL-ем в окне, что в шарпе не даёт сделать такую же дырку в контексте окна как для разобранного нами проекта?
1
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|
25.02.2013, 15:12 | |
MSDN http://msdn.microsoft.com/ru-r... fascx.aspx
Что не понятно ? Просит Freeglut Хорошая идея но ИМХО не легкое это дело .NET классы соединять с OpenGl KokosSPb, определитесь что вам нужно : 2D - значит винформс GDI достаточно Если трехмерное изображение . То TAO Framework задействовать есть и др варианты для .NET , тут гугл в помощь . Можно и WPF . Если кроссплатформ то о каком .NET может идти речь OpenGL и никаких винформс .
1
|
25.02.2013, 15:12 | |
Помогаю со студенческими работами здесь
20
Как рисовать в С++ средствами OpenGL
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|