Войти
ПроектыФорумУтилиты

2D Движок Quad-engine v0.9.0 (Delphi, Freepascal, C#, C++) (12 стр)

Страницы: 111 12 13 1416 Следующая »
#165
17:54, 23 ноя. 2016

написать шейдер, собрать его в бинарник, через fxcompiler, загрузить в IQuadShader. Перед отрисовкой включить шейдер, после отрисовки выключить.
Какой пункт непонятен, расскажу подробно.
Демку, наверное, стоит включить в пример.


#166
18:09, 23 ноя. 2016

Darthman
> Демку, наверное, стоит включить в пример.

Да, очень не хватает примера.

#167
8:54, 24 ноя. 2016

Darthman
> Что за моушен флоу
>> Демо выше приложил.
>> Это заранее приготовленные предрасчитанные данные о векторах движения пикселей
>> в развертке от кадра к кадру. Эти данные при рендере используются чтобы
>> расчитать положение пикселей в промежуточных состояниях, вычисляя довольно
>> точно промежуточные кадры. Это позволяет увелчичивать плавность анимации или
>> замедлять хоть до 1 фпс без потери плавности (см. демо).
Где можно почитать папер? Можешь показать исходный кож шейдеров?

#168
11:58, 24 ноя. 2016

Madware
Шейдер там простой, линейная интерполяция, никакой магии.
Папера нет, всё делалось по клочкам информации в интернете, домысливанию, пробами и ошибками.

#169
16:21, 5 дек. 2016

Darthman

Просьба сделать демку с самописным шейдером.

#170
18:39, 2 мая 2017

Quad-engine обновился до версии 0.9.0!

Повышена общая стабильность и производительность. Производительность в некоторых случаях выросла до 430%. Очень сильно снижена нагрзука на ЦП.

Добавлено:
-Журналирование ошибок если последовательность вызова методов нарушена
-VCL component инспектора объектов
-Журналирование ошибок хардварного курсора
-Новый режим смешения - qbmDstAlpha. Отлично подходит для прорезания "дырок" в рендертаргетах
-Новый модуль сокетов
-Новый клиент профайлер. Добавлена возможность задавать свои значения.
-Добавлен учёт кернинга при расчете ширины текста.
-Вместо дубликатов вершин теперь используется IndexedBuffer.
-RenderToBackBuffer теперь используется для возврата к рендеру в бэкбуффер
-Увеличение производительности с использовванием аппаратной трансформации и освещения

Изменено:
-Расширен инлайн справка
-Обновлены демо
-GetClipRect возвращает корректное значение всегда
-Многострочное выравнивание текста
-Текстуры не степени двойки теперь грузятся правильнее
-IQuadShader теперь перезаписывает значение AutoCalcTBN над глобальным у IQuadRender. Увеличивает производительность
-Существенно увеличена скорость переключения RenderToTexture
-TQuadRender.DrawRectRotAxis исправлена (позиционирование и вращение вокруг центра). IQuadTexture.DrawPartRotScaledAxis добавлено с мастабированием по раздельным осям через Scale:TVec2f.
-QuadWindow не может быть максимизировано или изменено в размере пользователем
-TextureMirroring теперь не вызывает сброс батчинга при каждом вызове
-Определение разрешения улучшено для выбранного монитора
-Правильный вывод в лог булеан значений
-QuadWindow теперь появляется в позиции 0,0
-GetRenderDeviceName теперь возвращает имя адаптера по индексу
-Обновлен шрифт Quad. Лучший керниг, добавлены Итальянские символы и новые знаки.

Исправлено:
-Значения QuadColor поправлены
-Убраны утечки памяти
-Починено падение при освобождении рендертаргетов во время alt+tab
-PNG без прозрачных пикселей (но с альфа-каналом) теперь грузятся и рисуются верно

#171
12:13, 7 мая 2017

Darthman
> -QuadWindow теперь появляется в позиции 0,0

А лучше по центру экрана.

Молоток, что не бросаешь благое дело.
Вон Andru бросил свой движок, сославшись на низкоактивное сообщество Delphi.

#172
15:43, 7 мая 2017

норм. жалко только что 2д и дх9

#173
10:32, 28 июня 2017

Собрал демопример для C++, запустил...
Создалось зеленое окошко. Нажал на крестик чтобы это окошко закрыть.

+ В итоге ошибка

Добавил в конец демопримера код:

  quadTimer->Release();
  quadInput->Release();
  quadRender->Release();
  quadWindow->Release();
  quadDevice->Release();

Теперь ошибка короче:

---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:

69 - 76 bytes: TTimerThread x 1

Как чинить?

up:
Добавил в таймер такой код, если выйти из игры по эскейпу все нормально выходит:

if(quadInput->IsKeyDown(VK_ESCAPE))
{
  SendMessage(quadWindow->GetHandle(), WM_CLOSE, 0, 0);
  return;
}

#174
11:54, 28 июня 2017

Пока я добрался до компа, чую проблема уже разрешилась?

#175
11:58, 28 июня 2017

Хаус
Мне нельзя бросать теперь ссылаясь на низкое сообщество делфи :)
После того как embarcadero за этот движок и заслуги перед сообществом меня окрестило Delphi MVP это уже будет некрасиво.
dx9 вполне для 2д достаточен, врядли тут потребуются шейдеры выше чем 3.0. Всяческие проблемы вроде потери девайса при альттабе движок сам разруливает, пересоздает потерянные рендертаргеты и т.п.
Плюс дх9 работает даже на стареньком ХР, с которого некоторые до сих пор не хотят слезать. Ну и особой разницы я не уверен что для конечного пользователя будет заметно между дх9 и дх10 или 11.

#176
12:18, 28 июня 2017

Darthman
Ну эта проблема да, разрешилась. Зато появилась новая:

quadRender->BeginRender();
quadRender->Clear(0xFF000000);
  
quadRender->Rectangle(Vec2f(100, 100), Vec2f(400, 400), 0xFFA9B2FF); // <= после добавления строки для рисования текстуры, прямоугольник начинает текстурироваться, а так не было задумано
quadRender->DrawQuadLine(Vec2f(100, 100), Vec2f(x, y), 25, 1, 0xFFA9FFB2, 0xFFFF0000); // <= после добавления строки для рисования текстуры, линия стала абсолютно черной 

texLogo->Draw(Vec2f(0, 0)); //<= тут рисую quadlogo.png
  
quadRender->EndRender();
#177
12:29, 28 июня 2017

Да, есть такое. Я не успел залить обновление на сайт. Там есть такая проблема, в одном месте терялась информация о текстурированности.
Воркэраунд есть через использование FlushBuffer, либо тут взять чуть более свежую длл:
https://drive.google.com/file/d/0B3nywKqbga6fdE1vWmxJR0FjU0U/view?usp=sharing

#178
12:35, 28 июня 2017

Отлично, со свежей dll работает как надо

#179
12:38, 28 июня 2017

Удивительно, но долгое время на это не натыкались просто. Вообще несколько проектов на движке в бою очень хорошо помогают и оптимизировать и расширять по мере необходимости и баги ловить тоже.

Страницы: 111 12 13 1416 Следующая »
ПроектыФорумУтилиты