Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Немного софтверного рендеринга

Немного софтверного рендеринга

Поделиться

Страницы: 1 2 3 4 5 6 7 8 Следующая

eDmkПользовательwww24 окт. 20171:57#0
Всем привет. Хочется узнать ваше мнение по поводу софтверного рендеринга.
Где может применятся. Нужен ли и вообще зачем напрягать CPU когда есть GPU?

Тут небольшая демка:

+ Показать

Так она выглядит:

+ Показать

Немного информации о производительности в Readme.txt.
Прошу сильно не пинать, т.к. в 3D с марта месяца 2017 г. Еще не все изучил.

Можно грузить OBJ-файлы (пока без текстур).

В разрешении экрана 2560×1600:
100 тысяч полигонов тянет ~10-15 fps. на одном ядре.
500 тысяч ~3 fps
1.8 миллионов полигонов ~1.5 fps ;)

Планировал простую игруху на нем написать (типа Doom/Hexen), но чем больше вешаешь вычислений на пиксел,
тем сильнее тормозит. На GPU не так заметно при скорости заливки 5-10 GTexels,
а на CPU каждый навес (шейдер) снижает скорость.

Delphi XE6 /Оптимизация SSE2 - SSE4.1/4.2 + MMX.
Производительность в 800x600 примерно на уровне Voodoo 2 (на моем CPU Core i7 G6950X Extreme 3.4 ГГц / 10 ядер / 20 потоков).

Сделана по урокам на Хабре.

Правка: 25 окт. 2017 4:10

MisanthropeПостоялецwww24 окт. 20172:15#1
прикольно!
Iron ManПостоялецwww24 окт. 20172:23#2
У меня только один вопрос, я просто не в курсе, как делаются такие вещи :) здесь используется какой-то API или всё исключительно ручками?
MrShoorУчастникwww24 окт. 20172:34#3
eDmk
Знакомая рожица: https://habrahabr.ru/post/248611/

> Где может применятся.
Пожалуй может применяться только для software oclussion culling-а, и то с современными GAPI даже это уже под вопросом.
Для SOC рендер можно еще круче оптимизировать, ибо не нужно вообще ничего кроме глубины.

> Нужен ли и вообще зачем напрягать CPU когда есть GPU?
А в общем не нужен, потому что уже даже в читалках и наручных часах есть GPU.

eDmkПользовательwww24 окт. 20172:53#4
>Знакомая рожица
Да я в целях изучения. Мне чужого не надо.
Просто голова эффектно смотрится. На ней эксперементировать удобно.
eDmkПользовательwww24 окт. 20172:54#5
>здесь используется какой-то API или всё исключительно ручками?
Все ручками.
Там высшей математики почти нет. Только афинные преобразования. Остальное все 5-9 классы школы :)

Правка: 24 окт. 2017 2:56

FlyOfFlyПользовательwww24 окт. 20173:02#6
eDmk
>
> Там высшей математики почти нет. Только афинные преобразования. Остальное все
> 5-9 классы школы :)
Освещение только если, ну это врятли относиться к математике  и проекция

Правка: 24 окт. 2017 3:05

eDmkПользовательwww24 окт. 20173:24#7
>Освещение только если
У меня так: I = I * K * Cos(Angle)
Обычное глобальное освещение с учетом центра объекта и вектора к объекту.
Iron ManПостоялецwww24 окт. 20173:33#8
eDmk
> Там высшей математики почти нет. Только афинные преобразования. Остальное все
> 5-9 классы школы :)
Вот как раз в них-то я математику и запустил :))) когда пошли алгебра и геометрия
eDmkПользовательwww24 окт. 20173:39#9
>Вот как раз в них-то я математику и запустил
Библиотеки пустые - ждут посетителей. Книжные ломятся от книг.
Все в ваших руках.
eDmkПользовательwww24 окт. 20173:50#10
Вот еще моделька домика для моей софтины.
+ Показать

Сам сваял за 20 минут. Чтобы права ничьи не нарушать.
Выглядит так:
+ Показать

Можете использовать для своих целей. Безвозмездно :)

Правка: 24 окт. 2017 3:51

SuslikМодераторwww24 окт. 20175:39#11
призываю в тред боброва с тарасом
ХаусПостоялецwww24 окт. 20176:47#12
Отзываю из треда sb3d и ТарасаБ.
FlyOfFlyПользовательwww24 окт. 20177:01#13
eDmk
>
> У меня так: I = I * K * Cos(Angle)
> Обычное глобальное освещение с учетом центра объекта и вектора к объекту.
Это формулу на я всю жизнь запомнил, пытался сам до неё дойти и  сделать 2д освещение - другое дело, что в школе средней, я не помню, что бы я её проходил
SuslikМодераторwww24 окт. 20177:03#14
eDmk
> Обычное глобальное освещение с учетом центра объекта и вектора к объекту
термин "глобальное освещение" обозначает не то, что ты думаешь.

Страницы: 1 2 3 4 5 6 7 8 Следующая

/ Форум / Программирование игр / Графика

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