SGS Project.
С недавних пор началась разработка проекта SGS. Рабочее название проекта "Synthetic Engine". Вообще SGS - это аббревиатура расшифровующаяся как Synthetic Graphics System, или же Synthetic Game Studio. В основе программного комплекса лежит Microsoft DirectX11 API. В силу того, что проект создавался одним человеком, да еще на чистом энтузиазме, процесс разработки продвигается не очень быстро, однако кое - какие результаты уже получены. В этой статье я буду стараться периодически освещать состояние проекта, делиться получеными результатами. Приглашаются так-же все желающие поучавствовать в обсуждении вопросов связяных с творческим процессом создания графического движка. И так, на сегодняшний день уже реализовано не мало. Архитектура программы изначально затачивается для реализации в дальнейшем трех систем рендерринга, Forward, Deffered, Raytracing. Физика - Nvidia PhysX библиотеки. В качестве неба было принято решение пока использовать SkyBox, ввиду его относительной простоты и понятности.
Реализована система материалов, позволяющая создавать базовые материалы такие как Lambert:
Metall
Metall + Normal
Self Shadowed Parallax
Так-же была разработана система постпроцессов. Пока реализовано следующее:
Bloom:
DOF:
Так-же планируется написать свой редактор уровней, но он пока еще находится в зародыше.
визуализация тангенциального пространства:
Bounding Sphere & Bounding Box
Axis:
Неплохо выглядит) Как ландшафт генерируете? Ещё интересно, где модели находите (особенно понравилась сцена в качестве примера для SSAO, где несколько зданий и дерево), мне что-то не попадались в свободном доступе симпатичные outdoor сцены.
ОтветитьУдалитьСорри за поздний ответ. Ландшафт генерю по карте высот, кусками по N элементов. Потом через Frustum Culling отсеиваю те лоды что не видно камере.
УдалитьМодели сцены выискиваю в инете. Они слишком тяжелые в принципе, и не предназначены для рантайм обработки, однако есть более менее сносные варианты).
Извиняюсь, но я не знаю куда ещё могу написать свой вопрос. Пишу свой очень простой 3д редактор с помощью XNA. Получаемые модели состоят из точек и линий, т.е. дан массив точек [x,y,z] и массив линий в котором находятся индексы, соединяемых точек. Проблема в том, что я не знаю как можно получить индекс точки при нажатии мыши по форме, чтобы в последствии менять её положение в пространстве)Я думаю надо как то узнать x,y координаты точки на плоскости после 3д преобразования.. может есть какие-нибудь методы в XNA или вообще можно по другому сделать. Может вы касались этого у себя в статьях (я искал, но не мог найти), то подскажите тему, если нет, то буду рад ответу)
ОтветитьУдалить