Size: a a a

2021 February 26
javawatch
Написание нативных библиотек дает уникальную возможность в виде необходимости использовать два языка одновременно (в моем случае, Java и C++) и сидеть в двух IDE одновременно.

Натурально открыты два окна, и добавляя новый аргумент функции, нужно добавлять его два раза в двух разных редакторах, а потом еще запускать всякие негуманоидные штуки (регенерацию заголовочных файлов, регенерацию проекта cmake, сборку, перекладывание dll-ек тому подобное).

Где ещё вы так попердолитесь!
Всячески рекомендую!

"Мы все пойдем на серверат,
Мы все пойдем на карбонад
Я всех животных приглашаю
К нам на мясокомбинат"
источник
2021 February 27
javawatch
Houdini стал бесплатным для двух основных движков

https://www.sidefx.com/community/houdini-engine-for-unreal-and-unity/
источник
2021 February 28
javawatch
TIL что существуют книги, которые нельзя читать.

Потому что если ты однажды прочитал нечто такое, шанс скопировать себе GPL код в не-GPL проект необычайно велик.

Если цель написания такого текста - делиться знаниями, то я не уверен, что это хороший способ делиться знаниями.
источник
2021 March 02
javawatch
источник
2021 March 04
javawatch
В то время как все дрожат над каждым пикселем и скругленным уголком, чувак делает крутые ассеты забесплатно с лицензией, подходящей коммерческим проектам

https://twitter.com/KenneyNL/status/1367243911404482561
источник
2021 May 13
javawatch
2021 - новый 2015.
Время шарить знания Великих Старейшин.

Это картинка из кулуаров SIGGRAPH 2015, описывающая froxel - frustum voxel. Насколько понял из описания, это позволяет оптимизировать ray marching для рендеринга воксельного домена.

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

Нагуглил какую-то статью про это (Юнити и реймаршинг) на Хабре, но ещё не читал: https://habr.com/ru/post/503554/
источник
2021 May 14
javawatch
источник
javawatch
Что это за картинка? Это на самом деле объяснение, почему приложения нужно делать или в виде веб-приложений, или желательно - PWA (progressive web apps, т.е. веб-приложений, которые могут работать без интернета).

Веб-приложение у тебя открывается мгновенно по ссылке, откуда бы ты эту ссылку не достал (из гугла, из статьи, из баннера, итп). Получается, конверсия у веб-приложения очень крутая. Стопроцентная, в каком-то смысле. У клиента просто нету возможности не сконвертироваться.

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

Интересно, когда Microsoft додумается, что можно запускать нативные приложения сразу по ссылке из интернета, без всяких подтверждений, но в безопасном одноразовом Windows Containers / Hyper-V контейнере.

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

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

Насколько помню, когда-то MS уже пытался что-то подобное сделать в браузере со своими C# приложениями, но вот беда — людям совершенно неинтересно писать приложения на изолированной экосистеме MS, им хочется писать на том, на чем им удобно. Конечно, всё это не взлетело.

Жизнеспособна ли эта идея? Вот уже довольно долго я всё что могу запускаю в докере. Это безумно удобно: вместо того, чтобы захламлять систему тоннами мусорных пакетов, у меня есть маленькая песочница, в которой можно немного покопаться и потом удалить её без следа. Но это работает только на линуксе, где докер ничего не стоит. На шиндовсе, к сожалению, он стоит прилично так ресурсов, и ломает поддержку других виртуализаторов (кроме Hyper-V существует еще VMWare и VirtualBox). Кроме того, докер всё-таки умеет запускать только линукс-приложения. И чтобы пробросить в докер графику, особенно под виндой — нужно нехило так напрячься.

Кстати, мгновенно открываемые (в шиндовс-контейнерах) оффлайн-приложения могли бы стать спасением для всех, кого волнует размер дистрибутива и бесполезного говнокода, который жрёт ресурсы твоего компьютера

Очевидно, что если приложение весит 23 гигабайта, то оно никак не может открываться мгновенно. Более того, из-за того, что пользователя не спросили - хочет ли он ждать два часа пока дистрибутив загрузится, процесс запуска 23-гигабайтного приложения - это чистейшее мучение. (Вероятно, там на границе 500 мегабайтов всё-таки нужно ломать идею "мгновенно запускамого" и показывать диалог)

Если кто-то сомневается, может ли приложение весить мало -  вспомните пиратские CD-диски из конца 90х - на одном CD-диске объемом 600 мегабайт были десятки фотошопов и 3dmax-ов. Потом прошло несколько лет, и фотошопы и максы начали занимать сначала самостоятельный диск, а потом даже несколько дисков - но это было потом. Изначальными версиями тоже вполне можно было пользоваться.

Visual Studio шла на куче CD-дисков (восемь? уже не помню), но из них самим дистрибутивом был только первый диск (потом - два первых), всё остальное - MSDN и допы типа Install Shield. У нас вместо оффлайн MSDN  есть штука лучше - "интернет", так что тут никакой проблемы нет, нет никакого смысла вхреначивать в 20-мегабайтное приложение хелп на 10 гигов.
источник
javawatch
Способов, как можно управлять размером — море. Например, если в гуе у тебя огромные 4к текстуры, их можно генерировать процедурно, и не занимать под них гигабайты сетевого трафика. См. что могут чуваки на графической демосцене. Звуки тоже не нужно совать во флаке максимального разрешения — их можно сгенерировать программно, и они будут не сильно хуже предзаписанных. Впрочем, обычно приложениям не нужно звуков длиннее «Свиньи Касперского».

Кому нужно тратить столько сил, чтобы получить компактное, быстро запускающееся приложение? Да как раз вот всем тем людям, которые хотят получить быструю 100% конверсию пользователей. Покажите хоть одного маркетолога, который не хочет.

Дело осталось «за малым» — за каким-то быстрым эффективным воплощением Windows Containers. Достаточно эффективным, чтобы не убить ресурсы компьютера на десятом запущенном приложении. К сожалению, обычные люди над этим не властны, это может сделать только Microsoft.
источник
javawatch
Самая графонистая ААА игра 2021 года - это Windows. Скриншот сделан на RTX 3080
источник
2021 May 20
javawatch
Странная проблема с фреймворком Entitas. Это фреймворк, который позволяет реализовать паттерн Entity-Component-System на нескольких языках с помощью кодогенерации. Меня интересует C#, конечно.

Он бесплатный - это очень круто. Но генератор доступен только через Unity Asset Store. Ассеты из стора нельзя класть в опенсорсные проекты.

У них есть некая Standard License которая говорит, что всё купленное (или доставшееся бесплатно) можно использовать в своей работе как хочешь, но вот распространять дальше эти ассеты нельзя. Также нельзя модифицировать ассеты, если ты используешь их не в конечном продукте, а в разработке SDK.

Постараюсь связаться с автором фреймворка, чтобы понять, что делать с этой проблемой.
источник
javawatch
источник
2021 June 07
javawatch
Как вызвать Ктулху, парся HTML регулярками

https://talbrenev.com/2021/05/26/html-regex.html
источник