crypt of decay - k8vavoom и VBO [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

k8vavoom и VBO [Apr. 27th, 2020|03:43 am]
Previous Entry Add to Memories Tell A Friend Next Entry
[Tags|]

благодаря поняшу, который запилил порт на ведроид, начал потихоньку укатываться с `glVertex()` на VBO. во-первых, это красиво это резко уменьшает количество вызовов OpenGL API (не критично, но приятно). во-вторых, рано или поздно придётся переезжать на core profile (увы), а там никаких тебе `glVertex()`. также после переката можно будет сочинять кэш геометрии, чтобы не реаплоадить всё с нуля на каждом кадре, а засунуть в GPU надолго и побольше всего.

конечно, даже этого начального этапа хватит лет на двести корячиться, но главное повалить — а там затопчем.

p.s.: даже в таком виде можно сделать кэш геометрии на один кадр. д3-подобный рендер офигенно многопроходный (ambient lighting, dynamic lighting, texturing, fog), и как минимум ambient/texture/fog используют один и тот же набор полигонов (точнее, разные части в разном порядке одного набора). соответственно вместо чтобы каждый раз заново гонять координаты в GPU, это можно сделать один раз в начале кадра. таки уже экономия почти в три раза будет. на ванильке, конечно, не заметно, но какой-нибудь Frozen Time может и ускориться немного.
Linkmeow!

Comments:
From:(Anonymous)
Date:April 27th, 2020 - 11:09 am
(Link)
> рано или поздно придётся переезжать на core profile

недолго фраер танцевал
From:(Anonymous)
Date:April 27th, 2020 - 11:12 am
(Link)
а там и до вулкана рукой подать
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 06:41 pm
(Link)
оно у меня не работает, поэтому мне совершенно похеру. то есть, работает, но очень хуёво, и невидия прекратила развивать дрова для 32бита. это помимо основной причины «шиткэн не нужен».
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 06:40 pm
(Link)
нормальные дрова для классики остались только у невидии. даже сраноинтель лучше работает со всякими вбо, нежели с классикой. приходится компенсировать чужую жопорукость своими силами, увы.
From:(Anonymous)
Date:April 27th, 2020 - 07:55 pm
(Link)
классика нинужна
эмулировать glHuita1488f - дело трех строчек
но лучше выбросить бяку совсем
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 07:58 pm
(Link)
приходи когда похудеешь.
From:(Anonymous)
Date:April 27th, 2020 - 08:17 pm
(Link)
Захер тебе эта классика? Миллион каких-то флажков и параметров, в половине случаев не работающих, которые заменяются простейшим шейдером.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:31 pm
(Link)
так надо руки из жопы вынимать — тогда работает.

а ещё ушибленые «новым опенгл» и особенно говновулканом не в курсе, что когда в нормальном OpenGL этими флажками щёлкаешь — нормальный драйвер не пересоздаёт заново весь пайплайн. потому что он может напрямую командовать железом, и менять его регистры состояния. именно затем в OpenGL и были сделаны все эти флаги — чтобы позволить драйверу реализовывать их наилучшим для конкретного железа способом.
From:(Anonymous)
Date:April 27th, 2020 - 09:14 pm
(Link)
Почему-то нет флажка GL_ENABLE_PER_PIXEL_LIGHTING, например.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 09:16 pm
(Link)
потому что ты опять толстый, ну.
From:(Anonymous)
Date:April 27th, 2020 - 04:01 pm
(Link)
Тем временем делают полное три-дэ в движках халфы и анрила
https://open.tube/videos/watch/c7fba4a7-7a60-4f72-8f45-57ae0a21cb0b
https://youtu.be/gmKetHQadjw
From:(Anonymous)
Date:April 27th, 2020 - 04:03 pm
(Link)
> 2020

Охуеть! И как это только раньше никто не догадался... постойте-ка...
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 04:31 pm
(Link)
и только один ты такое днище, что читаешь мой бложег и даже пытаешься в него написать типа подъёбку. хуёво быть тобой, бро.
From:(Anonymous)
Date:April 27th, 2020 - 05:33 pm
(Link)
Тебя почитаешь здесь и на буржуйских форумах, как двух разных людей читаешь. Там здрасте пожалуйста, а здесь агрессия сразу.

Не сцелью подьебнуть. Всё это демки. Но вот на халфе, оно же на ксаше интересно тем, что чувак сделал конвертер, который конвертит думовские карты в бсп. Он не рисовал их с нуля.

Ну а анрил...., ну как академический интерес, не более того.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 05:46 pm
(Link)
потому что в русскоязычном пространстве всё воспринимается как подъёбка. кагбэ ничего другого просто не ожидаешь. если я неправильно тебя понял — извини, пожалуйста. просто если что-то в «рунете» (и прилегающем) можно прочитать как подъёбку, оно обычно этим и является. тем более от анона (ничего против анонов не имею, просто статистика).

а так-то… сконвертить несложно, дело нехитрое. губерман даже обратный конвертер делал: из квача в дум с 3д полами и слопами. собирался его релизнуть, но пока не допилил.

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

и с динамикой/AI то же самое. думгай очень быстрый, а мозг у монстров простой, но специфический. если это не перетащить почти 1:1 — игра тупо не будет ощущаться как дум.

а Такой-То Графоний можно и в гоззе сделать. или вавумчике (отчасти).

в общем, это всё даже не особо интересно. потому что отрендерить думокарту несложно, сконвертировать тоже. а сделать из этого дум — уже совсем другой вопрос. именно поэтому нерв в беседковых ререлизах портанул оригинальную кодобазу, например, а не запилил всё на современном 3д движке — хотя им даже не надо было заботиться про запуск произвольных вадов.
From:(Anonymous)
Date:April 27th, 2020 - 07:23 pm

тупо не будет ощущаться как дум

(Link)
Так уже видно, что в анрильской демке игровая физика кабы не играбельная совсем.
Я уже привык к физике k8vavoom, так привык, что уже играть в гоззу некомфортно. Там нечто похожее есть на квэйк стайл. Еще бы в настройках сделать отключение бега в дезматче. В некоторых случаях не нужен он вообще.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 07:27 pm

Re: тупо не будет ощущаться как дум

(Link)
дык физоний в вавумчике и гоззе почти одинаковый. вот мышь немного по разному ощущается.

>Еще бы в настройках сделать отключение бега в дезматче.
в смысле — что-то типа sv_disable_run? если да — то сделаю, не проблема вообще.
From:(Anonymous)
Date:April 27th, 2020 - 07:32 pm

что-то типа sv_disable_run

(Link)
сделай пожалуйста
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 07:45 pm

Re: что-то типа sv_disable_run

(Link)
ок, поставил в туду, в следующем билде должно быть.
From:(Anonymous)
Date:April 27th, 2020 - 08:14 pm

Re: что-то типа sv_disable_run

(Link)
+!
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 07:51 pm

Re: что-то типа sv_disable_run

(Link)
кстати, ограничить скорость можно и сейчас:
sv_maxmove 200
200 — это скорость ходьбы, 400 — бега. дефолтно там 400.
From:(Anonymous)
Date:April 27th, 2020 - 08:14 pm

Re: что-то типа sv_disable_run

(Link)
tnx
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:35 pm

Re: что-то типа sv_disable_run

(Link)
а ещё можно сделать новый player actor, в котором уравнять скорости. см. тут свойство Player.ForwardMove, и тут про то, как создать (говнозскриптовый «class» заменяем на «actor», из блока «default {}» всё выносим наружу, сам блок убираем, точки с запятыми тоже.
From:(Anonymous)
Date:April 28th, 2020 - 01:47 pm

Re: что-то типа sv_disable_run

(Link)
хм, зачем они лишние вещи в свой зскрипт добавили... (риторический вопрос)
[User Picture]
From:[info]ketmar
Date:April 28th, 2020 - 04:02 pm

Re: что-то типа sv_disable_run

(Link)
нет, это декорат очень хуёво сдизайнен, с максимально хуёвым синтаксисом. увы.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 05:56 pm
(Link)
p.s.: «если» перед извинением зачеркнуть, я это писал даже не прочитав второй абзац, лол.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 07:48 pm
(Link)
p.s.: расскажите им кто-нибудь, что такое aspect ratio correction, пожалуйста. зачем они сплюснули графоний толстой жопой?
From:(Anonymous)
Date:April 27th, 2020 - 08:00 pm
(Link)
До чего же уебищны "бумажные" спрайты.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:03 pm
(Link)
потому что нехуй их пихать в «такой-то графоний». получается дикий контраст и пиздец.
From:(Anonymous)
Date:April 27th, 2020 - 08:11 pm
(Link)
Можно хотя бы к камере развернуть. Но это, наверное, слишком сложно для современных двежков.
From:(Anonymous)
Date:April 27th, 2020 - 08:17 pm
(Link)
это ты модели в виде листочков еще не видел
https://youtu.be/eC_jpeYM_rg
From:(Anonymous)
Date:April 27th, 2020 - 08:21 pm
(Link)
Есть простой способ поставить человеку диагноз "умственная отсталость": это когда он берет пиксель-арт и начинает его произвольно вращать и скейлить.
From:(Anonymous)
Date:April 27th, 2020 - 08:25 pm
(Link)
умственная усталость
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:25 pm
(Link)
>Можно хотя бы к камере развернуть.</em вообще-то они вполне смотрят на камеру.
From:(Anonymous)
Date:April 27th, 2020 - 08:32 pm
(Link)
Я имею в виду трупы и проч - когда сверху смотришь.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:37 pm
(Link)
у них нет верхней части. ты забыл, кажется, что это спрайты, они сразу нарисованы с такой перспективой. если их повернуть — будет адский пиздец.
From:(Anonymous)
Date:April 27th, 2020 - 08:45 pm
(Link)
Что за ерунда - я имел в виду "сделать как в оригинале" - т.е. чтобы спрайт был спрайтом, а не трехмерной пластинкой.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:51 pm
(Link)
эм… так оно там так и есть. единственное, что криво — это то, что почти никто эмулить не стал кроме strife ve: в оригинале трупы немного «утоплены» в пол, но рисуются всё равно полностью, потому что для горизонтальных поверхностей нет z-buffer'а. все остальные хардварные рендеры или полностью трупы поднимают (и тогда они «парят» над полом), или немного утапливают (и тогда они чуть обрезаны).

в остальном-то что не так? нормальные билборды — оригинал их рисовал точно так же (математика другая, эффект тот же самый).
From:(Anonymous)
Date:April 27th, 2020 - 08:57 pm
(Link)
Посмотри внимательно видос: неужели не видишь, что трупаки искажаются перспективой? Т.е. они выглядят как поставленная на пол вертикально плоскость (при взгляде строго сверху она будет толщиной в ноль пикселей).

В опциях прбума это называется "paper items".
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 09:12 pm
(Link)
потому что они и есть поставленая на пол вертикальная плоскость. вавум тоже так делает, например.
From:(Anonymous)
Date:April 27th, 2020 - 09:18 pm
(Link)
Но это же уебанство. Одно дело - принять условность, что объекты нарисованные, совсем другое - что они блять нарисованы на трехмерной бумажке внутри мира.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 09:24 pm
(Link)
а тут любое решение будет уебанством, если разрешить свободно башкой вверх-вниз двигать: хорошего просто нет. если прибить ориентцию «строго параллельно экрану» — тоже выглядит хуёво. вавумчик умеет так, но мне даже опцию лень делать.
[User Picture]
From:[info]ketmar
Date:April 27th, 2020 - 08:37 pm
(Link)
p.s.: а если «положить на пол» — будет бумажка. потому что у них нет боковых частей.
From:(Anonymous)
Date:April 28th, 2020 - 01:49 pm
(Link)
сверху нельзя было смотреть, но кажется ничто не мешает добавить еще спрайтов, как изометрической проекции или вообще вид сверху
[User Picture]
From:[info]ketmar
Date:April 28th, 2020 - 04:06 pm
(Link)
ага. кроме того, что их надо кому-то рисовать и где-то хранить. вспомни ради интереса, сколько было клонов вольфа и дума, и в скольких их них были не уёбищные спрайты. ну, и хранить тоже — из думчика даже вполне имеющиеся спрайты некоторых поворотов выкинули, заменив рендером зеркального отражения, потому что память дисковая и память оперативная. а так-то да, теоретически всё что угодно можно.
From:(Anonymous)
Date:April 30th, 2020 - 07:46 pm
(Link)
Рисовали вот даже https://postimg.cc/gallery/pW0Q1BT
И даже больше проекций, нежели чем на 8 сторон света, и плюс еще немного снизу и сверху. В к8 если запилить такое? Возможно?
[User Picture]
From:[info]ketmar
Date:April 30th, 2020 - 07:50 pm
(Link)
ну вот когда будет полный спрайтсет так отрисован (все монстры, все декорации) — тогда и будет смысл обсуждать.

а поворотов и так 16 поддерживается, из коробки. только их никто не делает.
From:(Anonymous)
Date:May 2nd, 2020 - 12:57 am
(Link)
щас он скажет, что это "воксельный объект"
From:(Anonymous)
Date:April 30th, 2020 - 07:49 pm
(Link)
Image (https://postimg.cc/B8Q7NR5B)
Image (https://postimg.cc/QVW46Q7w)
Image (https://postimg.cc/xJXxVH4k)
Image (https://postimg.cc/gnVMpGNK)
Image (https://postimg.cc/cryDPvMH)
Image (https://postimg.cc/McPPLtd2)
Image (https://postimg.cc/BPDmX3s4)
Image (https://postimg.cc/yg2f1dML)
From:(Anonymous)
Date:May 2nd, 2020 - 01:13 am
(Link)
когда у тебя 386 процессор и 128 гигабайт памяти