IgdrasilOpenGL — OpenGL рендер

IgdrasilOpenGL — полная реализация графического пайплайна на базе OpenGL. Предоставляет шейдеры, текстуры, буферы вершин и фреймбуферы через типобезопасный интерфейс.

Быстрый старт

using IgdrasilEngine.Engine;
using IgdrasilEngine.Engine.Graphics;

// 1) Инициализируем OpenGL
OpenGL.Initialize();

// 2) Создаём окно с OpenGL
var options = new WindowOptions { Engine = "OpenGL" };
Igdrasil.InitializeWindow(options);

// 3) Используем контекст рендера
Igdrasil.OnLoad += () =>
{
    var context = Igdrasil.Context;
    var shader = context.CreateShader(new List<ShaderScript>
    {
        new(ShaderType.Vertex, vertexSource),
        new(ShaderType.Fragment, fragmentSource)
    });
};

Igdrasil.Start();

Основные концепции

Архитектура

OpenGL.Initialize()
  ├─ GameWindow.AddRenderEngine("OpenGL", loaders => new GLPipeline(loaders))
  │
  └─ при создании окна:
      ├─ GLPipeline.OnInit (настройка параметров)
      ├─ GLPipeline.OnLoad (инициализация GPU)
      │   ├─ GL.GetApi() — получение OpenGL контекста
      │   ├─ GLRenderContext() — создание контекста рендера
      │   ├─ loaders.ForEach(l => l.Load()) — загрузка ресурсов
      │   └─ GL.Enable(DepthTest, Blend) — включение возможностей
      │
      └─ Igdrasil.OnLoad — пользовательский код
          └─ Igdrasil.Context (GLRenderContext) доступен

Поддерживаемые версии


Проект: Igdrasil Engine
Автор: Alexander Izmailov
Собственность: Igdrasil Project
Версия: 1.0
Лицензия: Proprietary License

© 2026 Alexander Izmailov. Все права защищены.
Этот программный продукт является собственностью студии Igdrasil Project.