Вот код пока не окончательный, нет кнопок сворачивания и закрытия. Закрыть можно панели задач и Alt+F4 Сделал на основе: Там же в архиве версия и для браузера.
Демка не только демка, просто как демка проще версия для браузера. В общем, хотелось сделать шаблон кода для разных демок в том числе версии демок для дос. Использую GdipBitmapSetPixel, нарисовать пиксель в буфере, всё ничего, вот только эта функция весьма тяжёлая, от 1 до 3 тысяч тактов выполняется, если нам надо отрисовать каждый пиксель сцены то тут уже никакой динамики не получиться, 1-2 млн * 1..3 тыс = 0.2..1 сек. Варианты есть, если получить доступ непосредственно к массиву пикселей, то рисовать пиксели можно на скорости несколько тактов, ну ладно 10-20 тактов. Всё равно у нас буфер в ОЗУ, а не в видеопамяти. Я как понял, доступ к буферу можно получить GdipBitmapLockBits, но пока не понятно дели реализации. Кстати, сам код UpdateScene без GdipBitmapSetPixel выполняет несколько сот тактов, может чуть больше 1000, оптимизировать можно синусы если флагами задать минимальную точность float/real4.
Используй буфер и создавай битмап через GdipCreateBitmapFromScan0. Также быстрее будет использовать DIB-секцию, либо просто буфер и выводить его через SetDiBitsToDevice.