Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 20.11.2012, 22:25   #1
Akmemra
AnyKey`щик
 
Аватар для Akmemra
 
Регистрация: 22.12.2011
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Что для разработки 2D приложения лучше?

Вдруг я неожиданно задался некоторыми вопросами. Вопросы возникли в процессе разработки 2D приложения на Blitz3D. Собственно вот они:
- Какие различия в 2D разработке на Blitz3D и на BlitzMax?
- В чем их плюсы и минусы?
- Насколько похож их синтаксис?

Собственно в зависимости от ответов я буду решать на каком Blitz'e мне продолжать разработку, так что мне очень важно мнение опытных программистов на этих языках(Не знаю стоит ли их называть "языками" )
(Offline)
 
Ответить с цитированием
Старый 20.11.2012, 22:28   #2
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Что для разработки 2D приложения лучше?

Для 2d - однозначно BlitzMax.
Синтаксис почти совместимый.
В Blitz3d нет ни альфа-смешивания, ни нормальной трансформации.
__________________

(Offline)
 
Ответить с цитированием
Старый 20.11.2012, 22:33   #3
Akmemra
AnyKey`щик
 
Аватар для Akmemra
 
Регистрация: 22.12.2011
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Что для разработки 2D приложения лучше?

Только хотел попросить аргументировать ваше мнение, а вы тут как тут)
Спасибо. Попробую поиграться с BlitzMax'ом
__________________
Кодить - да!
Спать - нее...
(Offline)
 
Ответить с цитированием
Старый 20.11.2012, 22:50   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Что для разработки 2D приложения лучше?

Главные различия это технология для отрисовки. В Blitz3D используется древний Direct2D (DirectDraw). Он не использует аппаратного ускорения, заместо этого нагружает процессор отрисовкой. Следственно там идёт больше работа с пикселями, нежели объектами и т.п.
Нету трансформаций толковых, нету визуальных фишек типо прозрачности, цвета и т.п. И даже попиксельная имплементация просто убъёт любой процессор нагрузкой.
Вариант есть - использовать 3D для отрисовки 2D - но тебе прийдётся самому реализовать 2D библиотеку - а это куча времени.
Есть FastImage библиотека нашим отечественным разрабом MihailV. Возможности этой 2D библиотеки на ровне с BlitzMax (2D стандартной библиотекой). Но снова, это если тебе всё ещё нужен 3D.

Если тебе нужен только 2D, то конечно BlitzMax лучше в разы. Не только потому что 2D библиотека лучше по возможностям и производительности. Но также потому что этот язык намного лучше чем старичёк Blitz3D. В BlitzMax'е намного лучше классы, также лучше синтаксис. Есть наконец указатели "нормальные", списки и т.п.

Я рекомендую BlitzMax однозначно.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
Akmemra (21.11.2012), Dzirt (21.11.2012)
Старый 21.11.2012, 09:57   #5
Черный крыс
 
Сообщений: n/a
Ответ: Что для разработки 2D приложения лучше?

От БМакса ты еще получишь мультиплатформенность, кучу модулей заточенных именно под 2Д (например физика, системы частиц и т.д...). А еще 3Д к 2Д прикрутить не составит труда, это легко достигается подменой девайса в классе TMax2DGraphics
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
CAHEK (21.11.2012), Dzirt (21.11.2012)
Старый 23.11.2012, 19:57   #6
Черный крыс
 
Сообщений: n/a
Ответ: Что для разработки 2D приложения лучше?

А можно вот с этого момента ОЧЕНь подробненько. Заинтриговал !))
Ну, в OpenGL есть модуль MiniB3D, который поддерживает Max2D.

C Direct3D будет по сложнее...

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

Береш 3Д двиг, например Xors3D, подключаешь его БМаксу, создаешь графику, функцией xGetDevice() и xGetWindow() получаешь дескрипторы устройства и окна соответственно, и ставишь их в унаследованный драйвер.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
CAHEK (23.11.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com