Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2017, 17:32
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Canvas. 2d-контекст. Z-буфер.
Доброго времени суток, "когда" бы Вы не находились в часовом пространстве Земли.
Хотел задать общий вопрос по поводу возможности работы с буфером глубины в canvas'е при "2d" контексте.
Есть ли какая-либо возможность кидать всю пачку изображений на отрисовку, чтобы аппаратно было вычислено, какие пиксели рисовать, а какие не трогать?
Или всё это делать руками, перебирая ImageData всех изображений(ну не всех, это уже дело оптимизации)?
Благодарю.
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2017, 17:46
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Rise, Вот я работаю с canvas в HTML. Рисую много картинок. И не хочу отрисовывать сначала фон, потом класть на него детали, а на эти детали ещё что-то рисовать последовательно. Это всё будет перегораживать то, что уже отрисовано. Хочу вычислить финальный результат и кидать его для рисования. Или от этих манипуляций приложение быстрее работать не станет?
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2017, 17:58
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Rise, Как минимум, при проверке объектов с большим z-индексом, при полной непрозрачности альфа-канала самого верхнего из найденных слоёв, кидать rgb-данные в ячейку финальной картинки по данным координатам. А далее, через putImageData, принимать изображение и рисовать его.
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2017, 17:59
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Rise, но это если руками всё делать...
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2017, 18:12
Интересующийся
Отправить личное сообщение для Валес Посмотреть профиль Найти все сообщения от Валес
 
Регистрация: 16.04.2016
Сообщений: 11

Rise, Объектом я назвал объект, который таковым является в моём коде.
Ясно, обидно...и нет. Тем интереснее. Спасибо за ответ. Просто сам искал, не нашёл, подумал, плохо искал.
Всего хорошего.
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2017, 18:19
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Валес,
для канвы можно указать область рисования (clip), рисовать будет только внутри этой области. Попробуй, может, это ускорит отрисовку. Возможно, канва не будет делать копирование картинки в те области, которые находятся за пределами clip.
Ответить с цитированием
  #7 (permalink)  
Старый 19.06.2017, 18:27
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Валес
Рисую много картинок.
на этих картинках есть (полу)прозрачные пиксели?
Ответить с цитированием
  #8 (permalink)  
Старый 19.06.2017, 18:31
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Rise Посмотреть сообщение
Валес, еще не понятно что значит "будет перегораживать"?
ну, если нарисовать непрозрачную хрень поверх чего-то уже нарисованного, то выходит, это что-то рисовали зря. Автор спрашивает, как быстренько посчитать, какие области рисовать не надо.
Ответить с цитированием
  #9 (permalink)  
Старый 19.06.2017, 18:34
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Rise Посмотреть сообщение
Alexandroppolus, вне клипа не будет рисовать не сомневайся)
да то что не нарисует, это понятно )
я о том, что если clip - квадратик 10 на 10, а на канву кидаем картинку 200 на 300, то по скорости это должно быть как если бы рисовали картинку 10 на 10..
Ответить с цитированием
  #10 (permalink)  
Старый 19.06.2017, 18:37
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от Rise Посмотреть сообщение
Что значит зря, это естественный процесс рисования как-бы, в детстве красками не рисовал что-ли) canvas это холст.
ну представь, что на нижнем слое какой-нибудь фрактал, а сверху его закрывает черный квадрат. Тогда получится, что фрактал рисовали зря.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повтор фото (getUserMedia(),HTML5 Canvas) aspex Элементы интерфейса 1 27.12.2014 16:46
canvas рисование окружности imedia Элементы интерфейса 2 30.05.2014 17:40
Почему неправильно вырисовывается canvas? Amateur Events/DOM/Window 0 19.09.2012 10:45
Создание экземпляра Canvas не затрагивая HTML Tails Общие вопросы Javascript 2 09.03.2012 13:55
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16