4x4x8 24 Опубликовано: 23 августа, 2022 Я течении 5-6 дней писал библиотеку для отрисовки пикселей. И щас я тут. Моя библиотека использует символы, так что каждый пиксель размером (1,1), а не (2,3) если писать пробелы с цветным фоном. Это также увеличивает разрешение по X в 2 раза, и 3 раза в Y Текстурки я могу загружать через ссылки: local texture = drw.fromURL("https://raw.githubusercontent.com/4x4x8/my_stuff_for_computercraft/main/Drawify/drw_texture_test.lua") Canvas:drawImage(texture, 1, 1) Canvas:updatePixels() Очень просто и легко загружается в код, формат текстурки виден по ссылке :/ Всем спасибо, всем пока. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 23 августа, 2022 (изменено) UPD: Измерил время на отрисовку. 1 Секунда, разрешение текстурки равно разрешению экрана. local first = os.epoch("utc") local texture = drw.fromURL("https://raw.githubusercontent.com/4x4x8/my_stuff_for_computercraft/main/Drawify/drw_texture_test.lua") Canvas:drawImage(texture, 1, 1) Canvas:updatePixels() local second = os.epoch("utc") local time = second - first print("Texture drawed for " .. tostring(time)) UPD2: Ну во впервых, если не считать создание текстурки рендер идет 189 милисекунд, на таком же разрешении. Щас я перепишу обновление пикселей, код ускорится еще в 1.5-2 раза! А еще я в душе не знаю как менять цвет фона. Ладно. local texture = drw.fromURL("https://raw.githubusercontent.com/4x4x8/my_stuff_for_computercraft/main/Drawify/drw_texture_test.lua") local first = os.epoch("utc") Canvas:drawImage(texture, 1, 1) Canvas:updatePixels() local second = os.epoch("utc") local time = second - first print("Texture drawed for " .. tostring(time)) Изменено 23 августа, 2022 пользователем 4x4x8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 23 августа, 2022 UPD3: Я обновил отрисовку пикселей, добавил два буффера, и теперь рендер картинки занимает 109 мс. Что насчет того, что бы несколько раз попробовать отрисовать одни и те же пиксели без изменений? 123 мс. local Monitor = peripheral.wrap("left") local Canvas = DrawLib.new(Monitor, colors.black, true) Monitor.setBackgroundColor(Canvas.background_color) Monitor.clear() print(Canvas.pixel_width, Canvas.pixel_height) local texture = drw.fromURL("https://raw.githubusercontent.com/4x4x8/my_stuff_for_computercraft/main/Drawify/drw_texture_test.lua") local first = os.epoch("utc") Canvas:drawImage(texture, 1, 1) Canvas:updatePixels() Canvas:updatePixels() local second = os.epoch("utc") local time = second - first print("Texture drawed for " .. tostring(time)) Очень доволен результатом. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 24 августа, 2022 9 часов назад, 4x4x8 сказал: Это также увеличивает разрешение по X в 2 раза, и 3 раза в Y А какое разрешение получается в итоге? 9 часов назад, 4x4x8 сказал: формат текстурки виден по ссылке Правильно понимаю, что там просто построчно запись RGB для каждого пикселя? Кстати, планируется поддержка OpenComputers или не планируется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 24 августа, 2022 (изменено) Цитата 10 часов назад, 4x4x8 сказал: Это также увеличивает разрешение по X в 2 раза, и 3 раза в Y А какое разрешение получается в итоге? 10 часов назад, 4x4x8 сказал: формат текстурки виден по ссылке Правильно понимаю, что там просто построчно запись RGB для каждого пикселя? Кстати, планируется поддержка OpenComputers или не планируется? Итоговое разрешение - 318x168 Да, скрипт на питоне преобразует цвета изображения в цвета CC и преоброзовывает в строку с информацией о картинке. Скрипты я загрузил на гитхаб: https://github.com/4x4x8/my_stuff_for_computercraft/tree/main/Drawify Либа будет скорее всего только на CC, ибо она больше персональная, а пользуюсь я CC Изменено 24 августа, 2022 пользователем 4x4x8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 24 августа, 2022 3 часа назад, 4x4x8 сказал: Скрипты я загрузил на гитхаб Скрипты — это хорошо. Но как получить код самой библиотеки? Этот раздел предназначен для публикации программ. А отчёт по их разработке может быть лишь дополнением. Поэтому я предлагаю добавить ссылку на код библиотеки или перенести тему в более подходящий раздел. Идеи использования шрифтов Брайля или двойной буферизации уже давно не являются новыми, и поэтому сейчас вряд ли кому-то интересно их теоретическое обсуждение. Но сама реализация может заинтересовать форумчан, даже не смотря на значительно большую популярность OpenComputers в сравнении с ComputerCraft. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 25 августа, 2022 В 24.08.2022 в 18:32, eu_tomat сказал: Скрипты — это хорошо. Но как получить код самой библиотеки? Этот раздел предназначен для публикации программ. А отчёт по их разработке может быть лишь дополнением. Поэтому я предлагаю добавить ссылку на код библиотеки или перенести тему в более подходящий раздел. Идеи использования шрифтов Брайля или двойной буферизации уже давно не являются новыми, и поэтому сейчас вряд ли кому-то интересно их теоретическое обсуждение. Но сама реализация может заинтересовать форумчан, даже не смотря на значительно большую популярность OpenComputers в сравнении с ComputerCraft. Я вроде как уже выложил код либы на гитхаб(круги не работают, переписываю их активно) Я не думаю что она будет кому-либо интересна и полезна в использовании т.к. я ее полностью под себя писал Вот репо с либой, текстуркой и объектом текстурки, в папке Python есть скрипты для преобразования картинки в текстурку(надо запустить palettePaster, дабы преобразовать палитру цветов для CC, а потом imageTabler) https://github.com/4x4x8/my_stuff_for_computercraft/tree/main/Drawify 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 25 августа, 2022 40 минут назад, 4x4x8 сказал: Я вроде как уже выложил код либы на гитхаб В тот момент, когда я писал сообщение, то именно библиотеку я не смог найти в репозитории. Теперь вижу. 41 минуту назад, 4x4x8 сказал: Я не думаю что она будет кому-либо интересна и полезна в использовании т.к. я ее полностью под себя писал Это уже второй вопрос. Без кода эта тема была бы ещё менее интересной и менее полезной. Конечно, программы для ComputerCraft сейчас не пользуются большой популярностью, т.к. этому моду тяжело конкурировать с OpenComputers, но иногда люди ищут программы именно для ComputerCraft. Например, в этой теме просили переписать старую программу. Кстати, в ней почти весь код задействован для отрисовки графики. Может быть, твоя библиотека кого-нибудь вдохновит переписать эту штуку. 1 час назад, 4x4x8 сказал: Вот репо с либой, текстуркой и объектом текстурки, в папке Python есть скрипты для преобразования картинки в текстурку(надо запустить palettePaster, дабы преобразовать палитру цветов для CC, а потом imageTabler) https://github.com/4x4x8/my_stuff_for_computercraft/tree/main/Drawify Благодарю. Так уже веселее. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 25 августа, 2022 3 часа назад, eu_tomat сказал: В тот момент, когда я писал сообщение, то именно библиотеку я не смог найти в репозитории. Теперь вижу. Это уже второй вопрос. Без кода эта тема была бы ещё менее интересной и менее полезной. Конечно, программы для ComputerCraft сейчас не пользуются большой популярностью, т.к. этому моду тяжело конкурировать с OpenComputers, но иногда люди ищут программы именно для ComputerCraft. Например, в этой теме просили переписать старую программу. Кстати, в ней почти весь код задействован для отрисовки графики. Может быть, твоя библиотека кого-нибудь вдохновит переписать эту штуку. Благодарю. Так уже веселее. Я в скором времени залью обнову для кругов. И да либа заточена под отрисовку пикселей, я даже впихнул поддержку текстур, мало ли кому-то надо будет :/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
4x4x8 Автор темы 24 Опубликовано: 26 августа, 2022 11 час назад, eu_tomat сказал: В тот момент, когда я писал сообщение, то именно библиотеку я не смог найти в репозитории. Теперь вижу. Это уже второй вопрос. Без кода эта тема была бы ещё менее интересной и менее полезной. Конечно, программы для ComputerCraft сейчас не пользуются большой популярностью, т.к. этому моду тяжело конкурировать с OpenComputers, но иногда люди ищут программы именно для ComputerCraft. Например, в этой теме просили переписать старую программу. Кстати, в ней почти весь код задействован для отрисовки графики. Может быть, твоя библиотека кого-нибудь вдохновит переписать эту штуку. Благодарю. Так уже веселее. Я обновил и выложил либу Из изменений: функция для очистки экрана круги https://github.com/4x4x8/my_stuff_for_computercraft/blob/main/Drawify/Drawify.lua 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах