При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2019, 10:32  #841
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 nemyax: так это у тебя форк крашился от env_message?
Дядя Миша вне форума Ответить с цитированием
Старый 09.03.2019, 10:36  #842
nemyax
nemyax
тндайпц тра
Регистрация: 30.07.2015
Сообщения: 639


По умолчанию

2 Дядя Миша:
Нет, оригинал. Тот краш я на форке не пытался повторить.
Чё б я тебе про форк жаловался, абижаиш.
nemyax вне форума Ответить с цитированием
Старый 09.03.2019, 10:41  #843
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 nemyax: а мне всегда про форк почему-то жалуются.
Дядя Миша вне форума Ответить с цитированием
Старый 11.03.2019, 22:38  #844
a1batross
a1batross
Umu~!
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 22
Сообщения: 669


По умолчанию

Решил рассказать о том, что мы mittorn делаем уже некоторое время. Те, кто наблюдают за изменениями на GitHub, могут наверное догадываться о чём сейчас пойдет речь. А именно -- о выносе рендерера из движка в отдельную библиотеку.

Зачем? Это первый шаг к настоящему мультирендеру, который в свою очередь дарит нам более гибкую кроссплатформу, а в теории даже облегчает задачу использования современных фич видимокарт, навроде RTX или DLSS, которые возможно использовать лишь с Vulkan или DX12. Да и GPU во встраиваемых системах зачастую игнорируют существование GLES1, который мы упорно используем по сей день.

Некоторые моменты:
1) Движок перед созданием окна, загружает библиотеку ref_gl.dll с кодом рендерера(далее просто ref_dll). ref_dll в процессе инициализации делает запрос движку на создание контекста(и окна, соответственно), таким образом сам менеджмент контекстов уходит движку. Может показаться что это не гибко или вовсе неправильно. На самом деле нет, просто вся грязная работа с операционной системой остается в движке, что облегчит перенос на новую платформу.
2) TriAPI разделен на расширенный наш и клиентский. Расширенную версию реализует рендерер и вся его задача -- пробросить ограниченное количество OpenGL вызовов, для отрисовки той же консоли или отрисовки меню. Клиентскую часть, которая попадает только в client.dll, реализует движок, поскольку TriAPI сам по себе далеко не только пробрасывает OpenGL вызовы, а... в общем, лучше стоит посмотреть в сорцы самостоятельно.
3) Что делать с Render интерфейсом Дяди Миши? Хоть и инициализацией расширения занимается движок, вся реальная поддержка остается на плечах ref_dll, поскольку все существующие кастомные рендереры используют OpenGL. Просто нет смысла заморачиваться.
4) Что с кастомными рендерерами навроде Paranoia 1? К счастью, почти все они имеют проверку через StudioAPI, благодаря которой знают какой рендерер используется на данный момент: software, opengl или direct3d и автоматически отключаются, чтобы не смущать голдсорс.

Пока разработка API в виде черновика ведётся в ветке 0.20-renderdll, но потихоньку мы движемся к первому рабочему proof-of-concept.
a1batross вне форума Ответить с цитированием
Старый 11.03.2019, 22:50  #845
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Лучше бы софтварный рендерер запилили
Дядя Миша вне форума Ответить с цитированием
Старый 11.03.2019, 22:53  #846
a1batross
a1batross
Umu~!
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 22
Сообщения: 669


По умолчанию

2 Дядя Миша:
А ведь mittorn прям горит желанием сделать софтварный рендерер.
a1batross вне форума Ответить с цитированием
Старый 11.03.2019, 22:56  #847
nemyax
nemyax
тндайпц тра
Регистрация: 30.07.2015
Сообщения: 639


По умолчанию

Софтварный софтварный или софтварный на OpenCL?
nemyax вне форума Ответить с цитированием
Старый 12.03.2019, 01:15  #848
a1batross
a1batross
Umu~!
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 22
Сообщения: 669


По умолчанию

Cybermax меня озадачил списком ВООБЩЕ ВСЕХ форков Ксаша.

Получилась очень большая семья Дяди Миши.

Поясняю некоторое, о чём вы может быть не в курсе:

1) CS:MoE -- китайский мод на CS с модифицированным движком для совместимости с CSO.
2) Afterburner -- форк с совместимостью для игры про Джеймса Бонда.
3) vitaXash3D -- PSVita порт.
4) xash3d-switch -- Nintendo Switch порт.
5) xash3ds -- Nintendo 3DS порт.
6) xash3dx -- XBox порт.

Пикча в аттаче.
[ Миниатюры ]
Untitled Diagram(1).png Просмотров: 28 Размер:  41.2 Кбайт  

Последний раз редактировалось a1batross, 12.03.2019 в 01:28.
a1batross вне форума Ответить с цитированием
Старый 12.03.2019, 01:17  #849
mittorn
mittorn
Полковник
Регистрация: 22.04.2010
Сообщения: 1,221


По умолчанию

2 nemyax:
на CPU чтобы движок по возможностям не уступал обычной хл, которая игралась спокойно без gpu ускорения
mittorn вне форума Ответить с цитированием
Старый 12.03.2019, 01:20  #850
Slux
Slux
CEO of CSM
Регистрация: 20.06.2006
Адрес: /dev/tty0
Возраст: 33
Сообщения: 5,774


По умолчанию

[ Цитата ] Afterburner -- форк с совместимостью для игры про Джеймса Бонда.
Nightfire?
Slux вне форума Ответить с цитированием
Старый 12.03.2019, 01:24  #851
a1batross
a1batross
Umu~!
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 22
Сообщения: 669


По умолчанию

2 Slux:
в точку, он самый.
a1batross вне форума Ответить с цитированием
Старый 12.03.2019, 01:24  #852
mittorn
mittorn
Полковник
Регистрация: 22.04.2010
Сообщения: 1,221


По умолчанию

2 Slux:
да. там форматы совсем другие
mittorn вне форума Ответить с цитированием
Старый 12.03.2019, 01:29  #853
a1batross
a1batross
Umu~!
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 22
Сообщения: 669


По умолчанию

Обновил пикчу, добавил Sing Engine.
a1batross вне форума Ответить с цитированием
Старый 12.03.2019, 01:35  #854
Slux
Slux
CEO of CSM
Регистрация: 20.06.2006
Адрес: /dev/tty0
Возраст: 33
Сообщения: 5,774


По умолчанию

[ Цитата ] Сообщение от mittorn: 2 Slux:
да. там форматы совсем другие
Ну это я знаю, в своё время расковырял двиг и даже собирался что-то маппить, но руки не дошли.
Slux вне форума Ответить с цитированием
Старый 12.03.2019, 09:04  #855
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 a1batross: забыл Granite3D хотя про него ничего не известно.
Дядя Миша вне форума Ответить с цитированием
Старый 12.03.2019, 09:21  #856
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

Ещё XashVR. И новый NT который не такой как старый NT - выделить отдельно.
crystallize вне форума Ответить с цитированием
Старый 01.04.2019, 18:11  #857
mittorn
mittorn
Полковник
Регистрация: 22.04.2010
Сообщения: 1,221


По умолчанию

Да не ужели csm ожил?
Тем временем был сделан софтрендер
Мир, модели, спрайты и эффекты уже рисуется корректно
С прозрачными брашами пока проблемы - код для их отрисовки в quake был расчитан на прозрачные поверхности только из мира и его придётся переписывать. Сейчас если origin ентити не нулевой, начинаются проблемы, потому код отключён
Оффтоп

mittorn, подумав, добавил 01.04.2019 в 18:25
ранние скрины
Оффтоп

Последний раз редактировалось mittorn, 01.04.2019 в 18:32.
mittorn вне форума Ответить с цитированием
Старый 01.04.2019, 18:32  #858
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 mittorn: в ку2 прозрачные брашы есть.
Дядя Миша вне форума Ответить с цитированием
Старый 01.04.2019, 18:57  #859
mittorn
mittorn
Полковник
Регистрация: 22.04.2010
Сообщения: 1,221


По умолчанию

2 Дядя Миша:
именно брашмоделями, не как часть мира? Значит я возможно что-то сломал.
Код который там есть добавляет поверхности с флагом прозрачности в список alpha-surfaces. При этом не учитывается. принадлежали они к ентите или к миру. потом весь этот список отрисовывается. В этот момент информации о расположении ентитей уже просто нет. Этим занимается r_poly, который используется и для спрайтов в q2. Я же рисую этим же кодом поверхности из ентитей, а не из списка. Это работает пока они в нуле. если они не в нуле - начинают ломаться текстурные координаты, приводя к крашу. Возможно лучше адаптировать код отрисовки для мира, Это позволит сделать поддержку мипмап для таких брашей как минимум.

Последний раз редактировалось mittorn, 01.04.2019 в 19:06.
mittorn вне форума Ответить с цитированием
Старый 01.04.2019, 19:18  #860
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] именно брашмоделями, не как часть мира?
Если не путаю, на каких-то картах полупрозрачные брашы можно было разбить взрывом. Значит именно модели.
А как оно там устроено в софт-рендерере, я никогда особо не интерисовался. У Кармака код в первую очередь заточен под слабое железо тех времён, поэтому он сложный для понимания. Можно написать в современном стиле, с з-буффером, как будто это видимокарта рендерит. Но конечно будет медленеее.
Дядя Миша вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:42.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2020 by CS-Mapping.com.ua Community