Snusmumriken
love.graphics.setColor?
Domka
._.
Snusmumriken
love.graphics.setColor.
Domka
love.graphics.draw(love.graphics.newQuad)/love.graphics.rectangle?
Domka
love.graphics.setColor.
Ну ты же не мог пустоту красить
Snusmumriken
Вопрос был "как я их красил". Через setColor.
Domka
Ладно, задам другой, что ты использовал для отрисовки мира?
Snusmumriken
А рисовал — как получится. Спрайты — draw, квадраты — rectangle. Но принципиальной разницы нет, у них почти одинаковый дровкол. Разница только в наличии текстуры, это пижня.
Snusmumriken
Задам уточняющий вопрос. Ты знаешь что такое дровкол, и почему много дровколов — обычно, плохо?
Snusmumriken
Дровкол — это команда видеокарте "нарисуй данные элементы". Плохо потому что при этом в видяху пересылаются данные и она собственно выполняет команду. Рисуют видяхи обычно быстро, гораздо быстрее чем данные пересылаются, если там нет долбанутых шейдеров, разумеется. При вызове кучи мелких дровколов подряд — большую часть времени занимает пересылка данных, чем собственно отрисовка.
Snusmumriken
Народ давным-давно изобрёл технику батчинга или инстансинга. Когда тебе надо нарисовать много всего однотипного (с одной текстурой (можно атласом через квад)/одним шейдером/одним цветом и т.д.) — все посылаемые штуки объединяются в один большой набор вершин и один раз пересылаются видяхе с одной командой "нарисуй сразу всё это говно".
Snusmumriken
В ловке можно делать и батчинг (спрайтбатчи) и инстанцинг (mesh-mode perinstance).
Domka
love.batching?
Domka
love.graphics.batching?
Snusmumriken
Где ты это нашёл?
Domka
Нигде
Snusmumriken
Тогда зачем выдумал?
Domka
Я типо спросил как функция называется ._.
Snusmumriken
Нет такой функции.
Domka
А как тогда мне этот самый батчинг использовать
Snusmumriken
Ну вот так вот ))
Snusmumriken
Есть класс: спрайтбатч. В него напихиваешь инстансы спрайтов. Я про это уже написал чуть выше, ты мог бы внимательно прочитать.
Domka
А
Domka
Ну ладно
Domka
Это же есть в документации?
Snusmumriken
По какой причине этого не должно быть в документации?
Domka
Тогда я пойду сегодня это изучать
Snusmumriken
Давай.
Snusmumriken
В 10/11 ловке, самой по себе, уже есть встроенный "автобатчинг" — одинаковые вызовы отрисовки одной и той же текстуры сами объединяются в батч. Но для этого тебе нужно рисовать кучу одинаковых вещей *подряд*. Например, в данной схеме все вызовы love.graphics.draw будут объединены в один вызов. Потому что atlas не меняется между вызовами, шейдер тоже не меняется, и даже цвет не меняется. local atlas = love.graphics.newImage(...) local quads = { spr1 = love.graphics.newQuad(...), spr2 = love.graphics.newQuad(...), ... } for i = 1, 100 do for j = 1, 100 do love.graphics.draw(atlas, quads[n], i * tilesize, j * tilesize) end end И все спрайты будут нарисованы одним вызовом отрисовки элементов. Но если будет хоть какое-то чередование, смена атласа/цвета или ещё чего-нибудь, отрисовка текста или квадрата между дёрганьем отрисовки атласа — всё нафиг сломается. Для решения подобных проблем, всё ещё есть спрайтбатчи, которыми можно управлять в ручном режиме.
Domka
У меня сердце прихватило
Domka
Цикл 100 на 100
Snusmumriken
Всего-то 40к вершин.
Domka
Действительно
Snusmumriken
В этой модельке 123к.
Egor
Чёт мне кажется, что чат про луа умер😂
Egor
Все здесь сидят
Snusmumriken
Ммм, нет.
Snusmumriken
Все тут флудят, а там — задают вопросы ПО ДЕЛУ!!!1
Snusmumriken
Действительно
Так вот. Поясняю для бобиков. Учить языки "для саморазвития" — самая бесполезная трата времени. Для хоть какой-то продуктивности, ты должен учить языки под задачи, которые будешь выполнять. Учить сишку "просто так" — то же самое что дрочить пипиську. Может быть весело, но больше вредно чем полезно.
Snusmumriken
Ты можешь выучить её чтобы писать биндинги. Можешь выучить чтобы писать микрухи или драйверы. Можешь выучить чтобы с конкретной целью понять как устроена та или иная штука. Но "для саморазвития" — дичь дикая.
Domka
Я учу языки программирования
Domka
Чтобы делать демки для гидравлики
Snusmumriken
Какой наиболее подходящий инструмент, чтобы делать демки для гидравлики?
Snusmumriken
(ответ: это НЕ сишка)
Domka
А что тогда
Snusmumriken
Какой-нибудь другой инструмент, на котором это будет проще и эффективнее ))
Domka
Например lua
Domka
?
Snusmumriken
Ну ты придумай что-нибудь, ты же вумный.
Domka
Да я вумный
Snusmumriken
Если вдруг кажется "вот выучу что-нибудь и вдруг оно пригодится" — нет, не пригодится. Мало того, без должной практики (пара лет) оно и не запомнится в должной мере. Ты не выучишь что либо, если не будешь этим постоянно пользоваться. Это даже не теребление письки, а два раза вздрочнуть, а потом решить "ой я чот устал".
Domka
В любом случае я игры буду делать
Snusmumriken
Делать игры на сишке — строить себе могилу )))
кота
Есть же гейлиб
кота
И там опенгл всякие сдл сфмл
Vlad
Они же не решат твоих проблем с утечками памяти и т.п.
кота
@sashikknox скажи пожалуйста, у тебя много матрикс сервер отжирает ресурсов?
sashikknox
@sashikknox скажи пожалуйста, у тебя много матрикс сервер отжирает ресурсов?
трудно сказать.. вообще сначала логами сыпал черезчур ,потмо зашел в конфиг понизил приоритет логов до варнингов. стало получше... по процессору, не сильно, вообще весь сервак в основном есть не более 10%, а там не только матрикс стоит... там куча сервисов крутится на стареньком i5 шестой серии , оперативы конкретно сколько есть матрикс - надо глянуть, там на серваке zfs, пожтому там все 99% опертаивы поглощены либо сервисами. либо ZFS ...
Nikolai
Кек, какая смешная пикча
Nikolai
жирная херня, которая перевешивает весь остальной стек
Nikolai
основа продакшена
Nikolai
Какой-то ноунейм(тащит всю контору)
Nikolai
еще один ноунейм(ты)
fgntfg
Внизу башскрипт, который написал Вася, сто лет назад и уволился
fgntfg
Наверху какая-то дич на css, которую под кислотой писали
Vlad
Не, batch
кота
Не, batch
Хз что хуже
Nikolai
Надо бы elixir выучить
fgntfg
Перл
fgntfg
Сука
кота
Надо бы elixir выучить
О, придумал придумал там эликсир
fgntfg
У меня горит
Nikolai
Оставлять его везде, и пусть те, кто будет после меня, хереют