IgdrasilRender — Рендер и окно
IgdrasilRender даёт окну, пайплайну и ресурсам рендера простой, модульный и расширяемый интерфейс. Работает поверх Silk.NET и позволяет подменять графический бэкэнд (OpenGL, Vulkan и др.) без изменений пользовательского кода.
Быстрый старт
using IgdrasilEngine.Engine;
using IgdrasilEngine.Engine.Graphics;
using IgdrasilEngine.Engine.Graphics.Core;
// 1) Регистрируем рендер-бэкэнд (пайплайн)
GameWindow.AddRenderEngine("OpenGL", loaders => new MyOpenGLPipeline(loaders));
// 2) Создаём окно
var windowOptions = new WindowOptions
{
Title = "My Game",
Engine = "OpenGL",
Size = new IVector2(1280, 720)
};
Igdrasil.InitializeWindow(windowOptions);
// 3) Подписываемся на события
Igdrasil.OnLoad += () => Igdrasil.Logger.Info("Game loaded!");
Igdrasil.OnUpdate += dt => { /* игровая логика */ };
// 4) Запускаем
Igdrasil.Start();
Основные концепции
- Окно и движки —
GameWindow,WindowOptions, регистрация графических бэкэндов - Пайплайны —
IGraphicsPipeline,IRenderContext, порядок инициализации - Загрузка ресурсов —
GraphicsLoadingTask, шейдеры, текстуры - Кодеки — сжатие текстур (Nighthogg, LoraCrunch, оптимизированные версии)
Слои рендера
RenderLayer — флаги для группировки объектов при рисовании:
Default— непрозрачные объектыTransparent— прозрачные объекты
Используйте для отдельных проходов или сортировки.
Советы
- Регистрируйте пайплайны до
Igdrasil.InitializeWindow(). - Для многопоточных движков (Vulkan, D3D12):
Igdrasil.InitializeWindow(options, renderThreads: 4). - Храните
Engineв конфиге для переключения бэкэндов без перекомпиляции.
Проект: Igdrasil Engine
Автор: Alexander Izmailov
Собственность: Igdrasil Project
Версия: 1.0
Лицензия: Proprietary License
© 2026 Alexander Izmailov. Все права защищены.
Этот программный продукт является собственностью студии Igdrasil Project.