Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
40 / 29 / 15
Регистрация: 07.02.2019
Сообщений: 126

Быстрая отрисовка по текстуре

18.12.2019, 13:48. Показов 1938. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем хорошего дня! Не сумел найти более быстрый способ для рисования по текстуре, помимо SetPixel.
C#
1
2
3
Texture2D texture = new Texture2D(127, 127); 
Color color = new Color(255/255f,0,0); // цвет кисти
texture.SetPixel(5, 10, color); // Нарисовать точку по координатам (5,10)
Может быть как-то можно нарисовать точку по координатам X,Y, напрямую в массив Color[]?
C#
1
2
3
Color[] pixel_1;        
pixel_1 = texture.GetPixels (0, 0, w, h);
texture.SetPixels (pixel_1);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2019, 13:48
Ответы с готовыми решениями:

Быстрая отрисовка 2D
Приветствую всех! Быть может кто либо знает и может подсказать библиотеку для быстрой отрисовки 2d в vb net? Загвоска в том, что нужно...

Быстрая отрисовка в Panel ?
У меня есть очень простая программа которая на обьекте Panel рисует вот такой рисунок с помощью Polygon время за которое он это рисует...

Быстрая отрисовка произвольного изображения
Добрый день. Ищу способ быстрой отрисовки изображения из буфера (например, массив оf TColor). Рисование по канве Canvas.Pixels ...

3
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
18.12.2019, 14:12
Шейдеры, однозначно.
0
40 / 29 / 15
Регистрация: 07.02.2019
Сообщений: 126
18.12.2019, 14:51  [ТС]
Да я думал может чего попроще есть.
Вот допустим через System.Array можно переворачивать изображение, может через него как-то можно указать цвет пикселя по координатам?
C#
1
2
3
Color[] pixel_1_flipped = new Color[pixel_1.Length];
for (int f = 0; f < h2; f++)                           
System.Array.Copy (pixel_1, f*w2, pixel_1_flipped, (h2-f-1)*w2, w2); // отразить по вертикальной оси
0
40 / 29 / 15
Регистрация: 07.02.2019
Сообщений: 126
19.12.2019, 07:52  [ТС]
Как рисовать напрямую в массив Color[], разобрался:
C#
1
2
3
4
5
6
7
8
9
10
int w = 127;
int h = 127;
Texture2D texture = new Texture2D(w, h); 
Color[] pixels = new Color[w*h];
 
int x = 5;
int y = 10;
pixels[(h-1-y)*w+x] = new Color (R / 255f, G / 255f, B / 255f); // (h-1), чтобы перевернуть координаты по оси 'y'
 
texture.SetPixels (pixels);
Вместо 26 секунд текстуры отрисовываются за 22.
На Delphi через "scanline" тоже самое делается меньше 15 секунд.

С шейдерами как-то не получилось разобраться..
Есть где-нибудь простой пример, как с помощью шейдера программно нарисовать точку определенного цвета на текстуре?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.12.2019, 07:52
Помогаю со студенческими работами здесь

VB6. Быстрая отрисовка графики
Добрый день всем пользователям форума. Делаю игру. на экране должно прорисовываться достаточно большое кол-во различных объектов (почти...

WPF: быстрая отрисовка и решение в целом
Задача - отрисовать небольшой фрагмент большого графа посредством WPF. Как это сделано сейчас: 1. Есть достаточно большой граф....

Полосы на текстуре
Полосы на текстуре. Не могу понять - откуда они могут появляться? Если поставить другой файл изображения, полос нет. Можно, конечно,...

Нахождение ошибок в текстуре
Сделал скин для кс(первая работа) получилось (на мой взгляд)неплохо ,но есть недочёты в нахождении которых мне требуется помощь.Хочу...

Specular highlight на текстуре
Здравствуйте. Подскажите, как сделать отражение света от текстуры ? Создаю примитив, есть отражение. А с натянутыми текстурами нет ничего....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru