forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Blitz3D engine (http://forum.boolean.name/showthread.php?t=4682)

XenuS 07.10.2007 22:07

Blitz3D engine
 
Мне немного надоело, что в Blitz3D нету шейдеров, теней(стандартно),
физики(тоже стандартно=))))...Так что я решил написать свой 3D движок
под С++.

Язык реализации движка: Microsoft Visual C++ 6.0
Но почему же он называется Blitz3D engine? Да потому что
движок под С++, но все команды будут максимально приближены
к командам Blitz3D. Теперь инициализация окна занимает всего несколько строчек!!!
Движок будет написан с нуля. Некоторые вещи, которые я могу не знать,
будут прочитаны в гугле и Irrlichte. но опять же, это будет не Copy/Paste, а
написание заного...У движка будет несколько плюсов, относительно стандартного Blitz3D...
1. Он использует Шейдеры
2. Будет встроенная физика(после реализации графической части)
3. Будет поддержка теней(после реализации всех Blitz3D комманд)
4. Рендер посредством OpenGL, значит кроссплатформенный!!!
5. это я расскажу по мере написания двига+)
Разработка движка будет проходить немного медленнее, так как нельзя уделять все время
только кодингу=)))) ээээ......ах да, и еще, движок будет написан, используя справку Blitz3D версии 1.85
некоторые команды будут убраны...некоторые добавлены.....
в этой теме я буду отписываться, что реальзовано в двиге и переодически преводить
код главного файла=)))
фух...все!:)
Какие появились соображения? =)

impersonalis 07.10.2007 22:17

Re: Blitz3D engine
 
Вокруг Б3Д уже чо только не воротили. Совет: смени название, чтобы не путать людей.

Данил 07.10.2007 22:18

Re: Blitz3D engine
 
БУдет платный????)

XenuS 07.10.2007 22:21

Re: Blitz3D engine
 
А я не знаю, как менять название темы :@
нет, пока планирую бесплатный ;)

Данил 07.10.2007 22:27

Re: Blitz3D engine
 
Если будет бесплатный, да еще и с такими возможностями - уже жду.

H@NON 07.10.2007 22:33

Re: Blitz3D engine
 
Молодец ! давай начинай уже делать.

Кстати, это хорошо( для меня ), что ты выбрал Microsoft Visual C++ 6.0, ибо я с него начал свое обучение на сях, так что жду твои коды и на нем.

XenuS 07.10.2007 22:40

Re: Blitz3D engine
 
да я уже начал=) завтра-послезавтра опубликую первые успехи+)))

Render 07.10.2007 23:55

Re: Blitz3D engine
 
Хм, а этот чем плох http://blitz.pp.ru/forum/showthread....&threadid=2065
Единственое отличие, он под ДХ9.

jimon 07.10.2007 23:57

Re: Blitz3D engine
 
шейдеры-мейдеры ... блин ...
хотя бы просто движок на OGL чтобы был полностью процедурный синтаксис блица и обганял по скорости блиц
то тогда рулез был бы

а то одними шейдерами погоду не зделаешь

LUK 08.10.2007 04:38

Re: Blitz3D engine
 
Полный респект и уважуха если такое сотворишь!

ЛысыЙ_Чук-Иванчук 08.10.2007 09:51

Re: Blitz3D engine
 
А формат свой будет B3B_rus=))) или старый планируеш оставить=)?

johnk 08.10.2007 10:17

Re: Blitz3D engine
 
XenuS, удачи! Незабудь физ двиг подкрутить :) Только сделай двиг универсальным, т.е. чтоб к нему можно было легко прикрутить библиотеки. И название лучше и вправду сменить, на вскидку: XE (XenuS Engine), B3X

dimanche13 08.10.2007 13:14

Re: Blitz3D engine
 
Блин вы чего? уже ведь есть такое, где-то видал... Команды Б3Д а синтаксис С или С++ не помню. Или это будет нечто иное??? Просто добавить для физики Ньютон или Физикс и всё. Движков так много и на разные вкусы, что возникает естественный вопрос чем этот будет лучше/круче других?

Данил 08.10.2007 13:43

Re: Blitz3D engine
 
Цитата:

ем этот будет лучше/круче других?
Цитата:

1. Он использует Шейдеры
2. Будет встроенная физика(после реализации графической части)
3. Будет поддержка теней(после реализации всех Blitz3D комманд)
4. Рендер посредством OpenGL, значит кроссплатформенный!!!
Гы ).

breadman 08.10.2007 20:32

Re: Blitz3D engine
 
Данил флудер)

Всё что там перечислено есть и в других двигах.
Вопрос в том, будут ли эти возможности реализованы на должном уровне и обгонять по скорости обработки другие подобные двиги.

Данил 08.10.2007 20:45

Re: Blitz3D engine
 
Назови мне хотя бы один двиг, похожий на блитз3д (такой же простой), но с со всеми современными графическиими возможностями, и чтоб ресурсов не много жрал? кроме b3d_dx9 (или как)

Еще не одного нормального нету. Все они или устарели, или жутко требовательные к системе, или уж больно сильно ограничены.

alcoSHoLiK 08.10.2007 20:49

Re: Blitz3D engine
 
XenuS, какие дашь гарантии? Обещания давать несложно. Выполнить посложней.

Chrono Syndrome 08.10.2007 20:56

Re: Blitz3D engine
 
Цитата:

Назови мне хотя бы один двиг, похожий на блитз3д?
Эээ... Dreamtion3D ?

Данил 08.10.2007 21:45

Re: Blitz3D engine
 
Я имел ввижу со такими возможнастями, как указаны у XenuS )))

XenuS 08.10.2007 21:48

Re: Blitz3D engine
 
эээ....я никаких гарантий не даю....я делаю для себя....
сейчас уже реальзовано по хелпу вся математика, все функции со строками.....вывод текста на экран......идет работа над файлами...
после этого, я начну делать саму обработку 3Д, все расчеты....и т. д. (все в синтаксисе B3D)))
для примера, вот инициализация окна и 3Д:

#include "Blitz3D.h"

void main(int argc, char *argv[])
{
InitBlitz3DDevice(argc, argv);
Graphics3D(1024, 768, 32, 0);
AppTitle("Blitz3D engine by ~XenuS~");
//здесь все задания значения переменных...
StartMainBlitzLoop();
}

void MainBlitzLoop()
{

RenderWorld();
Flip();
}

void KeyboardEvent(unsigned char key, int x, int y)
{
if (KeyDown(key,B3D_ESC))
End();
}

void MouseEvent(int button, int x, int y, int scale)
{
}

после всего, что есть в Б3Д, я уже буду кодить фичи, типа шейдеров(исходник есть, но вставлен он будет только после этого), теней, физики и т.д....
Я хочу сделать полноценный 3Д двиг....
так что как будет что-то стоящее и красивое(по скринам=)), то я непременно выложу...а текст "Hello world" или "~XenuS Software inc.~" я думаю не так впечатляет.....хотя и сделан теми же командами, что и в Б3Д....естессно надо будет чуть-чуть переучиться, но синтаксис схож, и привыкнуть будет не трудно....вроде все сказал+)

HolyDel 08.10.2007 22:31

Re: Blitz3D engine
 
вышеприведенный код компилируется и работает нормально?

XenuS 09.10.2007 00:31

Re: Blitz3D engine
 
угу....если б не работал, я б его не выкладывал=)

)DEM( 09.10.2007 01:35

Re: Blitz3D engine
 
XenuS, ты крут конешно :)
Я тебе вот что скажу, даже если синтаксис твоего движка не будет схож на Блиц, это не беда. Ты главное сделай так что бы там просто были команды и не важно как они назывались. Т.е например ты в блице есть команда createcamera а у тебя будет CrtCam , это не важно. Справку можно глянуть :) Главное что бы там были команды\функции. Что бы не нужно было погружатся в дебри машиного програмирования, а просто смотреть в справке какая команда что делает.
Как мне кажется, наибольшее приемущество у твоей проги было бы:
:) есть свой формат 3д моделей.(имеется так же експортер с 3ds max) Формат потдержует все стандартные материалы 3ds max.
:) какой нить елементарный редактор карт, но с возможностью каждому его дописывать(скрипты, утилиты...)
:) Удобный интерфейс (если с кучей кнопок, с открывающимеся списками коман\функций... это ваще Яд :)

Короче так что бы это было что-то на типа гибрида "game makera" с "Blitz" но на С. Цены тебе небыло бы :):):)

Данил 09.10.2007 06:22

Re: Blitz3D engine
 
Нет. гибрид "game makera" с "Blitz" это ужАс. НЕ делай так. Лучше пусть будет статья, как создать редактор, но не встроеный.

И формат, я думаю, создавать свой не надо. Лучше как-нибудь сделать, чтобы читался b3d. Если, конечно, он будет бесплатным )

Удобный интерфейс приветствуется! Хорошо было бы, если IDE у движка был бы какой-нибудь с крутым оформлением кода, но не с большим количеством кнопочек там всяких (как у BLIde). Кстати, а IDE-то плланируешь делать?)

HolyDel 09.10.2007 08:28

Re: Blitz3D engine
 
и каково он фига работает?

void MainBlitzLoop()
{

RenderWorld();
Flip();
}
етож тока один раз выполнится? или какаято своя специфика?

что то мне не нравится событейная модель управления.
ЗЫ. А сам проект хооороший, буду помогать чем смогу ;)

jimon 09.10.2007 08:41

Re: Blitz3D engine
 
HolyDel
ну там же вызывается StartMainBlitzLoop() а в коде MainBlitzLoop()

XenuS
уже на данном етапе ты убил все приемущество и простоту блица :)
если сейчас не убереш такой подход как в делфи
никто твой двиг кроме тебя юзать не будет

делай так же как в блице, если хочеш его повторить
тоесть никаких вызовов пользовательских функций из двига
только вызовы функций двига и все

Chrono Syndrome 09.10.2007 12:01

Re: Blitz3D engine
 
Цитата:

Сообщение от Данил
Я имел ввижу со такими возможнастями, как указаны у XenuS )))

Кроме OGL - они такие же.

IGR 09.10.2007 12:59

Re: Blitz3D engine
 
XenuS, давай , делай !! :)
когда планируеш завершить ??

если посмотреть на post number 20, думаю не скоро !!

Данил 09.10.2007 14:15

Re: Blitz3D engine
 
Chrono Syndrome, а требования к системе?

Chrono Syndrome 09.10.2007 16:25

Re: Blitz3D engine
 
Цитата:

Сообщение от Данил
Chrono Syndrome, а требования к системе?

Более-менее современная видекарта, иначе могут быть глюки, а то и вовсе сrash'и. Ну и DX9c, конечно).

XenuS 09.10.2007 16:36

Re: Blitz3D engine
 
я его делаю, пока обыкновенным двигом под Си (как Irrlicht и тому подобные).....
вот если я дойду, и перепишу все функции блица из хелпа в двиг,, то я буду очень рад=))) Быстро я этот двиг писать не могу, так как на мне другой проект, но в этом тоже есть плюс....в том другом проекте нужна скриптовая система...вот её-то я и прикручу в этот двиг=)
Потом можно будет скомпилить что-то типа:
void main()
{
ReadScript("main.XeN");
}
и все. А дальше на Билдере написать ИДЕ и через нее редактировать этот скрипт, а в нем можно какую хочешь структуру....хоть код Блица вставляй=) только для начала мне надо написать сам двиг...)
2jimon, эээ, моя простота заключается в том, чтобы двиг повторял все функции блица(это двиг), а полная замена кода Си, это уже сильно сказано(для меня - точно=)))....вот в скриптах все, что хотите=)

Честно скажу, я не знаю, когда закончу....Иногда бывает проект летит, иногда встает.....время покажет=)))
ЗЫ: перевел половину функций Б3Д по работе с файлами.....сейчас вожусь с директориями=)

Данил 09.10.2007 17:37

Re: Blitz3D engine
 
Цитата:

ЗЫ: перевел половину функций Б3Д по работе с файлами.....сейчас вожусь с директориями=)
Хе ,с такими темпами уже будет готово совсем скоро. =)

ГЫ, жду проект.
Кста, а че будет с компиляторами? скок ехе будет весить? ну или что-то в этом роде :)

XenuS 09.10.2007 17:45

Re: Blitz3D engine
 
не, не скоро=)
тв том, что я перевел только то, что элемекнтарно реализовать...
вот реальзованные команды:Вот все=)
PS
сам двиг планирую в 150 кб уместить...+100 кб на новые фичи...
+5-10 Мб - готовый язык(скомпиленный ехе, умеющий читать скрипты=)))

moka 09.10.2007 17:55

Re: Blitz3D engine
 
Хм, советую сделать систему как подключаемые модули, например если не используеться модуль для работы со звуком он не подключается и не компилируется, тем самым экономия.
MouseMove нема ;)

XenuS 09.10.2007 18:02

Re: Blitz3D engine
 
MoveMouse сделал=)
ЗЫ: а с модулями хорошая идея, надо подумать)

IGR 09.10.2007 18:11

Re: Blitz3D engine
 
да, модули - руль !!
как в си !!

moka 09.10.2007 18:23

Re: Blitz3D engine
 
А где MouseZ MosueZSpeed?
Ещё советую сделать MouseRelease (моммент как MouseHit тока отпускания), кака для мыши, так и для клавы.

IGR 09.10.2007 18:27

Re: Blitz3D engine
 
offtop:
Цитата:

кака для мыши
:-D

)DEM( 09.10.2007 18:30

Re: Blitz3D engine
 
ну я вообщем-то не кодер! Поэтому советов по кодингу давать не буду, и уж темболее строить из себя ацкого кодера!!!
Вот тебе слова со стороны моделера :) который програмирует на уровне встроеных скриптов.
Если ты перепишешь полностью Блиц, и он с виду никак не изменится, (не учитывая удобности интерфейса). А просто будет не на бейсике а на С. И естествено откроется двер ьк еще большим возможностям. ТО ТЕБЯ будут помнить все кто ща любит и юзает блиц!!! И это поистине будет нужная вещиЦА.
Надеюсь доведешь до конца начатое. Ибо, если бросишь начатое, то тебя всеравно будут помнить, только вот с другого окна перспективы ]:)

Chrono Syndrome 09.10.2007 18:37

Re: Blitz3D engine
 
Нет, этот тред однозначно доставляет :-D . XenuS, скажи честно, вот ты сам-то веришь, что кто-то будет использовать твою ф-ию "Pi" ? Про остальное я уж, так и быть, умолчу)...

IGR 09.10.2007 18:37

Re: Blitz3D engine
 
Blitz переписать на С ??
а может С переписать на Blitz (только при этом его многократно улутшить) ??

moka 09.10.2007 19:00

Re: Blitz3D engine
 
IGR, обратное невозможно. Уже проще писать свой компилятор и сразу двиг подобие блиц.
Да и напомню, блиц - не бог, он и удобен но и ущербен не в малом, и это убивает Реальный кодинг, возьмите DX SDK под C++, вот там кодинг, там простор, там возможности, а ущемлять что-то подогнанное для малого, это будет не очень. Нужно уже имея хорошие способности самому писать что-то серъёзное, и отдаляться от примитивов.

XenuS 09.10.2007 19:02

Re: Blitz3D engine
 
Chrono Syndrome, да не=))) я же говорю: я переписываю хелп по блицу на С++...
и не важно, Pi там или не Pi...это просто в хелпе встретилось =)))
IGR, эээ, я делаю двиг под С, а не под Б3Д

johnk 09.10.2007 19:12

Re: Blitz3D engine
 
Цитата:

Pi
Int
Float
Floor
Ceil
Sgn
Abs
Mod
Sqr
Sin
Cos
Tan
ASin
ACos
ATan
ATan2
Exp
Log
Log10
Xor
Shl
Shr
Sar
Rnd
Rand
SeedRnd
RndSeed
Str
Left
Right
Mid
Replace
Instr
Upper
Lower
Trim
LSet
RSet
Chr
Asc
Len
Hex
Bin
String
Text
LoadFont
SetFont
FreeFont
FontWidth
FontHeight
StringWidth
StringHeight
KeyDown
KeyHit
MouseDown
MouseHit
MouseX
MouseY
MouseXSpeed
MouseУSpeed
OpenFile
ReadFile
WriteFile
CloseFile
FilePos
SeekFile
Ну это в принципе не сложно. Про модули. Если ты сразу так не задумал, то это плохо. Там все должно быть максимально гибким, так что впредь аккуратнее.

XenuS 09.10.2007 20:04

Re: Blitz3D engine
 
Цитата:

Сообщение от JohnK
Ну это в принципе не сложно.

Ну я про это же, хотя с выводом текста немного попарился=)))
ЗЫ:
хорошо, больше постараюсь не ошибаться так=)

XenuS 09.10.2007 20:05

Re: Blitz3D engine
 
2 MoKa:
про MouseZ u MouseZSpeed учтем....вещь реально нужная=)))

johnk 10.10.2007 05:10

Re: Blitz3D engine
 
Не, ну просто все в одно запихать - это не дело :)

IGR 10.10.2007 11:18

Re: Blitz3D engine
 
Цитата:

1. Он использует Шейдеры
2. Будет встроенная физика(после реализации графической части)
3. Будет поддержка теней(после реализации всех Blitz3D комманд)
4. Рендер посредством OpenGL, значит кроссплатформенный!!!
Короче !!
То что уже есть в блице возьми из SDK !!
а наченай добавлять новое: физику, скрипт, шейдеры !!
а то ты велик делаеш !!

moka 10.10.2007 11:22

Re: Blitz3D engine
 
Не нужно заниматься копи-пастом, делаешь своё, и чтобы знать его и чтобы была система своя, и организованность, нужно писать с нуля.

Данил 10.10.2007 11:29

Re: Blitz3D engine
 
Если заниматся копипастем, будет сделано не так долго, но все таки уже не своё.... Я тоже не люблю заниматся копипастем.. и даже не люлбю чужыи либами пользоватся (исключение : fasttext). Лучше убью кучу времени. но напишу свою....

IGR 10.10.2007 11:32

Re: Blitz3D engine
 
to MoKa: не копи-паст, а просто добавить в SDK шейдеры, скрипти и ... !!
это будет быстрей !!

moka 10.10.2007 11:36

Re: Blitz3D engine
 
IGR, угу и никакого удовольствия, и опыта, и мощности. Сказали же, OGL - т.к. кроссплатформенность.
Давай мы не будем больше говорить: "возьми чужое и сделай его лучше"? Спасибо.

IGR 10.10.2007 11:59

Re: Blitz3D engine
 
ну если уж OGL !!
то ладн !!
хотя на это уйдет лишнее время !!

moka 10.10.2007 12:01

Re: Blitz3D engine
 
IGR, чё за логика ёмаё!!! Проще вообще воровать!
Причём тут время, важно качество и собственный опыт, а то так нифига не научишся, и будешь ходить в рядах неудачников. Забудь! ОПЫТ! ЗНАНИЯ! Вот что важно.

IGR 10.10.2007 12:04

Re: Blitz3D engine
 
MoKa, ВСЁ !!
Переубедил !!
Спорить не буду !!

ps: если б это делал я, то велик не создавал !! :)

Данил 10.10.2007 12:18

Re: Blitz3D engine
 
При чем тут сразу велик...

ПРосто свое создать все таки прикольней и круче...

IGR, в таком случае вообще создавать игры? все идеи для игр уже созданы и создавать игру похожую тупо... а идей уже почти нет

IGR 10.10.2007 12:22

Re: Blitz3D engine
 
to Данил: игры - это одно, а двиг - совсем другое !!
где гарантии что его заюзают, если есть точно такой же , или даже лучше ??

moka 10.10.2007 12:27

Re: Blitz3D engine
 
IGR, делать двиг, троебует более глубоких знаний и умений. Во вторых делает каждый практически для себя, но в придачу и рад дать другим.
Уже всё реалезовано, а если хочеться изобретать, го в нвидию граф инженерами ;)

H@NON 10.10.2007 12:28

Re: Blitz3D engine
 
Эй, эй. Все успакоились. Это двиг сугубо автора. И ему видней делать все полностью или напичкать чужой своими примочками.
Как желающий потестить двиг, то да , скажу что лучше бы побыстрее. А как человек собирающийся разобратся в написании двигов, то я бы писал полностью свой.

johnk 10.10.2007 12:28

Re: Blitz3D engine
 
Нафлудили ни о чем. Начинай с 0.

johnk 10.10.2007 12:30

Re: Blitz3D engine
 
Данил, ты сядь за С++ и напиши хотя бы 2д двиг, и почувствуй это самое "удовольствие" и "крутость"

IGR 10.10.2007 12:31

Re: Blitz3D engine
 
Ок !! Ладн !!

Надеюсь в следующих постах этой темы будут появляться только новости о новом двиге !! :)

Данил 10.10.2007 12:44

Re: Blitz3D engine
 
JohnK, за это дело взялся не я, а XenuS. и я советую как лучше.
А решать, надо ли копипастить или нет, будет XenuS.

По крайней мере на блитзмаксе я редко копипастам занимаюсь.

johnk 10.10.2007 12:58

Re: Blitz3D engine
 
Так почему же ты с уверенностью утверждаешь что это круто и прикольно? Почувствуй на своей шкуре, а потом советуй. Делать игры и двиг - разные вещи.


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

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