Проекты
GameDev.ru / Проекты / Форум / AvalancheProject - рендер движок под Free Pascal

AvalancheProject - рендер движок под Free Pascal

Страницы: 1 2 3 4 5 Следующая »
MrShoorУчастникwww28 июля 20158:40#0
В общем начал переписывать переводить свой движок на Free Pascal (Lazarus), попутно рефакторя и причесывая код.

Движок - не убийца юнитей и анриалов.

и даже не убийца NWE

Это чуть больше чем удобный враппер над ресурсами, который кое что умеет или будет уметь:
  1. Легкая работа с графическими ресурсами, чтобы можно было собрать на коленке любой рендер.
  2. Снизить загрузку CPU на уровне драйвера предоставляя удобное апи (чтобы делать тысячи дравколов и в ус не дуть)
  3. Кроссплатформа. Чтобы работало как минимум под Win, Linux-ом, а желательно под Android, Mac, iPhone, WinPhone
  4. Кросс API рендер. Будет как минимум OGL, DX11, а желательно еще и Vulkan c DX12.
  5. В планах после всего выше перечисленного - DPI независимая кросс платформенная библиотека контролов на базе этого рендера.

Сам проект тут:
  https://github.com/MrShoor/AvalancheProject

Что есть:
  Пока совсем мало. Только OGL рендер, только Win, простенький врапперы над ресурсами, типа буфера, текстуры, фреймбуфера, шейдеры. Пара простых семплов (Texturing, Instancing). Однако архитектура заложена так, что DX рендер будет добавлен скоро, при этом старый код автоматом сможет работать с любым API и переключаться на лету.

На данный момент код пишется лишь по несколько часов в день, ну и белых пятен очень много. Это и кроссплатформа, это хорошие и удобные контейнеры, это толковый мануал, это семплы, это импортеры. Поэтому если кому интересно сделать свой вклад - буду рад любой помощи.

Семплы внутри:
  1. Texturing - просто текстурированный кубик. Создание фреймбуфера, создание вершинного буфера, создание текстуры.
  2. Instancing - множество кубиков. Создание фреймбуфера, создание вершинного буфера, создание инстанс буфера.
  3. Weighted_OIT - Weighted Blended Order техника. Создание фреймбуферов, создание вершинного буфера, создание инстанс буфера, постпроцесс через фуллскрин квад.

Правка: 4 сен. 2015 9:44

MrShoorУчастникwww28 июля 20158:49#1
HLSL и GLSL, как оно работает?
+ Показать

Другие пакеты

+ Показать

Правка: 28 июля 2015 9:31

kiparУчастникwww28 июля 201510:07#2
не компилируется. fpc 2.6.4.
Говорит
unttest1.pas(160,55) Error: Wrong number of parameters specified for call to "Create"

на PolyData := TPolyVertices.Create(TPolyVertex.Layout); и все подобные строчки.

—-
Еще {$R 'C:\MyProj\DKontrol\code\Shaders\default_make'} и DIR = 'C:\MyProj\DKontrol\code\Canvas_Shaders\!Out\';

Правка: 28 июля 2015 10:12

MrShoorУчастникwww28 июля 201510:15#3
kipar
> не компилируется. fpc 2.6.4.
Это собирать не надо. Собирать avalanche.lpk и дальше в папке Demos\Src

p.s. Подчистил репозиторий от этих файлов.

Правка: 28 июля 2015 10:15

kiparУчастникwww28 июля 201510:23#4
эти собираются (OIT_Weighted не собрался, ну да ладно), падают на 237 строке avTexLoader (Result.Data  := @FMips[Index][MipLevel].FData[0];) судя по отладчику FData=nil
MrShoorУчастникwww28 июля 201510:28#5
kipar
> OIT_Weighted не собрался
Я в данный момент его пилю. Завтра добью.

> падают на 237 строке avTexLoader (Result.Data := @FMips[Index][MipLevel].FData[0];) судя по отладчику FData=nil
Vampyre Imaging Library стоит? Хотя без него не собрался бы поидее. Ресурс '..\Media\tig.jpg' лежит на месте? Путь относительно экзешника к ресурсу правильный?

kiparУчастникwww28 июля 201511:58#6
MrShoor
уже на работе, чуть позже проверю. Vampyre Imaging Library да, поставил, ту которая от 2009 года.
Правда лазарус я зря пересобрал, там после пересборки все иконки слетели, лол.

Ехешник был в папке проекта, т.е. вроде правильно. Вот в папку media не заглянул.
DekaSoftПостоялецwww28 июля 201512:02#7
Подписался...
kiparУчастникwww28 июля 201522:32#8
Ну, попробовал заново, все запустилось без проблем. Видимо моя ошибка была в том что я устанавливал пакеты в IDE, а надо просто добавлять к проекту (точнее они уже там добавлены).
BishopПостоялецwww29 июля 20153:51#9
MrShoor
> 3. Кроссплатформа. Чтобы работало как минимум под Win, Linux-ом
Если будешь это именно сам делать - намаешься (пишу по опыту). Мой совет вообще Linux не трогать пока Wayland`а нет.

kipar
> не компилируется. fpc 2.6.4.
Второй совет, перейти хотя бы на 3.0.1 ветку, т.к. 2.6.x с Win64 не дружит, а время Win32 ушло.

MrShoor
> В данный момент тянет за собой Vampyre Imaging Library
Не надо, лучше преобразуй ресурсы в свой формат на этапе сборки проекта. Чем проще та часть, что работает у пользователя - тем лучше.

MrShoorУчастникwww29 июля 20157:38#10
Bishop
> Если будешь это именно сам делать - намаешься (пишу по опыту). Мой совет вообще Linux не трогать пока Wayland`а нет.

Bishop
> Второй совет, перейти хотя бы на 3.0.1 ветку, т.к. 2.6.x с Win64 не дружит, а
> время Win32 ушло.
Я с нетерпением жду релиза 3.0.1, ибо там куча возможностей, которые я хочу использовать, а не могу из-за того, что они постоянно ломают что-то. Вот сейчас например код этого движка не собирается в 3.0.1 из-за дженериков. :)

Bishop
> Не надо, лучше преобразуй ресурсы в свой формат на этапе сборки проекта. Чем
> проще та часть, что работает у пользователя - тем лучше.
Код загрузки разных форматов все равно никуда не уйдет, не потому что так проще, а потому, что это не игровой движок. Однако от сторонних либ отвязаться будет надо ради простоты сборки пакета.

MrShoorУчастникwww29 июля 20157:56#11
Добавил семпл с Weighted Blended Order (требуется поддержка GL 40). В семпле можно переключаться между классическим back to front с сортировкой, и WOIT. Собственно WOIT ведет себя печально в особенности на непрозрачных кубиках (возможно надо поиграться с weight функцией).
NoirПостоялецwww29 июля 20158:27#12
Под Паскаль нет даже хедеров годных для дх11, Jedi не шевелятся, jsb - неоч (
А опенгл так себе апи.
MrShoorУчастникwww29 июля 20158:44#13
Noir
> Под Паскаль нет даже хедеров годных для дх11, Jedi не шевелятся, jsb - неоч (
> А опенгл так себе апи.
Я JSB заводил под FPC, чуть править пришлось конечно, но в целом все работает.
DekaSoftПостоялецwww29 июля 201513:02#14
Noir
Так себе апи вообще-то работает на любой платформе, а не только на недооси.
Страницы: 1 2 3 4 5 Следующая »

/ Форум / Проекты / Собираю команду

2001—2018 © GameDev.ru — Разработка игр