Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2015, 21:51   #1
AllianceGG
Новичок
Джуниор
 
Регистрация: 15.02.2015
Сообщений: 5
По умолчанию Следующая литература по C++

Всем привет форумчане. Извините за глупый вопрос, но что дальше? Основной синтаксис Си и ++ освоен, что почитать далее, STL? Boost? или что-то ещё, для графического API думаю маловато знаний, впрочем мне сама идея D3D/OGL интересна. Буду рад услышать ваше мнение по данному вопросу.
AllianceGG вне форума Ответить с цитированием
Старый 15.02.2015, 22:59   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,639
По умолчанию

Какие программы хотите делать?
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 16.02.2015, 08:00   #3
AllianceGG
Новичок
Джуниор
 
Регистрация: 15.02.2015
Сообщений: 5
По умолчанию

В конечном итоге хочется работать с графическим API, точно пока не решил с каким, но Си для того и учился что он в этом наиболее эффективен.
AllianceGG вне форума Ответить с цитированием
Старый 16.02.2015, 18:33   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Цитата:
STL? Boost?
Что именно из них ты собрался "учить"?
Буст настолько огромен, что еще никто его не "выучил", думаю даже сам Страуструп. И в этом нет смысла.

Я думаю надо брать интересную для вас задачу и решать ее. Возможно при этом удастся использовать какие-то части из буста или еще откуда-то.

Можешь написать мне - МБ помогу.
rrrFer вне форума Ответить с цитированием
Старый 16.02.2015, 21:58   #5
AllianceGG
Новичок
Джуниор
 
Регистрация: 15.02.2015
Сообщений: 5
По умолчанию

Было бы очень неплохо )
AllianceGG вне форума Ответить с цитированием
Старый 16.02.2015, 22:24   #6
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Цитата:
В конечном итоге хочется работать с графическим API
Только лишь знаний C++ явно недостаточно. Графический API можно начать использовать с минимальными знаниями C++. Например, современный OpenGL - это си-подобный язык, называется GLSL (такие программы называются - шейдеры). Чтобы рисовать 3D объекты без эффектов, то шейдеры будут минимальные. Им нужно будет скармливать массивы: вертексов (то есть векторов - это координаты вершин полигонов), нормали (для освещения), текстурные координаты и т.д. Можно облегчить себе жизнь, если рисовать (и накладывать текстуры) в бесплатном пакете Blender, экспортировать, например, в obj файл, а потом загружать модель (то есть выше указанные массивы) с помощью загрузчика Assimp Можно не рисовать самому, а искать модели в интернете. Assimp может загружать из разных форматов, которые, например, созданы в 3DMax

Для того, чтобы управлять объектами нужно знать, что перемещение, поворот и масштабирование объекта - это умножение координат вертексов и нормалей на соответствующие матрицы преобразования. То есть даже на первом этапе нужны хотя бы минимальные знания линейной алгебры и не только.

Напишите подробнее, что именно вы хотите делать? Игровой движок? Или хотите развиваться в сторону CAD систем? Может виртуальные тренажёры? Зачем вам графический API?

Цитата:
Напишите подробнее, что именно вы хотите делать? Игровой движок? Или хотите развиваться в сторону CAD систем? Может виртуальные тренажёры? Зачем вам графический API?
В общем, забегая вперёд напишу, что есть уже бесплатные игровые движки, например: Unity3D и Blender Game Engine (BGE). Я выбрал BGE и вот почему. К тому же он под лицензией GNU GPL, что меня радует. Unity3D может тоже начну пробовать. Я знаю одну контору у нас в городе, которая делает виртуальные тренажёры для поездов и хим. заводов на Unity3D. То есть область применения широкая. Нужно ли писать свой движок - сложный вопрос. BGE развивается уже 20 лет. Может вы захотите влиться в какую-нибудь команду, которая делает движок (или CAD-системы), кто знает. Это только от вас зависит, что вы хотите. Если делать игры, то лучше, на мой взгляд, научиться работать c BGE

Последний раз редактировалось Stilet; 17.02.2015 в 07:47.
8Observer8 вне форума Ответить с цитированием
Старый 17.02.2015, 14:42   #7
AllianceGG
Новичок
Джуниор
 
Регистрация: 15.02.2015
Сообщений: 5
По умолчанию

Больше интересны движки, хотелось бы освоить данное направление, интересно как заставить модель подгрузиться, заставить менять положение в пространстве и синхронизировать это с анимацией модели, и да, наверно вы правы что упомянули OpenGL, мне он показался проще и WIN API вроде не требует....
AllianceGG вне форума Ответить с цитированием
Старый 17.02.2015, 16:10   #8
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Цитата:
WIN API вроде не требует
OpenGL не умеет создавать окна, обрабатывать нажатия клавиш, воспроизводить звук и т.д. OpenGL - это только рендер (рисовальщик). Вам нужно для начала определиться с фреймворком для создания окна и остального. Выберите из списка среду, в которой можно создать GUI: Сравнение интегрированных сред разработки

Хороший вариант - это использовать фреймворк, который позволит создавать приложения сразу для нескольких OC. Точнее, вы пишите один проект, который можно собрать для разных OC: Windows, MacOS, Linux, Android и т.д. Этими свойствами, например, обладает Qt. Вот как нарисовать треугольник на Qt OpenGL: мой видео-урок

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

Последний раз редактировалось 8Observer8; 17.02.2015 в 16:14.
8Observer8 вне форума Ответить с цитированием
Старый 17.02.2015, 19:35   #9
AllianceGG
Новичок
Джуниор
 
Регистрация: 15.02.2015
Сообщений: 5
По умолчанию

Большое спасибо )
AllianceGG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Следующая закономерность gennadii Помощь студентам 5 30.11.2012 10:32
следующая не пустая ячейка, при условии Skitt Microsoft Office Excel 1 04.05.2012 23:38
следующая буква. zetr0 Помощь студентам 20 30.09.2010 08:40
Следующая дата neme4ta Общие вопросы по Java, Java SE, Kotlin 1 23.03.2010 06:58