forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Движок на Си (http://forum.boolean.name/showthread.php?t=19812)

mr.DIMAS 25.04.2015 21:38

Движок на Си
 
Вложений: 5
Тут уже проскакивала моя тема на gamedev.ru, где я показывал самодельный лайтмаппер. Буду выкладывать тут скрины и технические подробности создания движка на чистом Си.







Зачем я это делаю? Просто для тренировки. На мою игру это не повлияет (тем более что она уже доделана на 80%).

Что умеет движок - пока немного:
1) Считает столкновения. Сфера-сфера, сфера-меш.
2) Лайтмапит карты с возможностью включения\выключения света.
3) Воспроизводит звуки

Движок использует OpenGL 1.4 - отчасти потому, что хочу чтобы игра (шутер, я его сейчас делаю на этом движке) работала на довольно слабых компах.

Кто хочет побегать по карте и пострелять: СКАЧАТЬ - НО! Пока что лайтмапы генерируются при старте, поэтому запускается около 3 минут.

Upd. В демке - [Q][E] - включить\выключить группу источников света, [C] - присесть

Исходники движка по запросу

Wegox 25.04.2015 22:01

Ответ: Движок на Си
 
Не хочу гуглить, что значит ошибка отсутствия libogg-0.dll?

mr.DIMAS 25.04.2015 22:04

Ответ: Движок на Си
 
Перезалил. Просто забыл положить длл'ку.

Wegox 25.04.2015 22:33

Ответ: Движок на Си
 
Ну пока всё шустро работает. С тремя - минутами ты загнул конечно.
Свет гаснет(текстура - меняется) смотрится неплохо, коллизия есть, звук странный.

Mr_F_ 26.04.2015 00:28

Ответ: Движок на Си
 
Цитата:

поэтому запускается около 3 минут.
не думал утилизровать обычные GPU шадоумапы для генерации лайтмапов? как-то раз (или два) я такое проворачивал - рендеришь тени, типа как для риалтайма, потом рисуешь развёртку меша в текстуру, семпля на ней эти тени, потом можно поблюрить ещё. Всяко быстрей должно выйти, чем на цпу трейсить.

mr.DIMAS 26.04.2015 00:39

Ответ: Движок на Си
 
Вложений: 1
Цитата:

не думал утилизровать обычные GPU шадоумапы
Цитата:

Движок использует OpenGL 1.4
Именно поэтому на цпу. К тому же у меня многослойные лайтмапы - на каждый фейс столько слоев, сколько источников света на него действуют. Таким образом чтобы выключить источник света, нужно пройтись по атласу и вычесть цвет, вносимый слоем на который влияет источник. Далее, я могу запустить 4 потока рендера лайтмапы (или по одному на каждое физическое ядро процессора) - в них самая тяжелая часть - тени.

Цитата:

потом можно поблюрить ещё
Я итак размазываю лайтмапы.

В аттаче исходники, файлы: lightmap.c и collision.c(для рейтрейса)

Upd. А вообще рендер лайтмап будет делаться единожды - сейчас кумекаю над сохранением лайтмап.

Mr_F_ 26.04.2015 01:34

Ответ: Движок на Си
 
Цитата:

Движок использует OpenGL 1.4
ну это же препроцесс вообще, должен быть у тебя на компе, а не юзера.
ну и вообще




Цитата:

работала на довольно слабых компах.
1.4 это же даже без шейдеров (они там экстеншеном, как я понял), ты расчитываешь не просто на слабые компы, а на компы, которые были слабыми 10 лет назад? Ты хочешь прийти на свалку города Зажопинск, найти там комп и запустить на нём это?


mr.DIMAS 26.04.2015 01:39

Ответ: Движок на Си
 
Потому что у меня есть нетбук с Intel GMA 3150 :-D.

Wegox 26.04.2015 01:42

Ответ: Движок на Си
 
Ну а планшеты?

Samodelkin 26.04.2015 02:57

Ответ: Движок на Си
 
На всех планшетах где есть графика есть и шейдеры.

У меня есть комп с GeForce2 MX так что я тоже потенциальный клиент.

St_AnGer 26.04.2015 10:15

Ответ: Движок на Си
 
а у меня есть нетбук с intel gma 945 :D так что я тоже потенциальный клиент)) на макбуке кстати за 97 секунд сгенерилось всё и запустилось, считал сам))

tirarex 26.04.2015 10:48

Ответ: Движок на Си
 
Цитата:

Сообщение от Wegox (Сообщение 295335)
Ну а планшеты?

Я на планшете играю в игры с DeferredShading и проблем не вижу !
как я заметил , многие ударились в с̶т̶а̶р̶ь̶е̶ олдскул, только вот производители их не поддерживают и зачем-то делают железо все дешевле и мощнее...

mr.DIMAS 26.04.2015 14:53

Ответ: Движок на Си
 
Цитата:

как я заметил , многие ударились в с̶т̶а̶р̶ь̶е̶ олдскул,
Больше всего я угораю, когда вижу пиксельную 2д хуиту сделанную на юнити, которая требует минимум шейдеры 2.0 :-D

ARA 26.04.2015 15:39

Ответ: Движок на Си
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 295347)
Больше всего я угораю, когда вижу пиксельную 2д хуиту сделанную на юнити, которая требует минимум шейдеры 2.0 :-D

А что в этом видишь смешного?
Люди, которые не могут себе позволить калькулятор с PS 3.0 и игру твою не будут покупать (денег тонет). Лишать себя прелестей шейдеров из-за такой аудитории?
На всякий случай я напомню. PS 3.0 настолько древний, что появился ещё тогда, когда я учился в школе. В те времена даже диалап интернет был у единиц. :-D

mr.DIMAS 26.04.2015 18:42

Ответ: Движок на Си
 
Сделал сохранение\загрузку лайтмап. Скиньте мне cgraphics.log и напишите фпс( выводится в консольное окошко )

СКАЧАТЬ


Часовой пояс GMT +4, время: 12:08.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot