2014-09-20 2 views
-1

У меня есть программа рисования, в которой я хочу изменить определенный пиксель при нажатии. Как я могу это сделать?Можно ли изменить цвет пикселя на экране?

Я знаю, что я могу создать цвет [] фонового изображения, но мне это нужно быстро обновлять, а экран меняется

+0

Необходимо узнать больше о том, что делает ваша программа на данный момент. – MickyD

ответ

0

Для C#/XNA, вы можете создать динамический буфер текстур и растровых изображений изображение в памяти процессора, которое вы копируете в динамический буфер GPU всякий раз, когда происходят изменения ... Класс битмапа имеет методы манипулирования пикселями, поэтому единственная часть, на которую вы действительно хотите разобраться, - это сопоставить память GPU и скопировать растровое изображение на буфер текстуры. Эта операция копирования довольно быстрая. Мы используем подобный метод, чтобы наш HTML HUD отображался в нашем игровом движке (к сожалению, не XNA), и даже с обновлениями в каждом кадре мы все еще более 60 кадров в секунду.

+0

интересно - проголосовать без комментариев, почему .. hmmmmm – Ascendion

+0

Я предполагаю, что это потому, что избиратель считал, что ваш ответ слишком абстрактен; используя терминологию, отличную от XNA; и без фактического кода. То, что у него также есть ** не-XNA ** lineage, тоже не помогает. Наконец, обновление буфера разумного размера «ЦП» только для отправки на GPU «каждый кадр» неэффективен. – MickyD

+0

StackOverflow не предназначен для запроса кода. Это предназначено для ответов. Ничего больше или меньше. Если этот ответ включает код, это, вероятно, потому, что имеет смысл иметь, но это не требование. Короче говоря, какие OP-запросы не могут быть выполнены с использованием технологий только XNA, и то, что сказал @Ascendion, является самым близким, что он собирается получить. – Falgantil

Смежные вопросы