Size: a a a

pro.graphon (and gamedev)

2020 June 23

АК

Антон Ковалев... in pro.graphon (and gamedev)
Alexander Busarov
и кому твой UI на WebGL будет нужен, если шрифт в нём будет нечитабельное говно?
А зачем на нем делать UI вообще? 🤔
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
Антон Ковалев
А зачем на нем делать UI вообще? 🤔
а, сорян, это же не ты хочешь делать UI на WebGL
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Богдан
Потому что я устал от попыток выучить css/html/svg полностью (чтобы вот изучить раз и навсегда и после этого перестать гуглить всякие нюансы по css) и решил - ну его нафиг - я лучше возьму webgl и напишу свой движок по рендеру ui - там уж у меня по определению не будет никаких неизвестных моментов/нюансов/хаков и костылей потому что будет реализация всего пайплайна, абсолютно всего на чем строится ui - все будет реализовано с нуля под полным контролем и пониманием (и я уверен можно сделать намного проще чем эти миллионы строк в браузерах) в отличие от бессметного числа нюаносов css
-от алгоритмов лейаута вроде флекcбоксов - много ли народу знают про это - https://habr.com/ru/post/473186 это https://css-live.ru/articles-css/flexbox-vs-css-table-vertical-centering-inlines.html и это https://css-live.ru/articles/flex-grow-strannyj-tak-li-eto.html ?
-продолжая инлайн-лейаутами - вот сколько моментов из статьи https://css-live.ru/articles-css/udivitelnyj-i-neizvestnyj-inline-block.html и цикла статей https://css-live.ru/category/tajny-css2-1 известно рядовому разработчику?
-продолжая лейаутом текста - всякие метрики - https://css-live.ru/css/metriki-shrifta-line-height-vertical-align.html - вот какой процент фронтенд-разработчиков знает эти нюансы?
-продолжая всякими opentype-фичами и нюансами шейпинга текста
-и наконец и заканчивая рендером текста и всяких примитивов векторной графики в пиксели
Кароче если кого-то интересует эта тема то я создал чат где я и другие это обсуждаем - https://t.me/xframe_ru
Искать по твоей страничке как можно будет? Копировать? Табами переключаться по элементам?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Читалки экрана как будут работать?
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Богдан
а почему выбрали сканлайн а не тупую проверку по попаданию (барицентри́ческие координа́ты как тут https://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice) ? Это лучше параллелится чем сканлайн. Кстати я тут тоже исследую техники растеризации только на gpu (если кому интересно я создал чат по этой теме - https://t.me/xframe_ru)
потому что сканлайн быстрее, в разы. Параллелиться на одном ядре как-то маловероятно.
источник

Б

Богдан in pro.graphon (and gamedev)
Alexander Busarov
Если прям так хочется на WebGL, то советую начать с рендера шрифтов :)
ну так я с этого и начал, только не с рендера шрифтов а с рендера вектора так как шрифты-текст это набор глифов а глифы набор сплайнов (заполнением через каким-то winding-rule) а сплайн это набор кривых безье
источник

Б

Богдан in pro.graphon (and gamedev)
Alexander Busarov
и кому твой UI на WebGL будет нужен, если шрифт в нём будет нечитабельное говно?
почему нечитабельное говно?
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
Богдан
ну так я с этого и начал, только не с рендера шрифтов а с рендера вектора так как шрифты-текст это набор глифов а глифы набор сплайнов (заполнением через каким-то winding-rule) а сплайн это набор кривых безье
рендер шрифтов - это намного сложнее задача, чем просто рендер вектора
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
Богдан
почему нечитабельное говно?
потому что когда начнешь делать рендер шрифтов - поймешь :)
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Alexander Busarov
потому что когда начнешь делать рендер шрифтов - поймешь :)
ну можно же просто квадраты с зарнее заготовленными текстурами рисовать
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Columbus Utrigas
ну можно же просто квадраты с зарнее заготовленными текстурами рисовать
А API для вытаскивания настроек ClearType есть в JS?
источник

AB

Alexander Busarov in pro.graphon (and gamedev)
Columbus Utrigas
ну можно же просто квадраты с зарнее заготовленными текстурами рисовать
эти квадраты еще нужно где-то взять
источник

Б

Богдан in pro.graphon (and gamedev)
Alexander Busarov
рендер шрифтов - это намного сложнее задача, чем просто рендер вектора
чем же она сложнее? текст это тот же вектор. Может ты имешь ввиду шейпинг текста - то есть расстановка глифов друг за другом, всякие лигатуры и опентайп-фичи, диакритики и т.д а потом line-height и многострочный текст, а потом нюансы инпута и bidi для арабского right-to-left ?  Да, шейпиг-текста это непростая задача но это не относится к рендеру текста (растеризация вектора на в пиксели и его антиалиасинг)
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
писать свой браузер идея не очень, обычно делается наоборот, браузер встраивается везде где нужны интерфейсы
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
А API для вытаскивания настроек ClearType есть в JS?
вероятно есть
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Хотя, можно с канваса тащить отрендеренный текст
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
но не знаю, как оно там сглаживать будет
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Alexander Busarov
эти квадраты еще нужно где-то взять
заранее запечь
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Columbus Utrigas
вероятно есть
С чего вероятно?
источник

A(

Andrey (@AndrewB330) in pro.graphon (and gamedev)
Напомните плиз, как называется подход/функция которая позволяет делать медленный старт и медленный конец анимации. Что-то типа сигмоиды... но от 0 до 1 область определения
источник