forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   [TrueHorror] - разработка (http://forum.boolean.name/showthread.php?t=17293)

tirarex 22.11.2014 23:48

Ответ: [TrueHorror] - разработка
 
Проводов и шашек не хватает , половина обьектов под землей либо в воздухе, врага видел 1 раз...

https://www.dropbox.com/s/a3pivnsiri...49.12.png?dl=0

mr.DIMAS 23.11.2014 00:18

Ответ: [TrueHorror] - разработка
 
Цитата:

Проводов и шашек не хватает
Все на месте. Искать нужно лучше. Я раскидал объекты по уровню.

Цитата:

половина обьектов под землей либо в воздухе
Либо так, либо тормоза физики.
Цитата:

врага видел 1 раз...
Удачно?

tirarex 23.11.2014 11:08

Ответ: [TrueHorror] - разработка
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 289609)
Все на месте. Искать нужно лучше. Я раскидал объекты по уровню.


Либо так, либо тормоза физики.
Удачно?

У меня не было багов физики пока о них кто то не отписался и ты не начал ее портить :-)

- Удачно?
да, спокойно прошел около него и пошел дальше.

А проводов вообще нет ! 1 на столе лежал , я всю комнату облазил но их нет , я все же склоняюсь к варианту их падения в еб*ня.

mr.DIMAS 23.11.2014 12:06

Ответ: [TrueHorror] - разработка
 
Цитата:

я всю комнату облазил но их нет
Лал. Провода почти все на втором этаже в ответвлениях. И они не могут упасть - они зафиксированы.

tirarex 23.11.2014 13:19

Ответ: [TrueHorror] - разработка
 
Я думал все как раньше , в кучках =)

Поднялся по лестнице а дальше шел вперед , провалился под землю , полет нормальный.

https://www.dropbox.com/s/4mmjbvybkq...19.02.png?dl=0

mr.DIMAS 23.11.2014 13:27

Ответ: [TrueHorror] - разработка
 
Проваливания - это очередные приколы булета. Попробую в этом месте что-нибудь сделать.

pozitiffcat 29.11.2014 23:30

Ответ: [TrueHorror] - разработка
 
Под линуха есть сборки? Нет возможности под окнами пощупать

mr.DIMAS 29.11.2014 23:36

Ответ: [TrueHorror] - разработка
 
движок жи на директе, только на виртуалке если попробовать, хотя нет - игра требует ps 3.0 .

кроссплатформу можно будет сделать когда будет готова игра

mr.DIMAS 30.11.2014 21:33

Ответ: [TrueHorror] - разработка
 
Вложений: 2
Наконец-то сделал нормальную отрисовку текста. Для заполнения атласа буквами используется последняя версия FreeType. Атлас заполняется только английскими и русскими буквами + знаки пунктуации. После чего все рисуется квадами. В общем результатом я доволен, ибо текст выглядит отлично. Кому интересно как это все работает, то в подписи есть ссылка на гитхаб, там файлы BitmapFont.cpp и TextRenderer.cpp
Пока что не сделал батчинг текста в один вершинный буфер, вскоре это исправлю.

mr.DIMAS 02.12.2014 00:42

Ответ: [TrueHorror] - разработка
 
У меня какие-то наркоманские мысли появились по поводу ускорения отрисовки.

1) Суем вершинные\индексные буферы N объектов в один большой вершинный\индексный подходящего размера
2) Пилим вершинный шейдер в котором определяем массив юниформ матриц количеством N
3) Для каждой вершины k-го объекта запиливаем дополнительный параметр указывающий на номер матрицы трансформации для этого объекта( те матрицы что в шейдере ), можно засунуть в D3DCOLOR - то бишь цвет.
4) В шейдере - берем этот "цвет" - выковыриваем из него номер матрицы, которой эту вершину нужно трансформировать, и затем трансформируем.
5) Имеем N объектов отрисованных за один DIP.
6) ...
7) PROFIT!!!

Хз, скорее всего это уже придумано или вообще не реализуемо, просто поделился своими мыслями. Кароч я упоролся или такое возможно?

Mr_F_ 02.12.2014 00:47

Ответ: [TrueHorror] - разработка
 
Цитата:

1) Суем вершинные\индексные буферы N объектов в один большой вершинный\индексный подходящего размера
2) Пилим вершинный шейдер в котором определяем массив юниформ матриц количеством N
3) Для каждой вершины k-го объекта запиливаем дополнительный параметр указывающий на номер матрицы трансформации для этого объекта( те матрицы что в шейдере ), можно засунуть в D3DCOLOR - то бишь цвет.
4) В шейдере - берем этот "цвет" - выковыриваем из него номер матрицы, которой эту вершину нужно трансформировать, и затем трансформируем.
5) Имеем N объектов отрисованных за один DIP.
так и делался инстансинг, до того как появился хардварный инстансинг. в старых демках ксорса было.

ежели объекты статические, то и вовсе матрицы не нужны, а просто взял склеил всё в огромные куски.

mr.DIMAS 02.12.2014 00:52

Ответ: [TrueHorror] - разработка
 
Даст прирост производительности? Стоит ли запиливать такое в движок?

А как тогда решать вопрос с текстурами? Я обрисовал случай, когда все объекты имеют разные текстуры. Кароч видимо не прокатит такая метода, или прокатит только с группировкой объектов по текстурам.

Mr_F_ 02.12.2014 03:16

Ответ: [TrueHorror] - разработка
 
Вложений: 1
Цитата:

Даст прирост производительности? Стоит ли запиливать такое в движок?
но это нужно если у тебя тебя динамики много в игре. я пока вроде не наблюдал - пяток бочек можно и отдельными дипами нарисовать, разницы не увидишь.
Цитата:

А как тогда решать вопрос с текстурами?
в атлас сувать придётся-с. а здесь много заморочек, если нужен тайлинг, но вполне реализуемо. в последнем обновлении Faded так и сделано (скрин старый, щас там DXT1, а не 5, и занимать площадь стараюсь получше).

mr.DIMAS 02.12.2014 10:47

Ответ: [TrueHorror] - разработка
 
Можно обойтись и без атласов, просто перед рендером сгруппировать сюрфейсы по текстурам, хз как у тебя сделано, а у меня при загрузке модели она автоматически разбивается на сюрфейсы, где каждому сюрфейсу соответствует одна текстура. Конечно таким образом за один дип отрисовать не получится, но дипов будет ровно столько сколько текстур( у меня нет системы материалов, поэтому мне проще ). Даже простая сортировка сюрфейсов по текстурам перед отрисовкой дает неплохой прирост производительности за счет снижения смен текстур. В общем я попробую сделать и скажу че из это вышло.

Mr_F_ 02.12.2014 12:57

Ответ: [TrueHorror] - разработка
 
Цитата:

хз как у тебя сделано, а у меня при загрузке модели она автоматически разбивается на сюрфейсы, где каждому сюрфейсу соответствует одна текстура.
да я так же делал всегда, и в юнити так же.
но в прототипе своём я медию делал на скорую руку и тексил кучей разных маленьких текс, так что пришлось склеивать так :D
объединение по текстурам в юнити имеется в лице статик батчинга местного, но его не хватало в данном случае.


Часовой пояс GMT +4, время: 17:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot