Project Immersive

game engine development journal

  • v0.26 ‐ Crouch mechanic
  • v0.25 ‐ BSP areas and portals
  • v0.24 ‐ Health and fall damage
  • v0.23 ‐ Surface based footsteps
  • v0.22 ‐ Transparent materials
  • v0.21 ‐ Inventory system
  • v0.20 ‐ Interactable doors
  • v0.19 ‐ Dialogue system
  • v0.18 ‐ Occlusion culling
  • v0.17 ‐ Mantle mechanic
  • v0.16 ‐ Frustum culling
  • v0.15 ‐ Sounds
  • v0.14 ‐ Movement physics
  • v0.13 ‐ Collisions
  • v0.12 ‐ Scene loading
  • v0.11 ‐ Normal shading
  • v0.10 ‐ Per-vertex lighting
  • v0.9 ‐ Font rendering
  • v0.8 ‐ Skeletal animations
  • v0.7 ‐ Texture filtering
  • v0.6 ‐ Cubemap reflections, Skybox
  • v0.5 ‐ Texture mapping
  • v0.4 ‐ Tick system / interpolation
  • v0.3 ‐ Vertex colors and depth buffer
  • v0.2 ‐ Models and colored triangles
  • v0.1 ‐ Wireframe cube

What's in Version v0.2?

2024-06-29
  • Added model loading from binary .mdl files
  • Implemented solid-filled triangle rendering
  • Added FPS counter
  • Implemented model rotation in world space
  • Added ability to slow down game time by holding [Backspace] key
  • Mouse cursor are now locked within window bounds

Download

project-immersive-demo-v2.zip (16.4 KB)

message.txt


Сделал простенький алгоритм заливки треугольников и добавил вывод FPS в заголовке окна.

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

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

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