Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 28 | 1 | 7
Назад Вниз Каталог Обновить

Привет Двач! Задача такая: нужно на сервере рендерить Аноним 27/09/17 Срд 23:20:04  1067405  
Utahteapot.png (34Кб, 300x243)
Привет Двач!

Задача такая: нужно на сервере рендерить 3д мир и затем все это отдавать наблюдателю-обывателю в виде потока, в браузер.
В общем, тут масса вопросов:
Какую технологию использовать? Что-то типа WebGL и Websocket или тупо поток картинок-кадров?
Тут даже мне, как ветерану гугл-поиска, тяжеловато сформировать корректные вопросы поисковику.

Хотелось бы использовать уже готовые движки, дабы не городить свой велосипед, да и форкать всяко легче. Ну и естественно никакой пропиертарщины.

Алсо, не так давно нашел замечательный опенсурс двиг Urho3D, но не знаю, подойдет ли он конкретно для этой задачи.
Аноним # OP  27/09/17 Срд 23:30:46  1067410
Вот еще кое что добавлю:
Взаимодействие клиент-сервер минимальное и одностороннее, т.е. клиент никак не может влиять на события на сервере, воможно только управление камерой. Но, не исключено что подобный функционал будет в итоге, хотя бы в перспективе.
Просмотрщик - не обязательно бразуер. Браузер это как нечто дефолтное и то, что есть у всех.
Аноним 28/09/17 Чтв 01:30:22  1067460
>>1067405 (OP)
в чем проблема ренденить в h264?
Аноним # OP  28/09/17 Чтв 02:40:38  1067477
>>1067460
>ренденить в h264
Ты имеешь ввиду жать поток кадров этим кодеком и уже гнать его к клиенту?
Если так, то такая идея была. Возможно, так и сделаю, если не найду альтернативы.
Аноним 28/09/17 Чтв 03:51:28  1067482
>>1067405 (OP)
Посмотри как работает X server. По сути делает все то что ты описал.
Загвоздка может быть в том, что есть ты собрался рендерить на GPU то тебе нужно будет трансферить память с GPU на CPU, что конечно может сильно сказаться на производительности.
Ну а жальше ты полученые пиксели может сжимать в какой угодно тебе формат и передавать в виде потока байт, на клиенте расжимая это и т.п.
В общем как уже предлагали h264 и т.п.
Но учти, вся эта телега уже будет иметь не real-time latency, т.к. CPU придется ждать комманды по сети, после отвправлять все нужные изменения на GPU, после с ГПУ обратно, сжимать, отправлять по сети обратно, клиенту разжимать все это и только потом отображать на экран.
Аноним 28/09/17 Чтв 13:24:50  1067594
>>1067477
Ну, а какая может быть альтернатива? Любой другой подход это безумный оверхед.
Аноним 28/09/17 Чтв 19:27:22  1067759
>>1067482
О, про иксы спасибо, гляну.
>рендерить на GPU
скорее всего буду писать софтварный рендер, т.к. серверы с GPU редкая и довольно дорогая штука.
Аноним 28/09/17 Чтв 19:41:59  1067769
>>1067482
>не real-time latency
А вот это вот печально, т.к. расчет идет именно на реалтайм.
>CPU придется ждать комманды по сети
Их будет минимум или вообще не будет, т.к. связь односторонняя, стрим по сути.
Ну и к тому же, собираюсь рендерить на cpu.
Аноним 28/09/17 Чтв 20:03:14  1067776
>>1067769
>А вот это вот печально, т.к. расчет идет именно на реалтайм.
Если ты будешь стримить видео в 360 градусов, то лаг в полсекунды пользователь незаметит. Главное, чтобы камера плавно вращалась, и видео поток без сбоев шел.
Аноним 28/09/17 Чтв 21:44:24  1067825
>>1067769
Посмотри если у тебя процессор на сервере имеет intel quick sync то ты через интелловский сдк сможешь почти без нагрузки гнать h264 поток.
Аноним # OP  28/09/17 Чтв 22:15:30  1067843
>>1067776
>видео в 360 градусов
Нет, скорее всего камера будет почти статична, с изометрической перспективой(привет первым фоллачам и прочим рпг), и, возможно, автозумом. Но за идею спасибо.
>>1067825
Спасибо, возьму на заметку.
Аноним 28/09/17 Чтв 22:17:25  1067846
>>1067410
>воможно только управление камерой
20 клиентов положат сервер.

Рендери на клиентах через WebGL
Аноним 28/09/17 Чтв 23:50:55  1067883
>>1067846
Такой вариант так же рассматривался.
В целом, камера будет статична.
Выбор:
Рендерить на сервере(софт рендер) и отдавать готовый поток клиенту или же при инициализации передавать клиентам сцену со всеми моделями а затем уже с сервера гнать поток координат и прочего клиенту.
Оба подхода имеют место быть.
Аноним 29/09/17 Птн 00:30:06  1067900
>>1067883
Нахуя тебе вообще рендерить на сервере что то? Ты понимаешь что софтварный рендер 3д сцены это сложная задача для CPU? Есть ты тем более будешь писать свой рендер то наверняка он у тебя будет очень медленный. Потом передавать поток даже в 720p это уже требует где-то 1-2 мбита/сек по сети.
Уже пара клиентов просто положат твой сервер.
А один раз передать меши и нужные текстуры со шейдерами на клиент в webgl который будет все это рендерить это практически ничего не стоит.
Не понимаю вообще нахуя рендерить что то на сервере.
Аноним 29/09/17 Птн 00:54:39  1067911
>>1067900
У меня как раз таки этот вариант с webgl с самого начала в голове был.
Просто задача довольно специфическая - сервер постоянно работает и там происходят какие-то процессы, симуляция иначе говоря. А клиенты просто подключаются и наблюдают этот процесс.
Аноним 29/09/17 Птн 01:08:34  1067918
>>1067911
> там происходят какие-то процессы
>А клиенты просто подключаются и наблюдают этот процесс.
И в чем проблема передавать текущее состояние твоего процесса в виде набора параметров?

Короче описывай полностью задачу, щас будем решать.
Аноним # OP  29/09/17 Птн 01:24:10  1067927
>>1067918
Да задача в общем то уже почти описана. Попросту говоря, это симуляция небольшой "вселенной".
Конкретно, группа людей, они охотятся, выживают, как-то общаются, и все в таком духе.
Это, кстати, чем-то напоминает SpatialOS.
Думаю, здесь не обойдется без какой-нибудь нейросети, но впрочем об этом пока рано.
Сейчас я занят тем, что подготавливаю морфинг-модели людей(динамическая генерация особей с разными параметрами роста, веса, генетики, т.е. внешние черты лица, телосложение, и т.д; динамический рост и изменение в процессе симуляции)

Просто заранее надо определиться с архитектурой.
Аноним 29/09/17 Птн 01:32:13  1067930
>>1067927
Это получается что разные зрители будут наблюдать с разных позиций? Как оно вяжется с тем что камера статична?
Аноним # OP  29/09/17 Птн 01:36:47  1067932
>>1067930
Если делать на WebGL, то динамическую. Если же потоком - то статика с автозумом.
Аноним 29/09/17 Птн 01:40:00  1067933
>>1067932
Статика мне кажется будет лучше смотреться, у всех юзеров примерно одинакого, а вот с webgl могут быть разные перфомансы.
Аноним # OP  29/09/17 Птн 01:41:04  1067934
>>1067933
>разные перфомансы
Например?
Аноним 29/09/17 Птн 01:47:57  1067936
>>1067934
Ну у кого-то быстрее рендерится локально, у кого-то медленнее. Статичное видео рендерится примерно одинакого в 2к17 у всех.
Аноним 29/09/17 Птн 01:56:20  1067938
>>1067927
Ну так ты же по каким-то параметрам собрался все это рендерить на серваке? Сделай то же самое только с рендерингом на клиенте через webgl
Аноним # OP  29/09/17 Птн 01:59:19  1067939
>>1067938
К этому варианту и склоняюсь. У меня просто с этим небольшая каша в голове.
Аноним 29/09/17 Птн 05:25:22  1067965
>>1067405 (OP)
>все это отдавать наблюдателю-обывателю в виде потока, в браузер.

>Какую технологию использовать? Что-то типа WebGL и Websocket или тупо поток картинок-кадров?
>Тут даже мне, как ветерану гугл-поиска, тяжеловато сформировать корректные вопросы поисковику.
Тег <VIDEO>, используй, творобушек.
Поток vp9 гони, или x264
Аноним 29/09/17 Птн 08:57:32  1067990
>>1067927
Это похоже на игру. А игры рендерятся не на серверах, как ты понимаешь.
Аноним 29/09/17 Птн 08:58:34  1067991
>>1067883
>воможно только управление камерой
>В целом, камера будет статична.
Ты определись уже!
Аноним 29/09/17 Птн 10:20:10  1068001
>>1067965
Всегда проигрываю с залетных веб макак, которые услышали звон, но по сабжу нихуя не знают но все таки решают выебнуться своей неграмотностью.
Аноним 29/09/17 Птн 11:22:45  1068007
>>1068001
>Всегда проигрываю с залетных веб макак, которые услышали звон, но по сабжу нихуя не знают но все таки решают выебнуться своей неграмотностью.

Обоснуй.

ОПу нужно гнать потоковое видео в бравзер, и судя по посту, у него проблема именно с браузером.

Ну так я ему указал вроде верно на единственно верное решение.


Если же ОП спрашивал не это, то он не понимает основ работы онлайн игр, и ему нужно гуглить эту тему.

Или я неправ?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 28 | 1 | 7
Назад Вверх Каталог Обновить

Топ тредов
Избранное