![]() |
Главная
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
14 марта 2023 |
Сегодня день Пи. Всех с праздником !
|
8 марта 2023 |
Всех с праздником !
Исправил ошибку с с загрузкой DDS в python-code. |
5 марта 2023 |
Выкладываю новую статью - Непериодическое повторение текстуры. Рассматриваются различные способы повторения текстуры чтобы извежать хорошо заметной периодичности. Примеры кода есть в репозитории в каталое python-code. |
23 февраля 2023 |
|
17 февраля 2023 |
Оказывается ровно 24 года назад был изготовлен мастер-диск Heroes of Might and Magic III. В свое время много сил и времени было отдано третьим героям и на мой взгляд именно они являются лучшими. Небольшой рассказ про их историю с кучей интересных деталей - C Днём Рождения, Герои Меча и Магии 3. Нашел интересный видео-урок по созданию эффекта дождя на поверхности для UE4. Попробую переписать это на GLSL и рассказать здесь. |
11 февраля 2023 |
Новая статья - Проективное текстурирование. Рассматривается как можно текстурировать поверхности, когда не заданы текстурные координаты. Была исправлена небольшая но гадкая опечатка в Mesh.py - неверно считался AABB для создаваемого объекта. Большая просьба хотелось бы получить обратную связь на статьи по Vulkan и пользуется ли кто-то питоновский код из репозитория. |
18 января 2023 |
Следующая статья по Vulkan - Библиотека VMA (Vulkan Memory Allocator) . Она посвящена использованию библиотеки VMA, позволяющей упростить выделение памяти GPU и преодолеть ограничение на число выделений памяти в Vulkan. |
9 января 2023 |
А вот и первая статья в этом году - Скелетная анимация с ASSIMP. Хоть она и не по Vulkan я надеюсь вам понравится.
|
31 декабря 2022 |
Всех с наступающим 2023 годом !
В этом году было очень много всего, год был тяжелым, но важным для всей страны. На этот год у меня был план по числу статей и обновлений на сайт и его впервые за последние несколько лет удалось полностью выполнить. Хочется теперь в наступающем году не уронить планку - будет много новых статей по самым разным темам.
|
25 декабря 2022 |
Обещанная в этом году лекция по Vulkan - рендеринг треугольника во внеэкранный буфер. В этой лекции рассматривается рендеринг треугольника, но не в окно, а во внеэкранный буфер. Это связано с тем, что процесс рендеринга в окно в Vulkan гораздо сложнее, чем в OpenGL (но и дает больше возможностей для управления процессом показа) В новом году будут новые лекции, в первую очередь по Vulkan. Но там будет рассматриваться уже использование различных объектов для "заворачивания" сущностей Vulkan. Это позволяет сделать программу гораздо компактнее и понятней. Кроме Vulkan есть планы на ряд других лекций.
|
18 декабря 2022 |
Выкладываю ссылку на еще одну подборку лекций по Vulkan. До Нового Года будет еще одна лекция по Vulkan. Это будет рендеринг треугольника во внеэкранный буфер. Хотелось бы получить какие-то отзывы по лекциям по Vulkan - что нравится,что нет, насколько полезны. |
3 декабря 2022 |
Сегодня 3 декабря - 3D Day. Поздравляю всех причастных и интересующихся ! Выкладываю ссылку на подборку лекций по Vulkan. Очень хорошее объяснение ряда деталей Vulkan.
|
13 ноября 2022 |
Новая (правда небольшая) статья по Vulkan - Особенности систем координат в Vulkan, отличия от OpenGL.
|
30 октября 2022 |
Почитал несколько статей по рендерингу каустики и выкладываю свой код. Посмотрел на днях фильм "Лучшие в аду" - очень понравился, так что рекомендую. Готовлю еще несколько статей по Vulkan, к последней выложил отсутствовавший архив с кодом.
|
29 сентября 2022 |
Выкладываю новую статью о Vulkan - Часть 4. Шейдеры, pipeline layout, compute pipeline.
|
25 сентября 2022 |
Хочу поделиться парой интересных ссылок - интересная статья о дисеринге - Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать. Возможно позже я сделаю свою реализацию описанных алгоритмов. В открытый доступ выложил классную книгу - Game Programming Patterns. Это книга о паттернах проектирования применительно к играм. Книга на английском.
|
19 сентября 2022 |
19 сентября - международный пиратский день (точнее день "говорим как пираты"). Всех пользователей торрентов с праздником !!!
|
13 сентября 2022 |
Сегодня 256-рой день в году - день программиста !!! Всех с профессиональным праздником !
|
9 сентября 2022 |
День тестировщика. Всех тестировщиков с праздником. Больше тестов хороших и разных !
|
5 сентября 2022 |
Новая статья - Трехмерные SDF и операции над ними.
|
21 августа 2022 |
Ряд правок примеров на python - добавлена загрузка GLTF, классы VertexFormat и Renderpass. Класс VertexFormat фактические заворачивает в себя настройки буферов и содержит Vertex ArrayObject, файл two.py - пример использования. Класс Renderpass это обертка целого прохода рендеринга (в том числе и во фреймбуфер), включая очистку, bind для используемых текстур и шейдерной программы. Буду рад любым отзывам по полезности и вообще использованию python для на работы на OpenGL. Продолжаю написание текстов по Vulkan и скоро будет следующий.
|
31 июля 2022 |
Сегодня день Военно-Морского Флота. Всех с праздником ! Выложил третью статью про Vulkan.
|
26 июня 2022 |
Выложил вторую статью про Vulkan.
|
17 июня 2022 |
Наконец-то убогий мелкомягикй браузер окончательно сдох !
Также несколько небольших правок в репозитории. Наиболее серьезная - в оконных кассах изменены методы для расчета модельно-видовой матрицы и матрицы проектирования - теперь матрица проектирование это чистый glm.perspective, а glm.lookAt входит в состав модельно-видовой матрицы.
|
3 июня 2022 |
Выложил первую статью про Vulkan. Планируется большая серия статей по Vulkan. Причем вначале мы будем идти прямо по raw API, а затем переключимся на использование helper-классов, поскольку без них код даже для рендеринга треугольника получается очень громоздкий. Первое время буду выкладывать архивы с исходным кодом, потом перенесу код на github.
|
9 мая 2022 |
В примерах на python добавлен рендеринг clear coat - поверхности со слоем лака поверх основного материала.
Также была исправлена ошибка на питоне по загрузке некоторых палитровых текстур. Добавлен в код на С++ класс Renderpass, заворачивающий сразу много параметров в одну простую операцию. Некоторое время назад я купил Far Cry 6 и все никак не мог запустить - игра требовала не просто мягкие окошки 10, а установленных определенных обновлений - без них игра просто не запускалась с довольно бредовым сообщением. Все-таки накатил эти обновления и начал проходить. Очень красиво и бредово. Судя по всему просто переложение Far Cry 5 в другой сеттинг. Но побегать и пострелять сгодится. Ну а дрессированный крокодил, бросающийся на противников - это просто мега-круто !
|
9 мая 2022 |
Всех с праздником Великой Победы !
Новая статья - Рендеринг кожи.
|
19 апреля 2022 |
Уже очень давно хотел написать статью про Physically Based Rendering и вот наконец могу ее выложить - Physically Based Rendering. Планирую в будущем ее дополнить статьей по IBL PBR.
|
11 апреля 2022 |
Выкладываю новую статью - Что такое гамма ?. В ней рассматривается что такое гамма, гамма-коррекция и эачем все это нужно.
|
28 марта 2022 |
В свой день рождения выкладываю новую статью - Текстуры движения. В ней рассматривается как можно анимировать произвольную текстуру при помощи так называемой текстуры движения (flow texture). Весь код к ней находится на github.
|
11 марта 2022 |
Много мелких правок кода на python. Добавлен класс Font.py для рендеринга SDF-шрифтов и добавлен пример на использование такого шрифта (перевод соответствующего кода с С++). Добавлен маленький пример на python выводящий анимированный четырехмерный куб. Ряд старых примеров кода, живших на Google Code, переехали на github - https://github.com/steps3d/old-graphics-code. Код старый и местами может не собираться. Буду благодарен за любые замечания и исправления.
Обратите внимание там есть старые примеры кода на Vulkan https://github.com/steps3d/vulkan-samples.
Я готовлю несколько статей по Vulkan, но для них код будет перерабатываться и скорее всего это будет новый репозиторий.
Все примеры собираются под Windows и Linux.
|
20 декабря 2021 |
Новая статья - Detail normal maps. В ней рассматривается как накладывать друг на друга две (в перспективе и больше) карты нормалей - например, наложение карты детализации на основную.
|
3 декабря 2021 |
Сегодня 3 декабря - 3D Day ! Все причастных и интересующихся праздником !
|
2 декабря 2021 |
С ужасом посмотрел на дату последнего обновления сайта - просто кошмар. Хотя на самом деле я много чего делаю, ведется работа над новой книгой (точнее сразу двумя - одна почти готова, но задержалась от независящих от меня обстоятельств), над второй работа только начинается - в основном пока примеры кода. По ряду примеров, сделанных ранее, будут статьи и сейчас я выкладываю первую Using modern OpenGL with python. Там рассматривается использование современного (3.х и старше) OpenGL вместе с python 3, есть ряд примеров кода и свои helper-классы. Так что в следующих статьях код будет не всегда на С++, но и на python. Слегка обновил страничку по инструментам - внезапно очень понравился VS Code - никогда не думал, что буду хвалить что-то от мелкомягих, но редактор очень хорош - кроссплатформа, куча плагинов. Уже не первый год постоянно использую Meld - визуальный diff/merge. Изначально он был только под Linux, но сейчас есть и виндовая версия. Очень удобный инструмент, когда надо сравнить два огромных каталога со слегка отличающимися файлами. Удобно также, что можно не только переносить файлы и изменения, но и редактировать код прямо на месте. Много лет писал код на python исключительно на Notepad++, сейчас начал все больше использовать PyCharm. По совету бывших (увы) коллег из Cadence попробовал в качестве редактора векторной графики Inkscape - после ряда видеоуроков удалось разобраться в нем и я собираюсь полностью перейти на него (с Visio). Хотя интерфейс у него явно не очевидный и требует привыкания. У меня уже сейчас готова еще пара статей и есть планы еще на несколько, так что я надеюсь, что обновления на сайте будут появляться чаще.
|
9 марта 2020 |
К сожалению довольно редко получается писать. Хотя на самом деле почти завершена работа по второй части книги и и продумывается третья часть (Vulkan и CUDA). Вышла книга по работе с CUDA на Python, которую я переводил для издательства ДМК Пресс. Сейчас читаю очень интересную книгу по паттернам в современном С++, огромным плюсом книги является то, что в ней хорошо разобраны такие вещи как RAII, SFINAE, CRTP и т.п. С огромным удовольствием прошел второе дополнение к игре Metro:Exodus - просто великолепно. Хочется пройти еще раз более внимательно. Но хочется больше открытости, а не рельсы.
|
28 июля 2019 |
Наконец вышла первая часть книги - По этой ссылке можно ознакомиться с оглавлением книги. Весь код к книге доступен на github. Для сборки используется cmake, но есть и обычные make-скрипты для Linux и форточек. Буду очень благодарен за комментарии и найденные ошибки. В ряде последних статей использовалась кодовая база именно для этой книги. Идет работа над второй частью - там будет много всяких спецэффектов и сложных шейдеров, часть материала также попадет и на сайт.
|
1 июля 2019 |
Выкладываю последние две лекции по CUDA в этом году - лекция 7, лекция 8. Наткнулся на заметку о легендарном в компьютерной граифке чайнике - Чайник из Юты: история эталонной 3D-модели. Первая часть уже готова и вот-вот выйдет - вот информация на сайте издательства . По этой ссылке можно ознакомиться с оглавлением книги. Почти завершена работа над второй частью - там будет очень много материала по различным спецэффектам и примеры их реализации на OpenGL. То, что книга оказалась разбита на две части позволило добавить много новых примеров, скриншоты к которым будут регулярно появляться на сайте.
|
18 апреля 2019 |
Выкладываю следующие две лекции по CUDA в этом году - лекция 5, лекция 6.
|
24 марта 2019 |
Прошло много времени с последнего обновления :)) Выкладываю сразу 4 лекции по CUDA в этом году - лекция 1, лекция 2, лекция 3 и лекция 4. Также есть новости по давно обещанной книге - в ряду причин она будет разбита на две части. В первой части дается традиционная математика - вектора, матрицы, преобразования и кватернионы. Также рассматриваются растровые алгоритмы, цвет, удаление невидимых поверхностей. Еще есть очень большая глава по освещению и физически-корректным моделям освещения. И рассматривается трассировка лучей и OpenGL 3.3 вместе с рядом спецэффектов. В следующую часть войдут сложные эффекты, OpenGL 4.5, некоторые приемы оптимизации, сплайны и многое другое. Исполнилось 12 лет с выхода моей любимой игры - STALKER: Shadow Of Chernobyl. регулярно к ней возвращаюсь. Сейчас играю в Metro: Exodus. Графика офигенная. Очень нравится свобода перемещения. Они по факту возвращаются в истокам - сталкеру. Осталось выбросить всю эту бредятину про метро и будет супер. Ну и выбросить всякие либеральные идеи - вроде той, что в Долине.
|
30 апреля 2018 |
Выкладываю восьмую лекцию по CUDA в этом году - брать здесь. Также новая статья - Order-Independent Transparency в OpenGL.
|
15 апреля 2018 |
Выкладываю седьмую лекцию по CUDA в этом году - брать здесь. Набор презентаций от Khronos на GDC 2018 - брать здесь. Также новая статья - Расширение ARB_bindless_texture. Картинка для новой книги (работа почти завершена, идет вычитка глав) - трехмерный фрактал, трассировка в реальном времени прямо в фрагментном шейдере.
|
6 апреля 2018 |
Выкладываю шестую лекцию по CUDA в этом году - брать здесь. Интересный сайт по шейдерам, включая шумовую функцию на GLSL. Очень порадовало видео, про выступающих против оружия в США. Где к группе выступающих против штурмовых винтовок обратились с просьбой объяснить, что же такое штурмовые винтовки. Ответа как вы понимаете, так и не последовало. Наводит на мысль, что все эти хоплофобы просто такие же больные на голову, как и антипрививочники. Ни те, ни другие совершенно не разбираются в предмете, против которого выступают. И не хотят разбираться - все же ясно говорят по телевизору (пишут в интернете) :)) А телевидение заботливо фильтрует подаваемую информацию - сомневаюсь, что много где рассказали о случае, когда преступника, ворвавшегося в школу и ранившего двоих учеников, застрелил один из сотрудников школы.
|
1 апреля 2018 |
Выкладываю пятую лекцию по CUDA в этом году - брать здесь. Очень интересная ссылка по трехмерные фракталы с кучей картинок.
|
22 марта 2018 |
Выкладываю четвертую лекцию по CUDA в этом году - брать здесь. Полезный тул (если кто не не знает) - cubemap filtering tool. Также к нему есть GUI - cmftStudio.
|
14 марта 2018 |
Сегодня - день Пи - 3.14. Так что поздравляю всех.
Выкладываю третью лекцию по CUDA в этом году - брать здесь. Наткнулся на пару статей с примерами красивых L-систем - первая и вторая. Еще одна интересная презентация от EA - Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite.
|
8 марта 2018 |
Поздравляю прекрасную половину с 8 марта !
Выкладываю вторую лекцию по CUDA в этом году - брать здесь. И еще одна интересная презентация от Frostbite - Physically Based and Unified Volumetric Rendering in Frostbite. Понадобилось построить серию графиков и диаграмм и открыл для себя библиотеку myplotlib для Python. Мне очень понравилось - всего несколько строк на Python позволяют строить красивые графики. Еще одна приятная новость - Khronos Group объявляет о релизе Vulkan® 1.1 и SPIR-V 1.3.
|
28 февраля 2018 |
Выкладываю первую лекцию по CUDA в этом году - брать здесь. И презентация о рендеринге в Mirrors Edge.
|
24 февраля 2018 |
Еще одна статья по CUDA - Cooperative groups в CUDA. На самом деле очень интересная новая возможность в CUDA 9, новый способ организации взаимодействия нитей, вплоть до взаимодействия между нитями одной сетки или даже нескольких сеток, выполняемых на разных GPU.
|
12 февраля 2018 |
Еще одна статья по CUDA - Некоторые возможности CUDA, часть 2. С 26 февраля начинаю читать спецкурс по CUDA на ВМК МГУ (понедельник, 16-20, ауд 524), будет много нового по сравнению с прошлым годом. Очень интересная статья о работе памяти - What Every Programmer Should Know About Memory. К сожалению написана в 2007 году и когда я показал ее одному из своих коллег-электронщиков, ряд положений были безжалостно раскритикованы как неверные или устаревшие. Но это касается в основном самого низкого уровня - устройство ячеек памяти, refresh и т.п. А в целом очень много интересной и полезной информации, важной для оптимизации работы с памятью. На днях вступил в ожесточенный спор с коллегой насчет плоского дизайна - в первую очередь в Windows 10. Мне было очень интересно неужели умному, образованному человеку может нравится этот шлак. Моя позиция на тему плоского дизайна - это убожество, дизайн для детей-дебилов, дизайн для даунов. Когда я потом стал вспоминать этот разговор, то понял, что на самом деле мне просто озвучили стандартные доводы в пользу плоского дизайна - что минимализм это очень здорово и его должно быть очень много и т.п. Правда все это я читал уже много раз и довольно давно. К сожалению предложение применить эти принципы к своей одежде или еде не нашло абсолютно никакой поддержки, что наводит на мысль, о том что собеседник понимает, что ничего хорошего это не даст. И вообще возникло ощущение, что подобный принцип минимализма уважаемый коллега (равно как и многие другие люди, которых я знаю) никогда не применяли к своей жизни или работе и не хотят принимать. И это вполне логично - фактически минимализм - это просто один из инструментов для создания UI. И его задача - бороться с усложнением и утяжелением интерфейса (что к сожалению часто встречается). А в том, что мы видим сейчас происходит абсолютизация этого принципа - он доводится до абсолюта, фактически мы получаем Reductio ad absurdum. И естественно это делается за счет других инструментов. Грубо говоря маятник искусственно тянут в сторону минимализма. И понятно чем это закончится - маятник пойдет обратно и мы увидим полную противоположность минимализма. К сожалению в силу того, что эта противоположность будет сильно гипертрофирована мы опять получим плохие интерфейсы.
|
11 февраля 2018 |
Выкладываю очередную статью по CUDA - Некоторые возможности CUDA, часть 1. Также были исправлены опечатки в ряде предыдущих статей по CUDA и было внесено исправление в статью о библиотеке thrust. Скоро снова начну курс по CUDA на ВМК МГУ, будут многочисленные дополнения по сравнению со старым. Как всегда, лекции буду выкладывать на сайт.
|
14 января 2018 |
Вот и наступил Новый 2018 год ! Как вы уже наверное заметили, я начал небольшую серию статей по CUDA. Это небольшие статьи по различным аспектам CUDA, появившимся в последние несколько нет, которые не вошли в курс по CUDA (ну и в мою книгу по CUDA). Планируется еще несколько таких статей - своего рода разминка перед чтением курса в этом году. Я собираюсь его заметно обновить и это как небольшая разминка. Вот очередная статья по CUDA - Динамический параллелизм в CUDA. Также я хотел бы поделиться несколькими интересными на мой взгляд ссылками - Статья о рендеринге в DOOM 4, Презентация Tiago Sousa и Jean Geffroy о рендеринге в DOOM 4. Еще одна интересная ссылка - How Unreal Renders a frame.
|
24 декабря 2017 |
Выложил новую статью по CUDA - Команда Shuffle и ее использование в CUDA.
|
17 декабря 2017 |
Выложил новую статью по CUDA - Работа с Unified - памятью в CUDA.
|
4 декабря 2017 |
Пока хронически не доходят руки написать свою статью про работу с OpenGL 3/4, решил выложить несколько полезных ссылок на эту тему. К сожалению вопрос о том, что почитать по современному OpenGL задается мне довольно часто и мало чего можно порекомендовать - большинство книг сильно устарели. Много всего правильно содержится в книге (котору я переводил) - OpenGL ES 3.0. Руководство разработчика. Хотя книга посвящена и OpenGL ES 3, в ней очень много полезной информации для того, чтобы начать писать на современном OpenGL. Еще одной достойной книгой является OpenGL 4. Язык шейдеров. Книга рецептов. Однако это книга именно по шейдерам и реализации различных эффектов. Также есть несколько статей в интернете с примерами того, как работать с современным OpenGL. Мне лично очень нравится следующий набор статей, начинающих с создания контекста и завершающийся созданием теней и постпроцессинга - Уроки по OpenGL 3. Также посмотрел на свои старые примеры и решил выложить инструкции по сборке. Они все собираются под Windows и Linux при помощи Makefile-ов (Makefile для сборки под Linux, Makefile.nmake для сборки под Windows). Для сборки требуются различные библиотеки, в данном архиве собраны они все - framework-old. Также могут понадобиться следующие наборы текстур - 1, 2 и 3.
|
16 апреля 2017 |
Выкладываю еще одну лекцию - восьмая лекция - основа OpenCL и вычислительные шейдеры в OpenGL.
|
9 апреля 2017 |
Выкладываю сразу две лекции - шестую и лекция седьмую.
|
26 марта 2017 |
Выкладываю сразу две лекции - четыре и лекция пять.
|
12 марта 2017 |
Выкладываю следующую лекцию по CUDA в этом году - третья. На самом деле на ВМК в этом году не только я читаю спецкурс по CUDA. Александр Колганов также читает спецкурс по CUDA - вот ссылка на его лекции.
|
5 марта 2017 |
Наконец обновление на сайте. Выкладываю первые две лекции по CUDA в этом году - первая и вторая. Из изменений в этом году планирую добавить пару лекций по Vulkan. Последнее время все время и силы уходят на два проекта - перевод книги Грэхема Селлерса "Vulkan. Programming Guide" и работа над своей книжкой по графике. Как только перевод будет закончен он выйдет в издательстве ДМК-Пресс. Своя книга больше всего близка к Computer Graphics: From Pixels to Programmable graphics hardware. Однако она полностью переработана, включено много нового материала, на новом фреймворке. Весь исходный код будет доступен на github. Книга будет большой и толстой и включать в себя очень много самого разного материала.
|
13 июня 2016 |
Выкладываю новую статью - Вычислительные шейдеры в OpenGL. Планируется еще несколько статей, также весьма плотно работаю в Vulkan. Как только удастся что-то понятное написать с читаемыми примерами - сразу же будет выложено на сайт.
|
29 мая 2016 |
Купил Doom 4 и сейчас активно прохожу. Впечатления пока потрясающие - море драйва, потрясающая графика. Жестокие убийства - просто супер. Единственное, что расстраивает - как можно было сделать в Doom сохранение только в контрольных точках. Как же достает это засилье консольщины, когда самые гадкие вещи тащат с консолей в PC-gaming. Купил свежую книгу Макса Фрая - Я иду искать. Очень нравится. Мне вообще нравятся все книги про сэра Макса. А вот остальные книги этого автора как-то не идут :((( Очень порадовал тот факт, что исходники старого доброго Serious Sam выложили в открытый доступ - смотреть здесь. Также стали доступны исходники Cry Engine. Ну и немножко попросили попиарить - ресурс с различными моделями, форумом и т.п..
|
9 мая 2016 |
Прежде всего - с Днем Победы ! Это святой праздник, очень грустно, что находятся выродки, поливающие этот праздник и нашу историю грязью Выложил на сайт новую (правда очень короткую) статью Расширение ARB_multi_draw_indirect. Хочется и в этот раз сказать несколько "добрых" слов о мелкомягких - неделю назад, внезапно, без предупреждения, без запроса разрешения Форточки 10 попытались поставиться на ноутбук моей жены. Мало того, что это было сделано без разрешения, так и без информации о том, что вообще происходит после включения сразу начинает что-то грузить и ставить. При этом вообще не упоминается Windows 10, нет никакой возможности отменить. Ну и по прошествии часа - "мы тут поставили вам Windows 10, ознакомьтесь с лицензионным соглашением". Очень мило - сперва эта блевотина ставится, а уже потом, когда ее поставили - лицензионное соглашение. К счастью при выборе "Отказываюсь", долго поскрипев винтом, исходная система все=таки была восстановлена. В-общем мелкомягкие во всей "красе". На самом деле я может бы и оставил Win10, но если бы это было сделано не откровенно по-хамски. Тут чисто из принципа я откатился назад, потом - GWX Control Panel и полный запрет на дальнейшие подобные действия. Посмотрел совершенно великолепный фильм - "Игра на понижения". Никакая это не комедия, а очень грустная правда о той жадности, тупости и сговоре, которые привели к кризису 2008 года. Очень советую посмотреть, особенно если вы все еще верите в демократию. Сделал себе предзаказ Doom 4, теперь жду качественного мяса.
|
26 апреля 2016 |
Выкладываю новую статью - Работа с библиотекой GLFW. В ближайшее время будет несколько статей по Vulkan. Также продолжатся статьи по расширениям OpenGL. Хочу попиарить одну достойную книгу - Очень хорошая книга - сжатый и конкретный рассказ о новых и полезных фичах С++ 11 и С++ 14.
|
15 марта 2016 |
Выкладываю небольшую статью - Расширение ARB_vertex_attrib_binding. В ближайшее время будет статья по библиотеке GLFW и несколько статей по Vulkan. Ну и немножко "доброго" о форточках-10.
Опять же на эту тему очень понравилась статья Тим Суини из Epic Microsoft wants to monopolise games development on PC. We must fight it. Статья о том, что Universal Windows Platform (UWP) это фактически способ мелкомягимх монополизировать игровой (и не только игровой) рынок - фактически единственным способом распространения приложений под UWP является через мелкомягкий Windows Store. Т.е. мелкомягкие хотят вклиниться между пользователем и разработчиком игры. Понятно, что это подвергает большой угрозе такие удобные сревисы как Steam - да, можно настроить форточки так, чтобы можно было ставить приложения этого типа не только из мелкомягкого магазина, но и из других источников, но это требует влезания вглубь настроек и мало кто будет это делать. При этом мне лично нравится Steam и я с удовольствием покупаю игры через них и я им доверяю, но я вообще не доверяю микро$офту. Собственно одна из целей введения и столь агрессивного пропихивания форточек-10 это именно подсаживание пользователей на новый тип приложения и магазин от мелкомягких. Пока классические приложения практически не ущемляются, но это только вопрос времени, когда это начнется. И это будет делаться просто установкой очередного обновления, от которого отказаться уже нельзя. Т.е. речь идет о попытке превратить открытую платформу PC в закрытую и полностью контролируемыми микро$офтом. Всякие разговоры о безопасности - это полный бред. Как известно самая большая уязвимость сидит за клавиатурой. Ну и вспомним сколько критических уязвимостей нам подарили за последний год как сами M$, так и ряд вполне уважаемых компаний. Вирус, внедренный в документ M$ Office или в flash это фактически самый распространенный способ заражения. И его новый тип приложений не исправит, поскольку уязвимость изначально содержится в самих приложениях.
|
28 февраля 2016 |
После долгого перерыва первое обновление. За время, прошедшее с последнего обновления на сайте, успел выйти омерзительная Windows 10 и долгожданный Vulkan. Насчет Windows 10 даже говорить долго не хочется - по сути эта даже Windows 8, с небольшими косметическими правками, переименованная из маркетинговых соображений. Которая несет в себе постоянный шпионаж за пользователем, неотключаемые обновления, пасьянс с рекламой и куче предустановленного дерьма. На эту тему есть несколько добрый статей на сайте автора DirectX - Alex StJohn'а с весьма красноречивыми названиями. Ниже я просто приведу картинку с его сайте.
Также у меня вышла новая книга Компьютерная графика. Учебник и практикум. Это учебник для магистров по основам графики и OpenGL, есть глава по шейдерам. Очень порадовал выход Vulkan и я готовлю ряд статей по нему. Глядя на форму gamedev.ru у меня сложилось ощущение, что многие ожидали чего-то другого. Хотя на самом деле вышло именно то, что и должно было выйти. Естественно, что новый API сложнее, чем Mantle, поскольку он должен поддерживать большое количество различных GPU, включая мобильные GPU с тайловой архитектурой. Естественно, что куча всяких неявных действий, выполняемых OpenGL "за кадром" теперь нужно явно выполнять самому - это естественно вытекает из получения полного контроля - контроль всегда подразумевает и ответственность. Сравнение с CUDA не совсем корректно - во-первых, нужно сравнивать с CUDA driver API, а он гораздо сложнее, а во-вторых - сам graphics pipeline гораздо сложнее чем compute pipeline. Отсюда и вытекает полученная сложность. Кроме того, под него пока нет практически никаких библиотек. Для примера попробуйте написать на OpenGL, не используя никаких библиотек - только сам OpenGL и WinAPI. Поверьте, число строк будет весьма серьезным. Для всех своих примеров я использую библиотеки - иногда свои, иногда нет. Со временем вокруг Vulkan появятся такие библиотеки, облегчающие написание программ. Очень нравится в Vulkan, то что с самого начала вводятся conformance тексты. Так что есть большая надежда, что программы наконец-то будут работать одинаково на различных GPU. Кроме того, драйвера будут заметно проще и компилятор шейдеров вынесен из драйвера, что тоже уменьшит количество проблем. Использование бинарного формата для шейдеров позволит использовать шейдеры на различных языках - пока есть реализация компилятора только для GLSL, но никто не мешает писать свои компиляторы для других языков. Ну и еще одна добрая картинка напоследок -
|
9 марта 2015 |
Выкладываю еще одну статью по OpenGL - Расширение ARB_multi_bind. Также выкладываю лекции по CUDA, прочитанные за последние две недели - первая и вторая. На этой неделе прошла GDC 2015 и на ней были несколько докладов по OpenGL Next. Было дано новое имя - Vulkan и выложены слайды по новому API, сам API будет представлен позже в этом году. Вот основная презентация по новому API. Вот еще одна презентация, более подробно рассказывающая о новом API. Новый API является довольно низкоуровневым и многое из того, что OpenGL делал за программиста, нужно будет делать явно. Но это и одновременно дает в руки программиста гораздо больше возможностей по оптимизации кода. IMHO OpenGL никуда не денется - с одной стороны есть очень много работающего кодаЮ который никто не будет переписывать, с другой стороны далеко не всем нужен такой контроль и не каждый захочет взять на себя всю необходимую работу. Так что для многих задач OpenGL будет вполне простым и удобным решением. Постепенно, с развитием различных библиотек под Vulkan, переход на него будет упрощаться для тех, кому не нужно столь высокое быстродействие. Интересной особенностью Vulkan является то, что для него (как и для OpenCL 2.1) задается бинарное внутреннее представление для шейдеров. При этом совсем не важно на каком языке был написан шейдер - главное, это чтобы его можно было откомпилировать в это представление. Так уже обещают C++ для OpenCL 2.1. Все это очень радует и хочется, чтобы поскорее можно было все это попробовать.
|
1 марта 2015 |
Выкладываю новую статью - Использование спецификатора layout в GLSL . Также немного почистил список статей и раздел Code Snippets. Если есть какие-то пожелания по тому, что можно включить в этот раздел - пишите на форуме или в личку. На следующей неделе будет проходить GDC 2015 и в его рамках пройдут доклады, посвященные glNext. Так что жду с большим нетерпением. Еще несколько статей уже написаны (на бумаге) и ждут того, когда я их наконец наберу. Ну и на злобу дня - я лично рад тому, что жулика и вора Немцова пристрелили. Если бы я верил в ад, то пожелал бы ему там гореть.
|
14 февраля 2015 |
Поздравляю всех с днем Святого Валентина. Кроме того, оказывается сегодня еще и вполне программистский праздник - 14 февраля 1946 был продемонстрирован первый электронный компьютер ENIAC-1. Выкладываю новую статью - по расширению ARB_shader_image_load_store. Очень понравилась кнопка сделать все хорошо. Еще начал читать книгу Эндрю Мэтьюза Живи легко! - очень рекомендую.
|
8 февраля 2015 |
Выкладываю новую статью - по расширению ARB_shader_storage_buffer_object. Опять порадовали мелкомягкие - очередная уязвимость нулевого для в Internet Explorer. И аналогичным образом порадовала Adobe с очередной огромной дырой в флеше, когда он наконец сдохнет. Понравилась очередная статья об эффективном использовании OpenGL. Очень порадовало, что на GDC 2015 будет рассказ о glNext от Valve. Начал читать нового Макса Фрая - Слишком много кошмаров - очень нравится.
|
1 февраля 2015 |
Выкладываю новую статью - Расширение ARB_buffer_storage . Из последнего прочитанного понравилась статья о PBR в Skyforge и продолжение рассказа о построении всего конвейера на CPU - 5 и 6. Еще с интересом прочитал Основы программирования графики на Apple Metal: Начало.
|
26 янавря 2015 |
Недавно наткнулся на то, как могут различные религии трактовать стакан (он наполовину полон или наполовину пуст). На gamedev.ru в теме о восстановлении координат по значением из z-буфера встретил утверждение о том, что приведенная моей статье формула неверна. Сразу решил это проверить. Оказалось, что не смотря на одну ошибку итоговая формула все-таки верна. Дело просто в том, какое именно значнение подставляется в эту формулу - непосредственно из буфера глубины (т.е. изменяющееся на отрезке [0,1]]), или же уже приведенное к отрезку [-1,1] (т.е. фактически уже zNDC). Еще очень понравились лекции по графике на Хабре - там делается попытка разобрать все с самого начала, включая растеризацию, написание буфера глубины и т.п. Лекции - 1, 2, 3, 4a и 4b.
|
6 янавря 2015 |
А выкладываю новую статью - Расширение ARB_texture_storage. Мне понравилась эта статья, где автор высказывает свои мысли насчет языка Swift. Честно говоря я сам Swift не пробовал (и не собираюсь), но много про него читал. И ощущение очень похоже - это просто красивый syntax sugar, для тех, кому неприятен синтаксис Objective-C. На самом деле по сути это просто урезанный вариант Objective-C, причем именно урезанный (например, выкинута вся работа с метаинформацией). И в этом смысле он просто выдумка маркетологов - для программистов он ничего не дает (IMHO). Очень понравились две статьи на Хабре про использование OpenGL из питона - PyOpenGL для начинающих и немного новогоднего настроения и PyOpenGL с шейдерами. Вот это Маргарет Хамильтон, ведущий программист в NASA и программа для посадки Аполлона, которая она написала. И, думаю, багов в этой программе горазде меньше чем в нынешних форточках :(((
Очень порадовала Гейм-дизайн vs обработка дерева. Повеселил скандал вокруг GTA V - в Австралии нашлись больные на голову граждане, требующие запретить продажу игры из-за того, что в игре можно убить несколько женщин (судя по всему то, что в этой игре можно убить во много раз больше мужчин из вообще не волнует). И совершено верный ответ - Не нравится GTA V — просто не покупайте её. Также порадовал ответ одного из игроков - он предложил на совершенно таком же основании запретить продажу библии (что IMHO было бы очень неплохо) и даже набрал немало голосов в поддержку. Очень понравилась статья о том, как компании искусственно снижают срок службы своих товаров, я думаю многие сталкивались с этим в той или иной форме. Немного о политике - Как выглядели бы сообщения в твитере американских оппозиционеров. Посмотрите и подумайте. Почему-то у нас очень принято поливать дерьмом свою Родину. Причем очень часто это делается людьми которые ничего достойного вообще не сделали. Революции в нашей стране всегда заканчиваются гибелью огромного количества людей и разрухой, причем потом выясняется что все революционеры строить сами ничего не умеют. Есть очень хорошее высказывание Франсуа Миттерана о том, что к сожалению все люди, которые знают как надо управлять государством работают таксистами. У нас это к сожалению тоже так :(((
|
2 янавря 2015 |
Поздравляю всех с наступившим 2015 годом. Постараюсь в этом году чаще обновлять сайт. А сейчас выкладываю новую статью - статью о работе с библиотекой thrust.
|
Старые новости |