forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Посоветуйте движок (http://forum.boolean.name/showthread.php?t=18443)

Nikich 08.08.2013 21:12

Посоветуйте движок
 
Посоветуйте маленький опенсорсный 2D движок на C++. Под маленьким, я имею ввиду без всех наворотов, вроде систем частиц и физики. То есть всё что от движка нужно - уметь грузить и отображать медию(изображения, звуки,текст), а так же базовая работа с ними(аналог BMax'овских SetScale(), SetColor()). Движком назвать трудно конечно, но всё же.
Причина такой нужды - обучение, вникнуться в low-level работу с графикой.

Nerd 08.08.2013 22:29

Ответ: Посоветуйте движок
 
[hardcore]SDL[/hardcore]

den 09.08.2013 00:15

Ответ: Посоветуйте движок
 
SFML вроде ничо так.

Mhyhr 09.08.2013 10:57

Ответ: Посоветуйте движок
 
HGE? Исходники вроде давно открыты. Примеров кучи, хотя можно обойтись штатными. Не хочешь систему частиц - не используй. Хочешь - используй...

Если крайне нужен меньший функционал и есть лишняя неделька-две, берем книгу на подобии "DirectX/OpenGL для чайников" или уроки Nehe . И пишем простейший движок, выдирая нужное из примеров, заодно изучаем самые низы графики. Всё остально гуглится и приваривается в виде библиотек. Плюсы - движок будет тебе роднее и можно сделать его в стиле Blitz.

Nikich 09.08.2013 12:12

Ответ: Посоветуйте движок
 
Беда в том, что со времен написания книг для чайников и тех же уроков NeHe, довольно много изменилось(если рассматривать openGL). Самому же писать без каких либо знаний о стандартах и общепринятных решений ущербно, по-моему, поэтому и хочется почитать код профессионалов.

HolyDel 09.08.2013 15:56

Ответ: Посоветуйте движок
 
+1 к HGE.

вообще не очень ясно под "low-level работу с графикой". если это действительно low-level, то это только гапи. все остальное - это уже довольно таки high-level.

Nikich 09.08.2013 16:27

Ответ: Посоветуйте движок
 
Суть в том, чтобы разобраться в сорцах этих движков:) Там то и есть работа с гапи.

moka 09.08.2013 16:47

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

Причина по которой ты хочешь взять готовый движёк и вникнуть в него, в том что вообще работа с графикой это очень большая тема, которая делиться на много сегментов, следственно из-за объёма всё слишком громозко для понимания сразу.
Поэтому ты подумал что взяв движёк - разберёшься по частям - но это заблуждение!

Если хочешь изучиться как что-то работает на low-level уровне, начни с low-level и изучай сами низкие компоненты, затем понимай как они взаимосвязаны.
Только так ты сможешь научиться писать что-то своё.

В подтверждение моей логики, возьми мододеллеров или тех кто берёт движёк и "допиливает" его, они не научяться писать свои движки, и low-level знаний у них не добавиться (в достаточной мере), т.к. они будут работать всё с той же высокой абстракцией конкретного движка.

NeHe и по сей день актуален, т.к. он объясняет самые фундаментальные азы OpenGL технологий, которые за столько уже лет, до сих пор не сменились - те же буффера, те же программы, те же плюшки. Изменилось лишь может в деталях что-то, где-то добавили фичей, сделали расширения для упрощения и т.п. Но чтобы их заюзать - нужно знать азы всё равно.

Если хочешь уметь писать движки - NeHe - это отличное начало.
Если хочешь писать игры - забудь про low-level, и бери Unity / HGE или чё там ещё и пиши игры.

HolyDel 09.08.2013 17:31

Ответ: Посоветуйте движок
 
Цитата:

NeHe и по сей день актуален
далеко не весь. сечайс весь fixed pipeline - deprecated. а в нехе именно он.
акутальны уроки кренделя:
https://code.google.com/p/gl33lessons/

Nikich 09.08.2013 21:22

Ответ: Посоветуйте движок
 
Попробовал SDL.
Подключается отлично, даже к моему любимому Code::Blocks. Работает тоже как часы, несмотря на то, что официальный релиз 2.0 версии был не так давно(1 августа, если верить вики).
С графикой из коробки он работает только с .bmp. Есть SDL_image(ссылка на главной странице проекта, значит должна быть почти официальной) - библиотека, которая поддерживает все нужные и ненужные форматы. Обрадовавшись хорошей работой самого SDL, я уж было подумал, что всё идеально, сейчас подключу SDL_image и буду в шоколаде. Но в семье не без уродов. Меня больше всего интересовал формат .png. А теперь попробуйте угадать, какой же формат не подключается:)
Ошибку он выдает на zlib1.dll - "Точка входа в процедуре InflateReset2 не найдена в библиотеке DLL zlib1.dll". Кто-нибудь в курсе, с чем может быть связана данная проблема? Пробовал взять с официального сайта zlib - тоже самое.

RegIon 09.08.2013 21:29

Ответ: Посоветуйте движок
 
Обновили версию zlib, а в ней уже нет такой функции)
Попробуй версии пониже, или поставь sdl версии ниже. Может он использует zlib выше, чем SDL_image

den 09.08.2013 22:49

Ответ: Посоветуйте движок
 
SDL_image тянет в зависимости библиотеки для открытия всех форматов, коих не мало. Поэтому если нужен png, подключи libpng.

Nikich 10.08.2013 00:28

Ответ: Посоветуйте движок
 
Отлично, помогло изъятие zlib1.dll из предыдущей версии. Спасибо:)

RegIon 10.08.2013 15:35

Ответ: Посоветуйте движок
 
processingjs.org/

Как вам библиотека/среда ?
/темы что бы не плодить

Nikich 10.08.2013 19:28

Ответ: Посоветуйте движок
 
Может, кому-то будет интересно. Провел тест на вывод графики в SDL 2.0, по словам автором он должен быть ускоренным. Не солгали: вывод 160х160(25600) картинок размером 4х4 пикселя выдает показатель в 51FPS, в BMax - 25.

HolyDel 10.08.2013 21:30

Ответ: Посоветуйте движок
 
Nikich, а можешь залить оба екзешника плиз? я хочу на своем двиге проверить скорость 2д.

Nikich 10.08.2013 23:04

Ответ: Посоветуйте движок
 
Вложений: 1
Готово.
Поделись своим тестом, если не трудно:)

Gector 10.08.2013 23:38

Ответ: Посоветуйте движок
 
Цитата:

Сообщение от Nikich (Сообщение 265121)
Готово.
Поделись своим тестом, если не трудно:)

bmax - 50
sdl - 158

Nikich 11.08.2013 01:32

Ответ: Посоветуйте движок
 
Лол, у меня в SDL при софтварном режиме рендера +40 к фпс. Видеокарта GeForce GTS 450. ЧЯДНТ?

HolyDel 11.08.2013 14:05

Ответ: Посоветуйте движок
 
Цитата:

ЧЯДНТ?
все так. до тех пор пока нет блендинга и трансформаций типа фращения и скалирования - тупо скопировать несколько гигабайт памяти будет быстрее.

Цитата:

Поделись своим тестом, если не трудно
мне то не жалко, но оно будет работать только на opengl 3.0 совместимых устройствах.

в архиве добавлен тест акселя и юнити.
в акселе можно переключать кнопками 1/2 методы рисования.
1 - рисуется одним батчем.
2 - рисуется каждый раз отдельным дипом.

2 -й это очень медленный метод, он у меня дает 11 фпс (при том что первый - за 200).

что то не аттачится((
http://rghost.ru/48043399

Nikich 11.08.2013 15:03

Ответ: Посоветуйте движок
 
Юнити результаты увидеть не удалось, из-за светлой текстуры светлый шрифт незаметен:(
Аксель - 170+ фпс с одним батчем, 1 фпс при множестве дипов.

HolyDel 11.08.2013 16:16

Ответ: Посоветуйте движок
 
в юнити тоже самый простой и медленный метод с множеством дипов.
через GUI.DrawTexture

Nikich 11.08.2013 16:25

Ответ: Посоветуйте движок
 
А в чем суть отрисовки одним батчем? Какой принцип работы? Знаю, что такая же система используется в XNA.

HolyDel 11.08.2013 17:52

Ответ: Посоветуйте движок
 
Цитата:

А в чем суть отрисовки одним батчем? Какой принцип работы? Знаю, что такая же система используется в XNA.
мы рисуем одну текстуру и один шейдер. одни настройки блендинга и т.д.
поэтому можно сначала создать меш состояший из 2*n треугольников, и отрисовать его за один дип.
или можно каждый раз задавать текстуру, шейдер и прочее и рисовать один меш состояший из 2-ух треугольников. но рисовать его n раз.

первое намного быстрее.

Nikich 11.08.2013 19:27

Ответ: Посоветуйте движок
 
Огромное спасибо!
Изменил алгоритм прорисовки под единый батч, результат - 130 фпс.

den 14.08.2013 14:51

Ответ: Посоветуйте движок
 
Кстати, вышел SDL 2.0
Из основных нововведений:
- поддержка нескольких окон, мониторов, аудиоустройств.
- родная 2д графика теперь может рисоватся не только софтварно, но и через оГЛ/дирекст3д
- ещё какие то ништяки, типо функции для поворота объектов
- etc

Gector 14.08.2013 22:10

Ответ: Посоветуйте движок
 
Цитата:

Сообщение от Den (Сообщение 265313)
Кстати, вышел SDL 2.0
Из основных нововведений:
- поддержка нескольких окон, мониторов, аудиоустройств.
- родная 2д графика теперь может рисоватся не только софтварно, но и через оГЛ/дирекст3д
- ещё какие то ништяки, типо функции для поворота объектов
- etc

Оказывается я скачал 2.0 ровно тогда когда она вышла))). Ровно 12го числа). А думал, что 2.0 уже давно существует).


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

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