Skip to content

Porohovnik/CepheidEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Данный проект является собой связуюзим элементом между разными библиотеками для загрузки данных,различных типов данных, их отображение на

экране, предоставляя для их описания удобный, многоуровневый и полностью настраиваемый интерфейс.

Основное отличие от других решений - конвеер рендеренга собран в одной точки программы. Это позволяет, использовать для вывода сложных сцен или экранов не больше 2-5 вызовов к рендеру за кадр для их отрисовки.( число вызовов зависит от числа структур данных, созданных

пользователём.)

Есть механизм разделения объектов по различным "листов" для оптимальной загрузки. Так же учтён механизм рендер лишь при изменение, отправка

изменений строго один раз за кадр для каждого типа данных входях в структуры данных. Реализован механизм двухмерных массивов произвольной

длинны и управлению памяти на них на GPU.

В данный момент всё работает на OpenGl 4.3 core mod, вариативно с bindlees текстурами.

структуры данных создаются из кубиков с помощью шаблонов для удобства.

В качестве примера предоставляется три структуры данных :

  1. 2d объекты- заданные вершинами, поддерживающие растровые изображения для текстурирования, а так же наборы mesh загруженных из svg[сейчас в работе] (и да, всё за 1 вызов при наличие расширения bindlees для растра)

  2. текст- шрифты представленный ввиде атласа глифов. В памяти GPU хранится в виде двухмерного динамического массива содержащий все строки. (при наличие лишь одного шрифта или при наличие нескольких и наличие расширения bindlees всегда за 1 вызов)

  3. линии , всегда за 1 вызов. ( на них в качестве примера основаны графики)

На основе этих структур данных реализованы различные объекты высшего порядка.

Для взаимодействия структур данных с высшими обхектами вводятся промежуточные классы - примитивы, шаблонные, для каждой структуры свои.

Так же есть система для обнаружения положения над конкретном объктом курсора мыши, работающий в среднем за О(1), но требующий доп операции в фрагментном шейдере.

About

Fast graphics engine based on the idea of rendering from a single point

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors