2013-09-17 2 views
-3

Как я могу получить тип цвета от координаты x, y с помощью полноэкранной программы D3D?D3D: Как я могу получить цвет от координаты x, y?

я хотел бы определить, если х, у точки красный 255

спасибо заранее.

+0

Возможный дубликат http://stackoverflow.com/questions/120066/doing-readback-from-direct3d-textures-and-surfaces – dowhilefor

+0

@dowhilefor no it is not ... но просто прочитайте D3D API dude, то, что вы хотите сделать, просто считывает буфер кадров. – dhein

+0

Извините, я не понимаю смысла, можете ли вы дать мне образец только для определения цвета? благодаря! –

ответ

1

Поскольку вы не указали DX версии, есть только краткий алгоритм

1) Render your scene to texture 

2) Transfer tetxure back from GPU to CPU 

3) Fill data from tetxure to memory buffer 

5) Recalculate x, y to match tetxure resolution. Rendering window dimension can be different from DX device resolution (you can render smaller texture to bigger window and vice versa) 

4) Do lookup at position [x,y] 

шаг за шагом Если вы просите, как получить цвет пикселя от третьей партии программы DX, вы должны как-то возьмите «скриншот» приложения и найдите цвет в нем

+0

Спасибо, я использую d3d8. есть ли образец кода, например, ваши шаги? –

+0

Почему вы используете d3d8? Это 13 лет и полностью неподдерживаемый API. По крайней мере, используйте dx9, который все еще обновляется. – Pod

+0

Извините, это потому, что моя программа устарела, и я не хочу ее менять на dx9. Я должен тратить слишком много времени, чтобы обновить его. –

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