Сделал простенький алгоритм заливки треугольников и добавил вывод FPS в заголовке окна.
Получилось целых 2000 FPS, и причём они упираются не в алгоритм отрисовки, а в обработку системных сообщений Windows - без обработки WM_PAINT счетчик FPS в 10 раз выше.
И ещё я пришел к мысли, что движок - это не только игровой код, но и инструменты. Стоит развивать собственный инструментарий для сборки игровых ресурсов.

Добавил компиляцию ресурсов во время сборки при помощи python-скрипта, чтобы автоматически конвертировать .obj файлы в свой собственный формат .mdl