Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the antispam-bee domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/ruwritingagame/public_html/wp-includes/functions.php on line 6131

Warning: Cannot modify header information - headers already sent by (output started at /home/ruwritingagame/public_html/wp-includes/functions.php:6131) in /home/ruwritingagame/public_html/wp-includes/feed-rss2.php on line 8
Side notes – Игра в Написание Игры https://writingagame.ru Роман-ностальгия по временам когда программирование было Искусством, а не ремеслом Tue, 29 Nov 2022 05:21:58 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 OpenGL ES vs Vulkan vs Angle https://writingagame.ru/index.php/2022/01/07/opengl-es-vs-vulkan-vs-angle/ https://writingagame.ru/index.php/2022/01/07/opengl-es-vs-vulkan-vs-angle/#respond Fri, 07 Jan 2022 01:30:00 +0000 https://writingagame.com/?p=1320 Конечно, меня мучали сомнения по поводу выбора OpenGL ES.

  • Действительно ли он прям ТАКОЙ кросс-платформенный?
  • Может, надо было выбрать Vulkan? Или что-то еще?
  • Готов ли я пожертвовать поддержкой Apple ради такого выбора?

Теперь у меня есть и ответы:


Vulkan

Не будем углубляться здесь насколько он хорош (а он и правда хорош):

  • Скорострельный
  • Поддерживает много-ядерность
  • ОЧЕНЬ хардверно-ориентированный

Однако меня больше интересует насколько он кросс-платформенный. Оказывается, не совсем.

  • Не все GPU его поддерживают (по крайней мере пока)
  • Apple уже объявил, что отказывается от поддержки Vulkan-а (как и OpenGL-а) в пользу своего Metal
  • Кроме того, совсем не прост в использовании
  • Предназначен для driver-level программирования, не для apps

А главное, он даже НЕ кросс-GPU !! Он GPU-specific, так что Vulkan программы для AMD и для, скажем, Nvidia будут отличаться!

Вобщем, пожалуй, правильно, что выбрал не его…


OpenGL ES

Ситуация с OpenGL ES выглядит для меня гораздо более оптимистично и обнадеживающе. Почему? Потому что:

  • Работает практически на всех GPU
  • ДОСТАТОЧНО быстрый и мощный
  • Концептуально очень чистый и последовательный
  • Требуется WebGL-ом, а значит: браузеры на ВСЕХ платформах (включая Apple) в итоге будут ДОЛЖНЫ его поддерживать. Поверьте, Google (как главный продвигатель и интересант WebGL-а) НАЙДЕТ как всех “убедить” следовать его стандарту.

Angle

Гугловский проект Angle (Almost Native Graphics Layer Engine) – неплохая иллюстрация к моему предыдущему тезису. Я раньше не знал, но главная задача этого Проекта – это кросс-платформенная поддержка WebGL-а. Это драйвер, который переводит вызовы OpenGL ES в нативные для данной платформы (если это Apple – то в Metal).

  • Отметим, что это правда ТОЛЬКО для OpenGL ES, другие API-и не покрывает.

Пока Apple поддерживает OpenGL и так, но скоро (при достаточной последовательности и настойчивости) может и перестать. Но для Angle это проблемой не станет, он все-равно примет OpenGL ES команды, и отработает их хоть на Metal-е, хоть на чем-то еще что окажется у него под рукой.

Кстати, Angle может отрабатывать их и на Vulkan-е (если надо).


Вывод:

Я безмерно рад и благодарен (себе же), что изначально выбрал OpenGL ES. Это был действительно мудрый (и наилучший) выбор.

  • Не пробовал пока на Mac-е или на iPhone, но одно ясно: с Энглом или без, но работать это будет. Не говоря уж о других платформах

]]>
https://writingagame.ru/index.php/2022/01/07/opengl-es-vs-vulkan-vs-angle/feed/ 0
Видео. DaVinci Resolve https://writingagame.ru/index.php/2022/01/06/video-davinci-resolve/ https://writingagame.ru/index.php/2022/01/06/video-davinci-resolve/#respond Thu, 06 Jan 2022 23:07:00 +0000 https://writingagame.com/?p=1313 Настал момент, когда мне понадобилось в моем блоге поделиться не просто картинкой, а видео. Задача разбивается на несколько шагов:

1. Записать (захватить) видео

Допустим, у меня на экране анимация, которую я собираюсь записать (захватить).

Windows 10 предлагает Capture утилиту для записи дисплея. Это часть Xbox Game Bar-а. Для запуска – нажмите Windows+G. Или можно открыть Start menu и запустить Xbox Game Bar оттуда.

В меню выбираем Widgets под-меню, и выбираем инструмент Capture. Выглядит так:

Наверное, ясно что с ним делать (просто начать и остановить запись). После этого Ваше видео будет сохранено в каталогеVideo\Captures, который находится в C:\Users\???\Videos\Captures.


2. Редактирование видео

Для этого понадобится какой-то Видео редактор. По мне – чем проще – тем лучше. Мое второе требование (скорее даже первое) – должен быть бесплатным. Попробовав несколько, остановился на Davinci Resolve 17. Далеко не самый простой, но сопровожден внятными обучалками, что существенно все облегчает.

2.1. Скачать можно здесь.

Запускаем. Первый экран:

Очевидно, double-click на “Untitled Project”.


2.2. Главный экран:

Первое что нужно сделать – это загрузить Ваши исходные видео-материалы.


2.3. Загрузка видео: Top menu -> File -> Import -> Media:

Выберите Ваш видео файл. Может спросить: “Change Project Frame Rate?” – Change.

Теперь он в Media Pool секции (сверху слева).


2.4. Drag-and-drop его в Timeline секцию:


2.5. Выбрать стартовый кадр Вашего клипа:


2.6. Запомнить его: Trim -> Trim Start

То же с финальным кадром: выбрать последний кадр, потом Trim -> Trim End.


2.7. В моем случае этого было достаточно, можно сохранять результат, для чего нужно переключиться в экран “Deliver“. Кнопка – в нижней панели управления:


2.8. Задать имя и каталог выходного файла, выбрать видео-формат:


2.9. И добавить в очередь на исполнение – Add to Render Queue:


2.10. И – Render All:

Когда отрендрилось – всё, Ваш клип – в Вашем каталоге.


3. Видео хостинг

Выходной файл (в моем случае mp4) довольно большой, так что лучше держать его не на своем сервере. Youtube представляется достойной альтернативой. Значит, идем на youtube.com, кликаем на Вашу иконку в верхнем правом углу, добавляем канал, заливаем Ваш клип, отвечаем на пару вопросов и публикуем!

Вам будет выдан линк, который можно врезать в Вашу страницу.


4. Linking to your page

Youtube также предоставляет HTML код для врезки в Веб-страницу. Мне пришлось его маленько подрихтовать, чтобы помещался получше и чтобы проигрывался циклично:

<iframe width="100%" height="400" 
src="https://www.youtube.com/embed/eZ5UKOL3plY?controls=0&autoplay=1&loop=1&playlist=eZ5UKOL3plY" 
title="Shader groups" frameborder="0" allow="accelerometer; 
autoplay; clipboard-write; encrypted-media; gyroscope; 
picture-in-picture" allowfullscreen=""></iframe>

Вставляем код в Веб-страницу, публикуем. Результат:


]]>
https://writingagame.ru/index.php/2022/01/06/video-davinci-resolve/feed/ 0
Visual Studio: the file contains a virus?! https://writingagame.ru/index.php/2022/01/02/visual-studio-the-file-contains-a-virus/ https://writingagame.ru/index.php/2022/01/02/visual-studio-the-file-contains-a-virus/#respond Sun, 02 Jan 2022 05:59:00 +0000 https://writingagame.com/?p=1301 С какого-то момента начал получать от Windows Defender-а такие сообщения:

Microsoft Visual Studio: Unable to start program ‘C:\CPP\…\w.exe’. Operation did not complete successfully because the file contains a virus or potentially unwanted software.

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

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

Но в итоге Defender “продвинул” меня (вместе с моим w.exe) в какой-то свой ну ОЧЕНЬ черный список и запретил запускать ее вообще. Плюс начал удалять ее с диска.

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

Оказалось, что это достаточно распространенная проблема, знакомая многим разработчикам. Если Вы один из них (вернее из нас), то вот решение:


Как прекратить фальшивые АнтиВирусные тревоги

Надо просто исключить Ваш екзешник из рассмотрения АнтиВируса.

Эта инструкция – для Windows Defender-а. Если Вы пользуете что-то другое, то конкретные шаги вероятно будут отличаться, но идея – та же самая.

Открываем панель управления АнтиВируса:

  1. Открываем Windows Start меню.
  2. Находим и запускаем Windows Security app.
  3. Открываем секцию Virus & threat protection.

Находим секцию исключений (Exclusions section):

  1. Под Virus & threat protection settings открываем Manage settings.
  2. Прокручиваем вниз к Exclusions секции
  3. Продолжаем в Add or remove exclusions.

Исключаем Ваш рабочий каталог из чек-листа АнтиВируса:

  1. Выбираем “Добавить исключение” (Add an exclusion).
  2. Выбираем Folder mode.
  3. Выбираем C:\CPP.

И всё. Больше он Вас беспокоить не будет.


]]>
https://writingagame.ru/index.php/2022/01/02/visual-studio-the-file-contains-a-virus/feed/ 0