Я пишу простой программный рендер,
загрузить 3d модель, вершина процесса, растеризация, текстура, освещение,
все это, все сделано.
Я использовал SDL (не используя режим OpenGL), чтобы нарисовать пиксель на его SDL_Surface,
и вызовите SDL_Flip, чтобы появился один кадр.
по какой-то причине сейчас я не хочу использовать SDL,
Мне просто нужен двойной буфер для рисования пикселей.
Я знаю, что есть чем заняться,
OpenGL, Direct3D, gdi,
может быть, они слишком «продвинуты» для этого проекта,
Каков прямой (или самый быстрый) способ отрисовки пикселей в буферном режиме на win32?
Я бы порекомендовал использовать графический API для этого (OpenGL или Direct3D), но GDI был бы самым простым вариантом. Вы можете создать DIB (независимое от устройства растровое изображение), используя CreateDIBSection
функция, которая возвращает указатель на память растрового изображения. Затем вы можете изменить пиксели растрового изображения по своему усмотрению и нарисовать его в клиентской области вашего окна. Смотрите главу 15 Программирование Windows (5) Чарльз Петцольд за исходный код и объяснение этой техники.
Других решений пока нет …