CODE_PAGE

Разработчик софтверных рендеров | Геймдев-инженер

Начать погружение

О_себе

{ }

Привет. Я — инженер.

Программирую графику на стыке железа и пикселей. Специализируюсь на software rendering, low-level оптимизациях и движковой разработке.

Пишу код, который заставляет GPU и CPU работать на пределе. Вершины, пиксели, шейдеры, байты — всё в моих руках.

Если нужно выжать 60 FPS из невозможного — это ко мне.

C++ / C# Software Rendering Graphics Programming Low-level Optimization Unity / Unreal Engine OpenGL / DirectX / Vulkan

Проекты

struct Vertex {
  Vec3 pos;
  Vec3 normal;
  Vec2 uv;
};
// Software rasterizer
void drawTriangle(...) {
  // ...sorting verts...
}

SoftRenderer

Софтверный растеризатор с поддержкой текстур, освещения и Z-буфера. Написан с нуля без использования GPU.

C++Win32SIMD
Посмотреть на GitHub →
pipeline = Vulkan::create()
  .setShaders(vert, frag)
  .setDepthTest(true)
  .build();
// Deferred renderer
renderScene(cmd);

Vulkan Engine

Минималистичный движок на Vulkan с deferred rendering, PBR-материалами и системой сцен.

C++VulkanPBR
Посмотреть на GitHub →
[Compute Shader]
groupshared float smem[256];
[numthreads(64,1,1)]
void CSMain(uint3 id : SV_DispatchThreadID) {
  // GPU particle system
}

Particle Storm

GPU-частицы на compute-шейдерах. Миллион частиц в реальном времени с физикой и коллизиями.

HLSLDirectX 12Compute
Посмотреть на GitHub →

Система

root@cyber-dev: ~
$ system_info --verbose > System: AMD Ryzen 9950X3D, 32GB RAM > Languages: C++, C#, Python > Graphics: OpenGL, Vulkan, DirectX 11/12 > Engines: Unity, Unreal Engine 5 > Tools: Visual Studio, Git, RenderDoc $

Мой_код

rasterizer.cpp
01// Software triangle rasterizer with perspective correction
02void RasterizeTriangle(const Vertex& v0,
03                         const Vertex& v1,
04                         const Vertex& v2,
05                         Framebuffer* fb) {
06    Vec2i min = VecMin(v0.pos.xy, VecMin(v1.pos.xy, v2.pos.xy));
07    Vec2i max = VecMax(v0.pos.xy, VecMax(v1.pos.xy, v2.pos.xy));
08
09    float area = EdgeFunction(v0.pos, v1.pos, v2.pos);
10    if (fabs(area) < 1e-6f) return;
11    float invArea = 1.0f / area;
12
13    for (int y = min.y; y <= max.y; ++y) {
14        for (int x = min.x; x <= max.x; ++x) {
15            Vec2i p = {x, y};
16            float w0 = EdgeFunction(v1.pos, v2.pos, p) * invArea;
17            float w1 = EdgeFunction(v2.pos, v0.pos, p) * invArea;
18            float w2 = EdgeFunction(v0.pos, v1.pos, p) * invArea;
19
20            if (w0 >= 0 && w1 >= 0 && w2 >= 0) {
21                // Perspective-correct interpolation
22                float z = w0*v0.z + w1*v1.z + w2*v2.z;
23                if (z < fb->depth(x, y)) {
24                    fb->setDepth(x, y, z);
25                    fb->setPixel(x, y, shade(w0, w1, w2));
26                }
27            }
28        }
29    }
30}

Установить_связь

SECURE_CHANNEL // ENCRYPTED ONLINE
> Триангуляция...
// waiting for input...
Выравнивание байтов — это не баг, это фича.
— Народная мудрость системных программистов

Новости

///
// BREAKING NEWS
// 2026.07.28
///
[SYS] Rendering pipeline
      updated...
[OK] +47% performance
28.07.2026

Новый софтверный рендерер: +47% к FPS

Переписал растеризатор на SIMD-инструкциях AVX2. Результаты бенчмарков превзошли ожидания.

Читать далее →
///
// VULKAN 1.4
// MESH SHADERS
///
[Vulkan] Mesh shader
      pipeline online
[OK] 10M triangles/frame
21.07.2026

Vulkan 1.4: Mesh Shaders в деле

Внедрил mesh shader pipeline. Теперь сцена с 10 миллионами треугольников рендерится без просадок.

Читать далее →
///
// GDC 2026
// SAN FRANCISCO
///
[EVT] GDC talk accepted
Topic: "Software
      Rendering in 2026"
14.07.2026

Выступление на GDC 2026

Мой доклад «Software Rendering in 2026: When GPU is Not Enough» приняли на Game Developers Conference.

Читать далее →
///
// OPEN SOURCE
// GPU PARTICLES
///
[GIT] Repo published
github.com/cyber-dev
     /particle-storm
07.07.2026

Particle Storm уходит в Open Source

Выложил исходники GPU-частиц на GitHub. Миллион частиц на compute-шейдерах — теперь доступно всем.

Читать далее →
///
// BENCHMARK
// RYZEN 9950X3D
///
[CPU] Zen 5 + 3D V-Cache
Benchmark complete
Result: 9.2 TFLOPS
30.06.2026

Бенчмарк: Ryzen 9950X3D в софтверном рендеринге

Прогнал свой рендерер на новом Zen 5 с 3D V-Cache. Результаты и анализ производительности внутри.

Читать далее →
///
// COLLAB
// UNREAL ENGINE 5
///
[PRJ] Nanite integration
     with custom SW
     renderer complete
18.06.2026

Коллаборация: Unreal Engine 5 + Custom SW Renderer

Интегрировал свой софтверный рендерер в UE5 как плагин. Nanite + software fallback теперь работают вместе.

Читать далее →