Войти
ПрограммированиеФорумОбщее

ZenGL Update (11 стр)

Страницы: 18 9 10 11 12 13 Следующая »
#150
3:35, 28 июня 2022

Skvoznjak
> Всё же хорошо работает
ты тратишь не те ресурсы, не в то время. Если понимаешь о чём я веду речь.
И если ты обновляешь это при рисовании, то не факт, что это будет работать должным образом. Конечно, если тебе это нужно только для рисования, то проблем вообще ни каких.

> Вот зачем тебе этот геморрой с динамической библиотекой
этим смогут пользоваться все, и на любом ЯП. А то уже были люди из PascalABC которые спрашивали по работе с данным движком. Но портировать код ещё под тот паскаль... ну его нафиг. Пусть пользуются динамической библиотекой и проблем нет.

#151
13:01, 28 июня 2022

Mirrel
>ты тратишь не те ресурсы, не в то время. Если понимаешь о чём я веду речь.

Просто влез в иерархическую систему передачи команд не на уровне прораба, а на уровне конечного штукатура.

>И если ты обновляешь это при рисовании, то не факт, что это будет работать должным образом.

Но поскольку новые ЦУ и прорабу и штукатуру отдавать буду тоже я, а не бригада ноунеймов со всего мира, то и поломать эту систему сложно. Это ещё не самая сложная система передачи команд. Просто двигать человечка по экрану можно взяв алгоритм у механического изделия типа пулемёта. Типа виртуально передёргивать затвор для отдачи команд суставу, использовать "переключатели режима огня" для разных движений и прочие тонкости подачи боеприпасов команд иерархической системе виртуальных механизмов. Вот где жесть, а тут всего два звена в которые можно вмешиваться чтобы партикл двигался по экрану.

>этим смогут пользоваться все, и на любом ЯП. А то уже были люди из PascalABC которые спрашивали по работе с данным движком.

А, ну да. Тогда постепенно переноси константы с типами и ничего не бойся. Если в один файл запихнёшь несколько одинаковых констант, то по идее должна выскочить ошибка компиляции, если ты её в этом файле не отключал.

#152
13:13, 28 июня 2022

Да, если у тебя используются компиляторы не ниже 3 версии, то можешь выбрасывать все ансистринги, которые технически выбрасываются и заменять их на няшные rawbytestring :) Хотя там обычно utf8string используются, но вдруг новые строки с однобайтной кодировкой добавлять будешь. Этот цирк с автоматическим перекодированием не всегда нужен, особенно, когда в строки кладёшь то, что перекодировать точно не надо.

#153
13:24, 28 июня 2022

Skvoznjak
> то и поломать эту систему сложно.
)))
Ну ы же понимаешь, что в таком варианте я не могу предоставить это пользователю?
Поэтому, если перерабатывать частицы, то надо будет именно нужную часть менять. Ну и надо будет смотреть что ещё надо(не надо) делать. Дабы лишний раз не лезть.

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

Я буду дальше использовать UTF8, хотя мне бы проще было юникод использовать. Поле ввода использует юникод, потому что это проще и быстрее для работы программы.

#154
15:41, 28 июня 2022

Mirrel
>Ну ы же понимаешь, что в таком варианте я не могу предоставить это пользователю?

Ну так влепляй данные через ту "форсунку", через которую тебе удобнее. Вопрос в том, что ты вообще против добавления всем партиклам новых свойств.  А эти свойства трудно предугадать заранее, когда придумываешь систему частиц, потребность возникает когда рисуешь то, что не было задумано изначально. А если добавить подвижность огонькам, то почему, например дымы, не должны уметь всей толпой бегать по экрану? Дурдом какой-то.

>Поэтому, если перерабатывать частицы, то надо будет именно нужную часть менять. Ну и надо будет смотреть что ещё надо(не надо) делать.

Так я уже смотрел. Всем частицам нужен параметр перемещения всей толпы и параметр альтернативной отрисовки. Пока у меня одна альтернативная отрисовка, но в byte их мнооого влезет. Как-то так:

Ssprite2d_Draw(0, а дальше все обычные параметры);

У меня всё это есть, а ты ещё несколько лет подумай над необходимостью:) Ну и конечно, нужна великая процедура Emitter2d_Nahren - имя говорящее и трудно забыть что она делает, но тебя оно тоже не устроит.

>Я буду дальше использовать UTF8, хотя мне бы проще было юникод использовать.

Здрасьте, а UTF8 это не юникод? Возможно ты имел в виду виндовую кодировку.

>Поле ввода использует юникод, потому что это проще и быстрее для работы программы.

Главное чтобы пользователь мог вводить данные из rawbytestring. И ansystring, там где это требует наследие.

#155
(Правка: 15:56) 15:54, 28 июня 2022

Skvoznjak
> ты вообще против добавления всем партиклам новых свойств.
я говорил совершенно об другом! ))) О том, что я не буду пока этим заниматься. Для этого надо выделить время именно под них.

> UTF8 это не юникод?
нет, UTF-8 - это кодировка символа от 1 до 6 байт (вроде как, уже успел забыть), а Unicode - это два байта на любой символ.

https://developer.roman.grinyov.name/blog/104 - о блин, я почти точно описал. ))) Но думал я по другому...

#156
(Правка: 17:39) 17:39, 28 июня 2022

Mirrel
>я говорил совершенно об другом! ))) О том, что я не буду пока этим заниматься. Для этого надо выделить время именно под них.

Там и заниматься нечем - всё уже давно сделано и обкатано. Нужно только готовым алгоритмам приделать гламурную стрижку у Зверева и влепить в твой код, чтобы стилистика не вызывала диссонанса у рандомных пугливых пользователей:) Увидят капсик в коде и мимо унитаза потом пописают от перегрузки мыслительных процессов, а это авария в капиталистической экономике! Так и до нового кризиса недалеко:) Но ведь заметь, снова поднял эту тему сейчас ты а не я, у меня давно не возникало потребностей что-то там улучшать ещё раз.

>а Unicode - это два байта на любой символ.

Это хрень для маздайки. Утф-8 юникодом и обзывают, так сложилось исторически. Юникодов много, а хайп по утф-8.

#157
18:46, 28 июня 2022

Skvoznjak
> снова поднял эту тему сейчас ты а не я
я посмотрел, ту тему, которую поднимал ты. Выдалось время и я немного вник и отметил для себя некоторые вещи на будущее.
Почему не занялся? Потому что нормальный таймер ещё в андроид не включил, всё ни как руки не дойдут. То там мелочь выползет, то сям... )))

#158
18:56, 28 июня 2022

>Почему не занялся? Потому что нормальный таймер ещё в андроид не включил, всё ни как руки не дойдут. То там мелочь выползет, то сям... )))

Имхо, лепить надо то, что сейчас проще и быстрее лепится. Запоминание нужных фич на будущее, отнимает ресурсы у тех фич, которые пишешь сейчас. Мозг не резиновый и чтобы запомнить новую абракадабру, надо положить старую в архив, а ты с ней сейчас работаешь. Потому, выделил бы полчаса, влепил в код, протестировал и забыл о проблеме. Весь нужный функционал я тебе тут выше уже перечислил: свойства партиклов для перемещения всей их кучи, параметр для выбора типа отрисовки партиклов и процедура для обнуления времени существования частиц партикла. Для всего есть уже работающий код, тебе нужно только его под свои требования "перекрасить". А вместо этого ты ещё не раз будешь это вспоминать и заново обдумывать.

#159
19:29, 28 июня 2022

Ты тоже код помнишь не очень хорошо. Я в качестве примера модификатора рисовки партикла не тот код скопипастил, и никто не заметил:) Вот как рисовка меняется:
Строка 200 - Modifikator: Byte
По умолчанию, при создании эмиттера вписываешь 0, хотя он сам должен вписаться, но вписать надёжнее, и будет рисоваться как и было у Андру в последних версиях движка. А если вписать 1, то чуть-чуть по другому, более мягко. Это как сменить тип кисти в гимпе, или использовать другой тип белил в рисовании маслом.

#160
22:12, 28 июня 2022

  Немного оффтоп: данный фреймворк может работать с CSR-изображениями(дя меня это критически важжно!) в real time-е?

#161
(Правка: 23:07) 23:07, 28 июня 2022

Насколько я понял, как расшифровать  CSR изображение, рассказано в статье на педивикии, а через данный фреймворк потом может отобразить полученный результат в окошке. Как писать текст смотри 3 демку, а как рисовать линии - 5 демку.
Процедура pr2d_Rect рисует прямоугольник нужного цвета.
Процедура text_Draw пишет текст (к программе прикладывается 2 файла шрифтов, которые изготавливаются утилитой, впрочем для русских и английских букв можно взять готовые из демок).
А процедура pr2d_Line чертит линии нужного цвета, чтобы табличку в окошке начертить.

Рисуешь в окошке прямоугольник, расчерчиваешь его линиями на квадратики, а потом вписываешь в них расшифрованные тобой циферки.

#162
23:22, 28 июня 2022

Skvoznjak, это понятно. Но меня интересовало нет ли готовых процедур/классов для работы с такими данными, чтобы самому это все не реализовывать(упомянутых процедур pr2d_Rect и подобных тут будет явно не достаточно).

#163
0:05, 29 июня 2022

ArtProg, нет, в ZenGL нет данных реализаций.

#164
2:25, 29 июня 2022

Skvoznjak
Глянул мельком твой код. Дай угадаю, на 1000 эммитерах всё загнется насмерть?

Страницы: 18 9 10 11 12 13 Следующая »
ПрограммированиеФорумОбщее