| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Окно для OpenGL и окно MFC |
| Автор: Reptor 19.5.2008, 15:46 |
| Я вот токо вот начинаю изучать MFC и ещё OpenGL. Так вот у меня такой вопрос ну и задача: Мне необходимо нарисовать какуюто фигуру в OpenGL но проблема не в этом проблема в том что наскоко я понял OpenGL создаёт своё окно для рисования а если делать какето GUI на MFC то там же окно по 2-ому создается. Так вот мне надо что было место где рисовалась фигура и какието контролы для того что б ей управлять - это к примеру какойто toolBar с какимито кнопками маштабирвания поворота ну и тому подобное. Так вот как мне объеденить это всё в одно приложение. |
| Автор: Reptor 19.5.2008, 16:04 | ||||
Graf_h, нет ну я не имел в виду по другому в плане кода по 2-ому. Ну или как в OpenGL
а обычное окно в MFC что то типа такого (часть кода)
Добавлено через 22 секунды это я так понимаю |
| Автор: Graf_h 19.5.2008, 16:17 | ||
Это просто интерфейс для создания окна, реально оно также создается!Если очень нужно могу написать код окна для опенЖЛ! насчет контролов, то с ними в VisualC++ работать не приходилось, по мне так Borland C++ проще! хотя и Visual C++ также есть готовые компоненты! |
| Автор: Reptor 19.5.2008, 16:25 |
| Graf_h, код окна для опенЖЛ я знаю как делать и знаю как в MFC тоже делать окна и кнопки а вот как это соеденить я что то не понимаю |
| Автор: Solomon 19.5.2008, 17:49 |
| Когда мне подобное надо было я использовал немодальные окна.. т.е. само окно OpenGL, и отдельно создаешь еще одно типа как панелька в томже photoshop... |
| Автор: bronislav 19.5.2008, 18:51 | ||||||||||||||
Для того, чтобы включить инициализировать OpenGL в окне MFC надо действовать немного по другому, например так:
|
| Автор: Graf_h 20.5.2008, 14:14 |
| bronislav, автор темы говорит что умеет все это делать! Он просто не может скомпоновать! Но если честно, я так и не понял что именно у него не получается |
| Автор: bronislav 20.5.2008, 14:18 | ||
Судя по использования библиотеки glut и него не получается рисовать в окне MFC (т.к. glut создает свое окно). Мой же код позволяет рисовать непосредственно в окне MFC не создавая дополнительных окон. |
| Автор: Reptor 20.5.2008, 17:00 | ||
Graf_h, да я умею это делать но када оно всё отдельно.
Во в этом у меня была и проблема мне надо было опенЖЛ как то импортировать или вшить в MFC bronislav, спасибо попробую разобраться что к чему. Ди и сорри если неккоректно задал вопрос. Добавлено через 56 секунд bronislav, да и ещё я тут смогу добовлять меню и тулбар ну может ещё что понадобится? |
| Автор: Rickert 21.5.2008, 07:37 |
| Я сам неделю назад инжектил OGL в MFC. Мне надо было на модальном окне разложить 4 контекста OGL'а. Решается это просто: создаёшь на форме 4 статика и к при инициалиазции OGL подсовываешься вместо контекста устройства окна - контекст устройства статика. |
| Автор: Reptor 21.5.2008, 15:22 |
| bronislav, а можно попросить приатаченный уже готовый файл? так как у меня не получается что то собрать это. |
| Автор: bronislav 21.5.2008, 15:25 |
Конечно |
| Автор: ProfessorBraz 23.5.2008, 18:45 |
| Где бы взять такойже примерчик, только для Борланд С++? Может поделиться кто, т.к. такаяже ситуация, хочется рисовать во фрейме Виндовского окна. |
| Автор: bronislav 23.5.2008, 18:47 | ||
Посмотри в прилагающихся примерах. Насколько я знаю там есть пример использования OpenGL. |
| Автор: Lеstat 25.5.2008, 01:01 | ||
| вот собрал пример... написано с использованием http://glui.sourceforge.net/, а не MFC, но возможно поможет оставил минимум кода и даже наверно излишне прокомментил чтобы врубаться было легче) код рисует вот такое окно: http://ipicture.ru/
Буду рад если поможет! Удачи! |
| Автор: bronislav 25.5.2008, 08:23 |
| Никто, не спорит, что с помошью библиотеки glut все это делается на раз. Но, вопрос то был в создании с помошью MFC. Да и еще я бы не советовал использовать glut, ибо она есть не на всех компах и от этого приложение становиться не переносимымм. И glut не очень хорошо сделана так, что для серьезных приложений не рекомендуется ее вообще использовать. В Универе у нас за использование glut снижали оценки. |
| Автор: Reptor 25.5.2008, 10:56 | ||
| bronislav, я всеровно что то не так делаю и ничего у меня не выходит. Там так много файлов и не моге даже толком запустить. Добавлено через 14 минут и 24 секунды
А что тогда использовать?? И подскажите как такое луче сделать.?? Это моё первое прилоджение и я мало что понимаю ещё в этой области. Подскажите пожалуйта. |
| Автор: Reptor 25.5.2008, 11:14 |
| Да и выходит что мне не обязательно MFC и OpenGL я просто подумал что подругому никак. Мне нужен верный путь |
| Автор: bronislav 25.5.2008, 16:45 | ||
Там в архиве проект для VS 2003, запускаешь проект и компилируешь. Посмотри уроки от NeHE http://nehe.gamedev.net, а http://www.opengl.com.ua/category-102.html перевод. В принципе можешь и glut использовать чтобы понять как рисовать, но если ты захочешь сделать что-то серьезное, а не просто попробывать, то надо будет писать инициализацию на чистом API. |
| Автор: Reptor 25.5.2008, 20:04 |
| bronislav, а можеш а 2-ух словах расказать что значит на чистом API писать инициализацию. |
| Автор: bronislav 25.5.2008, 20:15 |
| Т.е. не использую дополнительных библиотек типа glut и им подобных В первом уроке от NeHE объяснено подробнее |
| Автор: Rickert 26.5.2008, 05:48 |
| bronislav, нет, чистый API имеется ввиду winAPI, без MFC. А человеку нужен именно MFC. Reptor, почему ты проигнорировал моё сообщение? Ничем, абсолютно ничем не будет отличаться инициализация OGL в WinAPI и MFC, заисключение указания контекста устройства: в winAPI - это у тебя оконо, а в MFС ты спокойно можешь привязать его к любому объекту, который имеет метод GetDC(); |
| Автор: bronislav 26.5.2008, 06:09 | ||||||
Rickert, был задан вопрос и я дал на него ответ. Насколько я понял Reptor хочет изучить OGL, а не MFC
|
| Автор: Reptor 26.5.2008, 12:32 |
| Rickert, не в коем случаи не проигнорировал. Просто проблема в том что я не знаю как это сделать. Ааа ребята я совсем запутался что мне использовать и как луче Раньше я думал что это возможно сделать только через MFC так как в нём можно создавать окна и разные элементы управления а оказыывается это плохо для сложных приложений. Пожалуста подскажите что мне делать сроки идут а я даже не знаю ещё какие технологии использовать или MFC с OpenGL или WinApi с OpenGL Вот bronislav, и ещё я смотрел те уроки так там используется WinApi и GLUT же тоже используется или не так что то понял?? Единственое что мне понятно так это то что мне не подхолит GLUI так как там не все элементы управления есть (ну или может я их просто не отыскал) bronislav, а ты ж мне пример на MFC давал - чем это хуже чем WinApi?? Подскажите что мне надо использовать какие технологии какие библиотеки для написания серьозного приложения с OpenGL и окном с различными кнопками менюшками и тому подобное??? У меня паника я запутался окончательно |
| Автор: bronislav 26.5.2008, 15:49 | ||
В университете на парах мы делали через MFC, а я когда разбирался более глубоко и писал пробный движок использовал WinAPI. И вовсех графических движках используется WinAPI. А если используешь MFC, то появляются не нужные зависимости. |
| Автор: Reptor 26.5.2008, 16:18 |
| Хорошо я так понимаю что надо использовать WinApi с OpenGL. Я просто не видел как на WinAPI делать различные кнопки, тулбары и тому подобное?? Может есть какаято хорошая литература по этому поводу? |
| Автор: bronislav 27.5.2008, 14:30 |
Поиск по форуму. Эта тема поднималась уже не один раз. |
| Автор: Rickert 27.5.2008, 15:02 |
| Reptor, www.firststeps.ru там есть уроки по VisualC++ |
| Автор: Lenkov 27.5.2008, 23:15 |
| Можно ли сделать то же самое (что сделано с помощью GLUI), только на Visual C++ и что бы потом в этом окне был у меня 3D проект? |
| Автор: bronislav 28.5.2008, 07:37 |
| Что именно тебе надо? Окно в котором отображается 3d сцена, или в этом окне еще должны быть менюшки, кнопочки всякие? |
| Автор: Lenkov 28.5.2008, 10:08 |
| мне нужно окно 3D а так же разные кнопки и много чего другого (элементы диалога) в одном приложении, ну почти как в том примере. |
| Автор: bronislav 28.5.2008, 21:38 |
| Ну вот так и испольуй как в том примере. Про инициализацию на WinAPI я писал, что испольуется если надо создать окно, без элементов диалога. Потому, что элементы диалога можно создать и с помошью WinAPI, но "овчинка выделки не стоит". Больше сил потратить на обработку событий. Используй какой-нибудь GUI toolkit, и там инициализируй. Хотя в некоторых toolkit'ах инициализация уже ниписана, надо только соответствуюший метод вызвать. |
| Автор: Lenkov 29.5.2008, 10:39 |
| пробовал http://www.firststeps.ru/mfc/opengl/r.php?15 но выдает ошибки. Как думаешь так можно? |
| Автор: kapralov 29.5.2008, 14:01 | ||||||
| Народ! всем привет , вот созал окошко в opengl, таким макаром: файлик Main.cpp
файл main.h
ну и наконец init.cpp
в конечном итоге получаю просто черное окно , вопрос как в это окно я могу вставить кнопу , или текстовое окно? с помощью winapi |
| Автор: Lenkov 29.5.2008, 14:55 |
| скажите какую книгу лучше приобрести, для того что бы писать такие проги! |
| Автор: kapralov 29.5.2008, 15:09 |
| Ладно черт с ним в winapi пока, у меня стоит VS2003 скачал с сайта библиотеку glaux что то никак не могу ее заюзать , какие файлы куда надо перенести , чтоб оно работало , хоть примеры посматреть |
| Автор: bronislav 29.5.2008, 20:48 | ||||
Ты хочешь создать в окне елементы управления, как объекты 3d сцены? Тогда тебе надо писать свои GUI классы.
Приведенный выше код не есть пример для подражания. Для начала загляни в http://forum.vingrad.ru/forum/index.php?show_type=forum&showtopic=212170&kw=%D1%81++-%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BE%D0%BA-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0 и http://forum.vingrad.ru/forum/index.php?show_type=books&showtopic=48036 темы. |
| Автор: Rickert 30.5.2008, 07:35 |
| Не тема, а мусорка. |
| Автор: Lenkov 30.5.2008, 11:31 | ||
народ помогите. Ошибка auxIdleFunc( display ); error C2065: 'display' : undeclared identifier. Не знаю как еще попробовать.
|
| Автор: bronislav 30.5.2008, 21:28 |
Полностью согласен. Просьба к модератору закройте тему. Для дополнительныйх вопросов надо создавать отдельные темы. |
| Автор: kapralov 31.5.2008, 12:37 |
| Lеstat я просто прошу объяснить как мне использовать в vs2003 библиотеку GLUI , скачал версию GLUI 2.2 , как ее использовать, вот и все что я хотел узнать , а насчет мусорки , не нравица не отвечайте и не выпендривайтесь. Форум для того и создан чтоб новички могли спросить что да как. |
| Автор: bronislav 31.5.2008, 12:41 |
В правилах сказано, что для каждого вопроса надо создавать новую тему. Так что... В данном топике был вопрос про использование MFC + OpenGL Для всех остальный вопросов создавайте отдельные топики |
| Автор: Rickert 31.5.2008, 15:35 |
| Модератору отправил уже репорт - пока молчат. |