|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
Изучение C++ в комплексе с OpenGL15.02.2025, 19:13. Показов 26645. Ответов 60
Метки нет (Все метки)
Что бы я не плодил темы со своими вопросами - спрошу тут.
Я понимаю что возможности С++ огромные начиная от работы с железом, базами данных и т.д. Повторил игру Змейка с использованием C++/CLI Windows Forms - понимаю что мне ни это нужно. Вопрос такого плана! Если я начну изучать С++ в комплексе с OpenGL (есть хорошие и понятные уроки). Что такое OpenGL я просмотрел 15минутное видео и понял. Буду я развиваться в изучении С++?
0
|
|
| 15.02.2025, 19:13 | |
|
Ответы с готовыми решениями:
60
Разработать програмный комплекс для решения задачи Разработка ScreenSaver "Летающий текст" с OpenGL С++ изучен синтаксис, что дальше? |
|
Модератор
|
||||
| 15.02.2025, 21:43 | ||||
|
0
|
||||
| 15.02.2025, 22:08 | |
|
0
|
|
| 15.02.2025, 22:13 | |
|
Не по теме: OwenGlendower, к обычному С++ это не сильно ближе
0
|
|
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
|
| 15.02.2025, 22:19 [ТС] | |
|
Как бы задача не стоит - создавать игры и конкретных задач так же нет.
Появилось время, появилось желание что то полезное начать изучать. Посмотрел с десяток уроков YOUTUBE - в общем понятно, что к чему(давненько работал с PHP, jsscript и немного Pyhton). Почему посмотрел на OpenGL - работа с графикой - виден результат. Мне удобно на конкретных задачах изучать. Если можно, поясните в двух словах. Что вы имели под словами "Сначала надо изучить С++" YOUTUBE- https://www.youtube.com/watch?... 9r&index=2
0
|
|
| 15.02.2025, 22:29 | |||||||
|
Не по теме:
0
|
|||||||
| 19.02.2025, 16:09 | |||
|
Раз у вас есть опыт c Pygame, то можно изучать основы С и С++, практикуясь с SDL. API Pygame очень сильно похож на API SDL, потому что использует его. Может даже вам лучше сначала познакомиться с Си по книге Кернигана и Ритчи "Язык программирования C". Она маленькая, в ней 288 страниц. Здесь мои текстовые пошаговые туториалы по установке и подключению SDL к VS 2022 в CMake проекте:
Для классического C++ для OpenGL вы можете взять для окна какую-нибудь маленькую библиотеку, например: SDL, GLFW, FreeGLUT, SFML и т.д. А для GUI (графического интерфейса пользователя) можно взять библиотеку ImGUI. Либо для GUI взять на выбор: Qt, GTK, wxWidgets, WinAPI, FLTK и т.д. На Qt можно не использовать обёртки над QtOpenGL, QtMatrix4x4, а взять GLAD, GLM, stb_image. Я написал недавно пошаговые детальные инструкции по установке и подключению следующих библиотек для работы OpenGL в Visual Studio 2022 со сборщиком CMake:
Для практики в C++ через простые игрушки или приложения с геометрическими задачами, анимациями и т.д. можно ещё подключить вспомогательные библиотеки, чтобы практиковаться с ними тоже:
2
|
|||
| 19.02.2025, 19:15 | ||
|
Не по теме:
"С++" в названии языка "C++/CLI" лишь подчеркивает предназначение последнего, но не близость к нему. И не нужно манипулировать примерами с похожим синтаксисом. Тот же сишный код вообще можно смешать с кодом С++, но С и С++ это абсолютно разные языки. Или какой-то вася создаст на питоне свой собственный язык, который внешне будет похож на С++ или который даже будет принимать С++ код. Так что, это васин язык = С++ или можно ли этот васин язык называть диалектом С++??? Нет, конечно, же. Это васино поделие будет просто другим языком, хоть и похожим на С++.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 19.02.2025, 19:24 | ||
|
8Observer8, на полгода усердной работы ему выдал, как минимум !
0
|
||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
||||||||
| 19.02.2025, 20:10 [ТС] | ||||||||
|
Что я имею ввиду с чего начать? К примеру: Я довольно неплохо знаю jscript - webbrauser - написать 2D игру без сторонних библиотек(хотя библиотеки очень облегчают написание кода особенно кроссбраузерно). Пример rotation. С библиотекой все просто, а самому нужно много написать. Мне важно понять на низком уровне. Так же хорошо знаю PHP. Если сидеть и изучать чисто запчасти (классы, массивы, функции ...) уйдет уйма времени до реального понимания как все это собрать в кучу и получить результат. У меня была поставлена конкретная задача - создать свой движок сайта + был человек под рукой который подсказывал в каком направлении двигаться в том или ином случае. Вот что ИИ выдал мне на вопрос - "Создание окна на чистом C++" - код ниже. Вопрос!? Это так и есть? Или... Если так, то я начну разбираться, что к чему с данного примера.
0
|
||||||||
|
6228 / 2929 / 1047
Регистрация: 01.06.2021
Сообщений: 10,856
|
|
| 19.02.2025, 20:26 | |
|
cosmos44, нет у тебя "чистого С++". Это платформозависимый код на WinAPI. Причем, большинство WinAPI больше имеет сишный стиль, нежели плюсовый. Только самые новые штучки api, начиная с виста, применяют плюсовую философию.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 19.02.2025, 20:28 | ||||
|
Это чистый WinApi.
На нем никто не пишет. Это такой геморой, что лучше сразу идти грузить мешки. Вам же посоветовали граф. библиотеки, типа SDL, GLFW, FreeGLUTПочитайте о них описание и возможности. Выберите и пробуйте. Без знаний как создать и вызвать функцию, пониаание ООП, потоков, шаблонного программирования - будет очень тяжко тянуть лямку. Сам по себе OpenGL и другие средства видоадаптера и граф.мультимедиа можно изучать с базовым знания С++ (без классов и прочего). Но вот собрать всё это в игру на голых функциях и разбросанных вокруг структурах, с такими граблями будет опять же, сложно. Так что, учите базу, до ООП и изучайте, допустим OpenGL и его базу (шейдеры, текстуры и прочее бобро и работу с ними) Добавлено через 1 минуту
0
|
||||
|
6228 / 2929 / 1047
Регистрация: 01.06.2021
Сообщений: 10,856
|
||
| 19.02.2025, 20:30 | ||
|
Ни один фреймворк не дает столько свободы, сколько WinAPI) И я знаю, что говорю, поскольку также пишу на Qt и wxWidgets, и знаю все эти фреймворки. Фреймворки реализуют только малую часть WinAPI, потому что им нужно реализовать одну и ту же функцию под разные платформы. Разрабам фреймворков сложно реализовать всё, это просто не реально. Они просто скажут, вызывай натив, когда тебе нужно, а так юзай наш фреймворк. И по производительности, натив просто рвет все эти фреймворки.
0
|
||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
||
| 19.02.2025, 20:39 [ТС] | ||
|
Что посоветуете далее? К примеру написать не сложное на чистом C++ с выводом или отображением в окне?
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||
| 19.02.2025, 20:42 | |||||||
|
Royal_X, ты меня не правильно понял.
WinApi голый, это ужасный геморой и не порвет он никого по скорости. Для Windows есть масса библиотек и фреймворков для работы, они используют тот же натив о котором ты говоришь. Например код на SDL, чисто тестовый и ты уже рисуешь и обрабатываешь события :
Добавлено через 2 минуты Изображения и анимация. Дальше 3Д. Сцены. Свет. Текстуры. .... Я от этого далек. Очень. Я могу только по части С++. Но тут и без того уже много материалов: книг, статей и уроков.
0
|
|||||||
|
6228 / 2929 / 1047
Регистрация: 01.06.2021
Сообщений: 10,856
|
||
| 19.02.2025, 20:45 | ||
|
Конечно, если будет стоять задача написать свой анрил, то писать на WinAPI это нереально. Да и хороший продукт нужно не под одну платформу писать. Тогда можно брать кроссплатформенный инструмент с более удобным api.
0
|
||
|
8 / 6 / 4
Регистрация: 21.05.2022
Сообщений: 141
|
||
| 19.02.2025, 20:53 [ТС] | ||
|
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 19.02.2025, 21:36 | |||
|
Но вы должны понимать, даже досконально, что такое указатели, время жизни объектов и владение им. Банальная обработка ввода (клавиатура/мышь) - отдельный вид сложности. Звука - отдельный. Не по теме: с одними часовыми поясами разобраться - это ещё тот квест. Что бы получить их и изменить на WinApi. (Нужно получить спец. права / нужно прочитать эти часовые пояса с реестра / и разобраться в их структуре) Вот это всё будет сильно отвлекать от самого изучения геймдева, возможностей видеокарт и компонентов которые предоставляют работу с ней (OpenGL, DirectX, Vulkan и ещё куча непонятных для меня технологий). Но тем не менее можно и на WinApi, если ты мазохист. Или взять то что больше для этого подходит.
0
|
|||
|
Модератор
|
||||
| 19.02.2025, 21:52 | ||||
|
Второе это продолжение винапи по сути, я про стиль написания кода. Последние версии по низости как Вулкан Третье слишком низкоуровнево, на каждый чих надо писать код, то что делается в opengl само, то тут все самому. Нарисовать треугольник (без создания окна) будет уже 1000-1500 строк кода Да и с кроссплатформенностью у них так себе. Первое имеет лучшую поддержку (но на маке максимум версия 4.1, если не выбросили на армах), второе только на винде, третье в этом плане хуже первого (у мака только посредством трансляции в нативные вызовы своего апи). У мака свой апи Metal (куда приятней чем другие имхо, есть биндинги для с++, но не знаю обновлялись ли да и создание окна только swift/objective-c). Для мобилок есть еще OpenGL ES (на полноценных компах транслируется в нативные апи opengl/directx)
2
|
||||
| 19.02.2025, 22:00 | |||||||||
|
Не по теме:
0
|
|||||||||
| 19.02.2025, 22:00 | |
|
Помогаю со студенческими работами здесь
20
OpenGL на С++, запущенный через WinAPI
CreateWindowEx возвращает NULL (Win API и OpenGL: Урок1 от NeHe) Qt 5.7 OpenGL просит либы OpenGL что не так в коде? вроде все нормально Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|