Зависит от цели. Для криптографии — конечно, но иногда нужно просто получить не слишком предсказуемое число, и желательно быстро, например, в компьютерных играх. В некоторых случаях даже предпочтительно использовать детерминированный источник псевдослучайных чисел — в тех же компьютерных играх при процедурной генерации мира, например.
А, моя ошибка. Не учел, что в архиве для одной разрядности бинарные файлы для нескольких компиляторов. С CMake у меня таких проблем не было, но не отрицаю, что могут возникнуть.
Должно. Оригинальные туториалы Learn OpenGL уже портированы на Visual Studio 2019. Возможно, придется повозиться с настройкой проектных файлов, так, например, glfw для Visual Studio придется собирать самостоятельно.
В целом я рекомендую использовать vcpkg для установки библиотек и cmake для организации проектных файлов, благо Visual Studio 2019 спокойно жует и то, и другое, и на подобных небольших проектах они довольно просты в использовании.
Если интересен OpenGL, то вот хорошая серия уроков: Learn OpenGL. На первой странице есть оглавление со ссылками на все остальные, и тем довольно много.
Я вдохновлялся двумерными рисунками «от руки», и часть идеи была именно в том, чтобы вес линий менялся в зависимости от выпуклости объекта на сцене, и можно заметить, что тупые углы (в которых переход небольшой) отображаются светло-голубыми линиями, а сами границы модели (где как раз наибольшая разность «высот») — почти черными.
Можно такое сделать прорисовкой поверх треугольников? Было бы интересно посмотреть на результат.
Увы, мое решение на Vulkan показывает низкую производительность (наверняка найдется множество ошибок, которые к этому приводят), и также не отличается красотой кода. Впрочем, последнее исправить проще
В данном случае невозможно выразить NUMTHREADS через константу, т.к. [numthreads(...)] принимает только литералы. Чтобы эта константа была определена в одном месте (а используется она в шейдере и в вызывающем коде), использовал #define — очень редкая ситуация, в которой можно попытаться оправдать макрос. PARTICLE_COUNT задефайнен для единообразия.
На счет NULL или nullptr здесь не уверен, вероятно, Вы правы.
Оценку своего опыта в плюсах давать не рискну, т.к. этот опыт делится на олимпиадные задачи, мелкие проекты по типу приведенного в статье и заброшенные незавершенные проекты (в основном попытки создания игр). Если же интересует именно время — примерно с 2013.
Я неправильно выразился. Имел ввиду именно статьи, аналогичные этой, где подробно описывается простое применение вычислительного шейдера.
К тому же LearnOpenGL описывает OpenGL 3.3, а вычислительные шейдеры официально добавлены в спецификацию в OpenGL 4.3
Я написал о том API, с которым у меня получилось добиться наибольшей производительности. OpenGL и Vulkan в моей реализации показали фреймрейт на 30% хуже, из чего я сделал вывод, что с ними у меня не получилось разобраться на достаточном уровне.
К тому же, подробные «пошаговые» статьи про другие API мне также не удалось найти, возможно, их написание ещё имеет смысл (а возможно, плохо искал)
В 2013 (мне тогда было 13) пытался делать свою стратегию а-ля Dune II (без рельефа, тумана и изменяемых клеток). Я тогда это делал на Java и Swing. Даже помню, из-за чего прекратил — тогда считал, что для каждой клетки и каждого спрайта обязательно нужно хранить свой экземпляр BufferedImage для отрисовки, программа всегда вылетала из-за нехватки памяти
Увы, все, что можно было бы восстановить сейчас — 2 спрайта танка, одинаковые и похожие на Sonic Tank артрейдесов, но в разных палитрах: красно-серый и черно-голубой
Python, но использовать здесь его я побаивался из-за того, что этот язык известен прожорливостью
А вот это кстати зря. Python действительно очень известен своей прожорливостью и неторопливостью, и поэтому почти во всех наборах тестов (в том числе и на регионе) это учитывается.
Не согласен с утверждением, что у МТС только 30 ГБ за 800 рублей в месяц. Т.к. сам пишу этот комментарий с безлимитным тарифом (насколько — не проверял, но за июль под 120 ГБ набралось) за те же 800 рублей в месяц. Увы, подсказать название тарифа не смогу, но стоит поискать.
Возможно, что тут опять зависимость от региона. Т.е. в Лен. Области этот тариф есть, а в вашем регионе нет.
Однако с самой проблемой согласен, в прошлом году пользовался тарифом, видимо, описанным вами — называется безлимитным, а на деле только 30 ГБ и «турбо-кнопки» по 100 рублей/ГБ
Но разве дети взрывают бочки не потому что взрыв «красиво нарисован»? Причём взрыв — не самое важное. Я лично постоянно их взрывал именно поэтому. А бот не знает понятий «красиво», «взрыв» и тому подобных.
2 года назад пытался помочь своему однокласснику со школьным заданием по информатике. Суть в том, что при прогоне через отладчик узнали, что в приложениях на PascalABC.NET именно этот комп в качестве результата операции 7 + 1 возвращал 9. Баг больше не воспроизводился никак — исключительно на конкретном компьютере, под конкретным аккаунтом и только в PascalABC.NET, но при этом не зависел от Release/Debug-конфигурации
Ещё вот интересно на счёт этой системы, как она бы отреагировала, например, на близнецов. Тут сказано только про количество добровольцев, но не про то, насколько они были похожи друг на друга
Ну и конечно вспоминается анекдот про «заходит тестировщик в бар»
Ну, вы не заметили, для вас и нет в этом ничего полезного, раз у вас быстрый интернет, как вы говорите, позволяет стримить, а места на носителе мало.
А для меня бы это было неплохой фичей, потому как интернет у меня слабый и не очень стабильный. А размер хранимого кэша может быть и настраиваемым, из чего можно сделать вывод, что это всё-таки наверное проблема приложения, которым вы пользовались, а не самой идеи.
Всё это слишком сильно зависит от пользователя и от приложения
И да, я написал, что «специально сделанное приложение может, а браузер общего назначения нет», а не что «это нужно всем», так что гневные комментарии здесь всё-таки ни к чему.
Ну, это, конечно, безусловно, так
Но все же, если есть возможность снизить нагрузку на систему, то имеет смысл этой возможностью воспользоваться. Ведь всегда найдётся человек, которому это пригодится. Хотя да, сейчас людей, которым пригодилась бы такая оптимизация, очень мало
Ну, то есть возможность далеко пролистать ленту параллельно с запущенным тяжеловесным приложением была бы достаточно полезна, но, безусловно, слишком малому количеству людей, чтобы забрасывать основной браузерный клиент, и начинать разрабатывать официальное приложение.
У отдельного приложения есть как преимущества, так и недостатки.
Собственно, основной недостаток вроде как уже назван в вашем комментарии — плагины для браузеров проще и занимают меньше места.
Из преимуществ отдельного приложения например то, что приложение может (в теории) сохранить скачанные данные на диск, и не загружать одну и ту же запись два раза. Так же приложение может не скачивать разметку, а сгенерировать её уже локально или вообще совсем по-другому (поправьте, если ошибаюсь, но вроде как браузерные клиенты этим двум вещам пока что не научились). Таким образом, приложение может несколько ускорить загрузку той же новостной ленты.
Хотя, я сейчас, конечно, занимаюсь гонянием сферических коней в вакууме, и вряд ли кто-нибудь станет делать отдельное приложение для персоналок.
В целом я рекомендую использовать vcpkg для установки библиотек и cmake для организации проектных файлов, благо Visual Studio 2019 спокойно жует и то, и другое, и на подобных небольших проектах они довольно просты в использовании.
Можно такое сделать прорисовкой поверх треугольников? Было бы интересно посмотреть на результат.
В данном случае невозможно выразить NUMTHREADS через константу, т.к.
[numthreads(...)]
принимает только литералы. Чтобы эта константа была определена в одном месте (а используется она в шейдере и в вызывающем коде), использовал#define
— очень редкая ситуация, в которой можно попытаться оправдать макрос.PARTICLE_COUNT
задефайнен для единообразия.На счет
NULL
илиnullptr
здесь не уверен, вероятно, Вы правы.Оценку своего опыта в плюсах давать не рискну, т.к. этот опыт делится на олимпиадные задачи, мелкие проекты по типу приведенного в статье и заброшенные незавершенные проекты (в основном попытки создания игр). Если же интересует именно время — примерно с 2013.
Вас это смутило?
Я неправильно выразился. Имел ввиду именно статьи, аналогичные этой, где подробно описывается простое применение вычислительного шейдера.
К тому же LearnOpenGL описывает OpenGL 3.3, а вычислительные шейдеры официально добавлены в спецификацию в OpenGL 4.3
К тому же, подробные «пошаговые» статьи про другие API мне также не удалось найти, возможно, их написание ещё имеет смысл (а возможно, плохо искал)
Увы, все, что можно было бы восстановить сейчас — 2 спрайта танка, одинаковые и похожие на Sonic Tank артрейдесов, но в разных палитрах: красно-серый и черно-голубой
А вот это кстати зря. Python действительно очень известен своей прожорливостью и неторопливостью, и поэтому почти во всех наборах тестов (в том числе и на регионе) это учитывается.
Возможно, что тут опять зависимость от региона. Т.е. в Лен. Области этот тариф есть, а в вашем регионе нет.
Однако с самой проблемой согласен, в прошлом году пользовался тарифом, видимо, описанным вами — называется безлимитным, а на деле только 30 ГБ и «турбо-кнопки» по 100 рублей/ГБ
Ну и конечно вспоминается анекдот про «заходит тестировщик в бар»
А для меня бы это было неплохой фичей, потому как интернет у меня слабый и не очень стабильный. А размер хранимого кэша может быть и настраиваемым, из чего можно сделать вывод, что это всё-таки наверное проблема приложения, которым вы пользовались, а не самой идеи.
Всё это слишком сильно зависит от пользователя и от приложения
И да, я написал, что «специально сделанное приложение может, а браузер общего назначения нет», а не что «это нужно всем», так что гневные комментарии здесь всё-таки ни к чему.
Но все же, если есть возможность снизить нагрузку на систему, то имеет смысл этой возможностью воспользоваться. Ведь всегда найдётся человек, которому это пригодится. Хотя да, сейчас людей, которым пригодилась бы такая оптимизация, очень мало
Ну, то есть возможность далеко пролистать ленту параллельно с запущенным тяжеловесным приложением была бы достаточно полезна, но, безусловно, слишком малому количеству людей, чтобы забрасывать основной браузерный клиент, и начинать разрабатывать официальное приложение.
Собственно, основной недостаток вроде как уже назван в вашем комментарии — плагины для браузеров проще и занимают меньше места.
Из преимуществ отдельного приложения например то, что приложение может (в теории) сохранить скачанные данные на диск, и не загружать одну и ту же запись два раза. Так же приложение может не скачивать разметку, а сгенерировать её уже локально или вообще совсем по-другому (поправьте, если ошибаюсь, но вроде как браузерные клиенты этим двум вещам пока что не научились). Таким образом, приложение может несколько ускорить загрузку той же новостной ленты.
Хотя, я сейчас, конечно, занимаюсь гонянием сферических коней в вакууме, и вряд ли кто-нибудь станет делать отдельное приложение для персоналок.