Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Способ реализации сцены в движке (2 стр)

Способ реализации сцены в движке (2 стр)

Страницы: 1 2
ReviriПостоялецwww13 мар. 201816:03#15
Daniil Petrov
> Тоже не понимаю :) зачем тогда писать движок :))) по сути кроме тебя твой
> движок больше никому не нужен.

Зачем самому рисовать, если можно натырить из интернетов?
Зачем учиться водить, когда можно ездить на общественном, да и гоночный болид не по карману все равно?
Зачем на последнем курсе вуза делать диплом, ведь он никому кроме тебя не нужен?

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

EugeneУчастникwww13 мар. 201816:11#16
Reviri
Можно пописать движок какое-то время, для обучения и с четким осознанием того, что ты положишь этот движок в формалин и никогда не будешь использовать. Это — самообразование.
Можно писать движок, желая на самом деле сделать игру. Это — самообман.
FistahaПостоялецwww14 мар. 201817:17#17
Спасибо вам большое. Погуглю про entity-component-system. А на счет дерева: Не будет ли это слишком долгим? формирование этого дерева, обращение к узлу и т.д. Насколько я знаю, проход дерева часто делается рекурсивным. Не скажется ли плохо это на быстродействии и памяти? Хотя наверно всегда можно заменить все итеративным алгоритмом.

mr.DIMAS
> только не делай у узлов сцены метод Draw(). Рендер должен быть изолирован
А как их тогда называть? И что значит, рендер должен быть изолирован? изолирован от чего?

Я много слышал об urho, и даже пытался его освоить, но знаний не хватило. Потому решил немного разобраться в архитектуре движков, написав свой.

innuendoПостоялецwww14 мар. 201817:38#18
Fistaha
> и даже пытался его освоить, но знаний не хватило.
Fistaha
> Не скажется ли плохо это на быстродействии и памяти?

может пока не стоит думать о скорости ?

EugeneУчастникwww14 мар. 201817:51#19
Fistaha
> Не будет ли это слишком долгим?
Будет. Относительно других, более оптимальных решений.

> И что значит, рендер должен быть изолирован? изолирован от чего?
Изолирован от нод. Есть ноды, они хранят данные. Есть рендерер, он рисует ноды. Нода себя не рисует.

> знаний не хватило
> решил немного разобраться в архитектуре движков, написав свой
*хрюкающие звуки*

Правка: 14 мар. 2018 17:51

*Lain*Постоялецwww14 мар. 201822:55#20
Fistaha
> пишу 3d движок
Ты завязнешь на десятку лет и так и не доделаешь движок. Остановись пока не поздно. Сразу начинай делать игру на всём готовеньком. А то через 11 лет скажешь Карлу, что отдал 11 лет коту под хвост

Правка: 14 мар. 2018 22:55

FlyOfFlyПостоялецwww14 мар. 201823:33#21
Reviri
>
> Потому, что в этом мире всем кроме тебя самого и близких на твое развитие
> положить.
Не ври, правильно так
Reviri
>
> Потому, что в этом мире всем кроме тебя самого на твое развитие
> положить.
u960Постоялецwww16 мар. 201822:50#22
Засрали всю тему, по сути инфы ноль.
lookidПостоялецwww17 мар. 20180:15#23
class Component {
Shader* shader;
Geometry* geom;
mat44 transform;
vector<Component*> children;

void Draw();
void Input();
void Update();

template<typename T>
T* getComponent<T>(...);

template<typename T>
T* addComponent<T>(...);
};

https://github.com/Tomius/LoD

Daniil PetrovПостоялецwww17 мар. 20183:34#24
Я, например, реализую сцену так, как мне удобно, и не парюсь на счёт того, как делают её другие.
Мой принцип работы - сделать, чтоб работало, а потом уже постепенно оптимизировать и дорабатывать.
innuendoПостоялецwww17 мар. 20187:35#25
lookid
> void Draw();

есть же неграфические компоненты, плюс компоненты это World, а сцены разные могут быть render/audio/phisics

Правка: 17 мар. 2018 7:38

Daniil PetrovПостоялецwww17 мар. 20187:51#26
innuendo
> есть же неграфические компоненты, плюс компоненты это World, а сцены разные могут быть render/audio/phisics
Кстати, я вызываю обработку звука из функции рендеринга сцены после того, как высчитывается положение камеры. Для установки слушателя, ну и попутно синхронизирую обработку звуковой сцены с рендерингом картинки.
До физики пока ещё не добрался, но вполне возможно, что именно функция рендеринга будет ключевой в синхронизации работы всех потоков, связанных со сценой.

Правка: 17 мар. 2018 7:52

innuendoПостоялецwww18 мар. 20189:39#27
lookid
> Shader* shader;
> Geometry* geom;

и шейдер тут не надо, надо Material*

Daniil PetrovПостоялецwww18 мар. 201812:48#28
innuendo
> и шейдер тут не надо, надо Material*
Я сделал два вида материалов - шейдерная программа (требуется не только для материалов) и структура, содержащая эту программу, текстуры и циферки, описывающие свойства материала.
Страницы: 1 2

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр