Рендеринг цветовых данных в окно, Win32 - PullRequest
3 голосов
/ 30 сентября 2011

Так что я могу создать массив цветных данных (проецируя 3d модели на случай, если вам интересно), но мне нужно отобразить их в окне Win32. Я знаю, что могу нарисовать его попиксельно, но это очень медленно. Я знаю, что мне, вероятно, нужен BitBlt (); В любом случае мне это нужно, если я хочу использовать двойную буферизацию. Я видел, как визуализировать .bmp в окно, но у меня нет .bmp. Я думаю, я мог бы сделать .bmp, но я иду на скорость здесь.

Есть ли какой-либо способ прямого (возможно, не прямого, но все же быстрого) доступа к пиксельным данным hDC? Как графические библиотеки делают это так быстро?

Ответы [ 2 ]

2 голосов
/ 30 сентября 2011

Чтобы скопировать ваш буфер в DC, вы должны создать BITMAPINFO, затем использовать SetDIBitsToDevice () с экраном hDC, указателем на ваш буфер и созданным BITMAPINFO.

Вы можете найти хорошую отправную точку для двойной буферизации здесь .

0 голосов
/ 30 сентября 2011

Выполните рендеринг в MemoryDC (который быстрее для попиксельного доступа), затем скопируйте его в DC своего окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...