• РЕГИСТРАЦИЯ

00 C++17 & OpenGL Красота в коде

2 795

00 C++17 & OpenGL Красота в коде

В жизни каждого человека есть то любовь к которому он пронес через всю жизнь. В моей жизни такой любовью был язык программирования С++. Встреча с ним состоялась в те далекие времена, когда в продаже появились первые нормальные компьютеры с 486 процессором, Windows 95 и Visual C++ 6.0.

В то время С++ только родился и большинство профессиональных программистов восприняло его в штыки - он требовал совершенно другого стиля мышления. Как в той истории про 40-ножку, которую спросили с какой ноги она начинает ходить только наоборот. От способа описания какой ногой и куда ходить перешли к определению самой 40-ножки, а какой ногой она ходит - пусть сама разбирается.

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

А в 2011, 2014 и 2017 годах произошло рождение бабочки из куколки старого С++. Сейчас написано достаточно книг об этом новом С++. Одно «но» - их очень скучно читать. И это проявляется с двух сторон - вы вручную набираете код и вам это быстро надоедает. Или вы используете готовый код, который предлагают авторы книг - вы его скопировали, он заработал и ... вы его благополучно забыли. А все потому, что пример там правильные, но НИ О ЧЕМ.

Решение пришло, как всегда, неожиданно - читая книгу «Бьярне Страуструп. Программирование. Принципы и практика с использованием С++. Второе издание. Москва • Санкт-Петербург • Киев . 2016», я обнаружил, что целых пять глав плюс одно приложение он посвятил графической библиотеке FLTK.

В старых С++ была собственная графическая библиотека, которая подключалась к проекту через файл «graphics.h» и в большинстве случаев ее вполне хватало. Но в дальнейшем она тихо исчезла.

Однако FLTK предоставляет возможность программирования только двухмерной графики. Для трехмерной она использует OpenGL.

И я подумал - а зачем мне посредник? Почему бы не использовать OpenGL напрямую?

И это оказалось именно той фишкой, которая сделала процесс изучения С++17 не просто интересным, а по-настоящему увлекательным.

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

А теперь предлагаю оценить всю мощь и красоту С++17 - вот минимальная РАБОЧАЯ программа на С++ и OpenGL:

#include <GL/glut.h>

int main()

{

   glutCreateWindow("Small program");

   glutDisplayFunc([]{});

   glutMainLoop();

}

для сравнения минимальная программа на «чистом» С++:

#include <iostream>

int main()

{

   std::cout << "Hello, World!" << std::endl;

   stl::cin.get();

}

Обалдеть! Графическая программ всего НА ОДНУ СТРОЧКУ больше.

И вот у меня есть желание поделится этой красотой - красивыми бывают не только музыка или любое другое искусство, но и программный код - это тоже ОЧЕНЬ КРАСИВО.

Я не буду рассуждать на темы «почему?» - для этого есть специальная литература. Я буду показывать «как» сделать то или другое с чем у меня возникали проблемы и как красиво их можно решить на С++17.

Единственное - это первая и последняя моя статья на эту тему на КОНТе. Основная проблема с ним - перестали приходить извещения на почту.

Для тех, кого это заинтересует - буду писать в своем ЖЖ

http://wlad55wlad.livejournal.com/


    Реакция на пуск "Орешника"
    • pretty
    • Сегодня 07:00
    • В топе

    Австрийский журналист Крис Вебер: Россия запускает неядерную межконтинентальную баллистическую ракету в качестве предупреждения о недопустимости дальнейшей эскалации.Фракция поджигателей войны го...

    Двести Хиросим

    Новая вундерваффе прилетела в завод Южмаш. Это шесть раздельных блоков по шесть боеголовок в каждом - хотя, поговаривают, их может быть и 8х8, что зависит от конфигурации и задач. Пока ...

    Цена «миротворчества» Трампа

    Любой американский президент, предпринимая некие действия на международной арене решает, прежде всего, свои внутренние проблемы. Трамп не исключение. Его задача закрепить и сделать необ...

    Ваш комментарий сохранен и будет опубликован сразу после вашей авторизации.

    0 новых комментариев

      Wlad Wlad 8 апреля 2021 г. 11:58

      Российский ребенок – это ГРАЖДАНИН России

      Российский ребенок – это ГРАЖДАНИН РоссииВ последние 50 лет "фашистский социум победившего феминизма" ведет откровенную и наглую войну против детей.И это не образное выражение – по данным ВОЗ только в 2020 году было сделано более 42 миллионов абортов.Для сравнения – во Второй Мировой войне количество погибших примерно такое же, но за 5,5 лет.Постепенно ...
      256
      Wlad Wlad 18 апреля 2020 г. 12:17

      Коронавирус и развал СССР

      Коронавирус и развал СССРКоронавирус и принудительная "самоизоляция" привели к возрождению в обществе дискуссии о причинах развала СССР. Впрочем, назвать это "дискуссией" можно лишь с очень большой натяжкой. Скорее это похоже на описание слона слепыми из известной притчи.Однако именно благодаря коронавирусу мы можем понять причины развала СССР. И первое что мы должны ...
      714
      Wlad Wlad 17 декабря 2018 г. 17:16

      Прибавочная стоимость

      Прибавочная стоимостьРанее мы более или менее разобрались с экономической терминологией:• Деньги как система ИИ https://cont.ws/@wladwlad/1151517https://wlad55wlad.livejournal.com/14847.html• Стоимость, товар и лотhttps://cont.ws/@wladwlad/1160856https://wlad55wlad.livejournal.com/14962.html• Труд конкретный, абстрактный и хоббиhttps://cont.ws/@wladwlad/1161757https:/...
      511
      Wlad Wlad 16 декабря 2018 г. 18:53

      Труд конкретный, абстрактный и хобби

      Труд конкретный, абстрактный и хоббиСегодня я хочу продолжить серию статей по экономической терминологии. Предыдущие статьи:• Деньги как система ИИ https://cont.ws/@wladwlad/1151517https://wlad55wlad.livejournal.com/14847.html• Стоимость, товар и лотhttps://cont.ws/@wladwlad/1160856https://wlad55wlad.livejournal.com/14962.htmlТруд является одним из экономических терми...
      519
      Wlad Wlad 15 декабря 2018 г. 20:25

      Стоимость, товар и лот

      Стоимость, товар и лотРазвивающееся Человечество обнаружило, что у него слишком маленький словарный запас для обозначения всех сущностей и понятий, которыми оно оперирует. Поэтому оно было вынуждено обозначать, одним и тем же словом, разные, а зачастую и прямо противоположные понятия.Следовательно, возникает проблема понимания - всегда ли собеседники подразумевают одн...
      761
      Wlad Wlad 7 декабря 2018 г. 12:25

      Деньги как система ИИ

      Деньги как система ИИ01 Deus ex machinaЧеловечество, на всем протяжении своего существования, живет с ощущением приближения конца своего существования. И даже придумало специальный термин для его обозначения - «апокалипсис».Формы апокалипсиса зависят от уровня знаний Цивилизации об окружающем Мире - от «всемирного потопа» до столкновения с другим небесным телом.С конц...
      1229
      Wlad Wlad 29 июля 2018 г. 17:49

      Что такое Вероятность?

      Что такое Вероятность?Когда физику заменяют математикой, то получается «наукообразный бред». Давайте посмотрим на возникновение этого бреда на примере понятия «Вероятность».================ВЕРОЯТНОСТЬ, числовая характеристика степени возможности появления какого-либо случайного события при тех или иных условиях. (Современная энциклопедия)=================Само понятие ...
      601
      Wlad Wlad 29 июля 2018 г. 13:12

      Логична ли наша Логика?

      Логична ли наша Логика?Наши «высокоученые мужи» выдают как одно из высших достижений «науки» так называемую Логику. Но что они под этим термином подразумевают непонятно даже им самим.Виды ЛогикПри ближайшем рассмотрении мы можем обнаружить следующие виды Логик:- Логика доказательств (двоичная логика, Аристотелева Логика, формальная логика и так далее);- Логика поведен...
      741
      Wlad Wlad 28 июля 2018 г. 16:07

      Что такое Производительность Труда

      Что такое Производительность ТрудаВ последнее время в связи со злополучной реформой в СМИ расплодилась тьма-тьмущая различных экспертов от экономики. Не взирая на отношение к этой самой «реформе» их объединяет одно общее - экономическая безграмотность.Причем к большому сожалению, в категорию экономически безграмотных людей попадают достаточно известные люди, обладающи...
      560
      Wlad Wlad 20 июля 2018 г. 11:59

      Женская логика

      Женская логикаВ последнее время очень часто сталкиваюсь с отрицанием такого понятия как «женская логика». Мне это настолько надоело, что я решил разобраться на чем основано такое отрицание.Начнем с того, что определим какие виды логик мы знаем.**Виды логикВсе «отрицатели» начинают с того, что «существует единая для всех логика».Но ведь это банальная ЛОЖЬ - мы можем вы...
      719
      Wlad Wlad 28 марта 2018 г. 12:32

      Может ли Вселенная расширяться

      Всякий раз, когда я читаю или слышу выражение «Расширяющаяся Вселенная», у меня возникает вопрос - КУДА расширяющаяся?Чтобы понять, о чем идет речь нужно определить, что мы понимаем под словом Вселенная.==============================Вселенная или Универсум - это ВСЕ что существует.Вселенная - это ЦЕЛЬНОЕ образование в Пространстве и во Времени.========================...
      794
      Wlad Wlad 2 марта 2018 г. 18:37

      Семья vs Брак

      Семья vs БракВ последнее время в масс-медиа идет перманентная дискуссия, о том, что ждет современную семью. Мнения высказываются достаточно различные от того, что «институт семьи - это атавизм», до того что «секс вне семьи - это уголовное преступление».Прежде чем переходить к подробностям, несколько попутных замечаний.Все эти дискуссии идут в странах христианского мир...
      922
      Wlad Wlad 28 августа 2017 г. 12:13

      Плюсы и минусы советской экономики

      В последнее время стало слишком много спекуляций на тему СССР. Причем как со знаком плюс, так и со знаком минус.Авторы этих спекуляций страдают отсутствием экономической грамотности и элементарной логики.Главное, что нужно сказать о советской экономике - это то что все ее минусы являются следствие ее плюсов.И именно о взаимозависимости плюсов и минусов экономики СССР ...
      11533
      Wlad Wlad 14 августа 2017 г. 15:26

      Зачем врет Ехидный Дуглас?

      Ну вот обидно читать такое вранье от Дугласа. Я понимаю, когда объективно - вот это было хорошо, а вот это плохо. Но по порядку. Вот очередной блок от Дугласа:https://cont.ws/@douglas/688511Прилетаем мы с женой в Ленинград где-то в конце 70-х к знакомым. И жили у них неделю. Образ жизни был такой - жена с утра очередь занимать в "Гостиный двор" и через дорогу "Пассаж"...
      1103
      Wlad Wlad 10 августа 2017 г. 11:45

      Маленькая Душа и Солнце

      (Притча от Нила Дональда Уолша)Однажды жила-была Маленькая Душа, и сказала она Богу:— Я знаю, кто я есть!И Бог сказал:— Это прекрасно! Кто же ты?И Маленькая Душа прокричала:— Я Есть Свет!— Это верно, — улыбнулся Бог. — Ты есть Свет.Маленькая Душа была страшно счастлива, так как она выяснила то, что Всем душам Королевства предстоит выяснять.— О! — сказала Маленькая Душ...
      602
      Wlad Wlad 10 августа 2017 г. 09:51

      Советский товаровед Ехидному Дугласу.

      Гражданам, что еще 25 лет назад подтирались газетами с токсичной полиграфской краской, а теперь тоскуют по советской колбасе, объясняю.Еды все меньше, а разговоров о ней все больше. Еще больше о еде слагают мифов. Особенно, почему-то, модно сегодня вспоминать советскую колбасу и треклятые советские ГОСТы.Дорогие советские романтики, ГОСТов вы не читали. В лучшем случа...
      934
      Wlad Wlad 4 августа 2017 г. 08:46

      Ехидный Douglas современный Швондер

      Попытки нео-коммунистов приравнять себя к ВКП(б) вполне понятны - стремление ухватить хоть кусок от российского пирога.Непонятно другое - абсолютная БЕЗГРАМОТНОСТЬ этих «коммунистов».В качестве примера приведу перл Ехидного Дугласа - https://cont.ws/@douglas/680022Нет я конечно понимаю, что знать марксизм и называться «марксистом» это разные вещи, но не до такой же ст...
      1410
      Wlad Wlad 27 июля 2017 г. 11:50

      Как нас превращают в насекомых

      В полседнее время часто сталкиваюсь с такой рекомендациея для женщин - «Не ходи по магазинам голодная - голодная ты купишь в два раза больше НЕНУЖНЫХ вещей».Специально для тех, кто не понял о чем речь, раскладываю по полочкам:- женщина ВСЕГДА покупает ненужные вещи- голодная женщина покупает в два раза больше ненужных вещей- женщину убедили худеть и чтобы отвлечься от...
      1124
      Wlad Wlad 18 июня 2017 г. 22:32

      Честные деньги

      Честные деньгиС момента выхода фильма «Матрица» все, кто способен думать озаботились поисками доказательств или опровержений того, что мы живем в Матрице.Но создатели фильма, поставив вопрос тут же и завели всех в ситуационный тупик. Все, в том числе и ученые с мировым именем, всерьез занялись подсчетом мощности «Вселенского Компьютера». Ответ, между тем, лежит в сове...
      925
      Wlad Wlad 20 марта 2017 г. 00:59

      Кубик Рубика: мысли по поводу - часть 4

      У нас остался последний третий способ организации Кубика Рубика. И это как раз то что все понимают под «сборкой кубика Рубика». Как бы это не удивляло, но данный способ может быть выполнен только после последовательного выполнения предыдущих двух - сначала из всех возможных способов размещения наклеек, выбираем один-единственный. Потом выбираем один еди...
      5098
      Служба поддержи

      Яндекс.Метрика