Ср, 21 Ноя 2018
Механоиды 3
Приветствую Вас Гость | RSS
Главная страница | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум "Механоиды 3" » Рабочий раздел. » Общее отделение » Выбор движка.
Выбор движка.
Какой движок будет?
1.Самодельный 3D[ 3 ][25.00%]
2.Самодельный 2D[ 0 ][0.00%]
3.Бесплатный чужой 3D[ 9 ][75.00%]
4.Бесплатный чужой 2D[ 0 ][0.00%]
Всего ответов: 12
YandersenДата: Пн, 13 Апр 2009, 04:01 | Сообщение # 81
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Krogoth, поделись секретной информацией, и побольше. smile Какая версия Visual Studio, что компиллер пишет, что прилинковано ещё, и т.д.

Добавлено (2009-04-13, 4:01 Am)
---------------------------------------------
Krogoth, попробуй заменить всю эту часть:

//------------------------------------------------------------------------------
#include <wingdi.h> // System header file
//------------------------------------------------------------------------------
#include <ExtCtrls.hpp> //Header containing definition of TPanel class
#include <Controls.hpp> //Header containing auxilary necessary definitions
#include <Graphics.hpp> //Header containing auxilary necessary definitions
//==============================================================================

просто на:

//------------------------------------------------------------------------------
#include <Forms.hpp> // System header file
//==============================================================================


[Беженец со Скаев]

Сообщение отредактировал Yandersen - Пн, 13 Апр 2009, 04:02
 
PA3UJIbДата: Пн, 13 Апр 2009, 16:20 | Сообщение # 82
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Эта часть от Билдера.
Quote
#include <ExtCtrls.hpp> //Header containing definition of TPanel class
#include <Controls.hpp> //Header containing auxilary necessary definitions
#include <Graphics.hpp> //Header containing auxilary necessary definitions

А эта
Quote
#include <wingdi.h> // System header file

есть везде на виндузятниковых компиллерах

А вот Forms.hpp не везде, ибо тоже от Билдера.
Билдер хорош тем, что в нем многое уже сделано за программиста, поэтому начинать на нем одно удовольствие. Только не соответствует он ISO C++.

 
YandersenДата: Пн, 13 Апр 2009, 19:48 | Сообщение # 83
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
PA3UJIb, так шо, в Вижуалке нет такого класса, как TPanel? surprised Или если есть, то не так устроен? Но ты компиллить у ся пробовал?

[Беженец со Скаев]
 
PA3UJIbДата: Пн, 13 Апр 2009, 19:52 | Сообщение # 84
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Тпанель это приблуда от Билдера
В вижуале, как и в других юзают windows.h процедурки типа WinMain и WinProc.
 
YandersenДата: Пн, 13 Апр 2009, 19:57 | Сообщение # 85
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
... angry [ругаюся]
Вот ацтой! Как же на ней чё-нето делать вообще можно-то? surprised Не, ну послушь, я пробовал Visual Studio 2008 - она очень на Borland Builder похожа - тоже с конструктором, правда больше на Бэйсиковский калечный похож, но всё же: формочки, кнопочки, лабелы, панельки, окошки, таймеры, треды и т.п. - всё есть.


[Беженец со Скаев]
 
PA3UJIbДата: Пн, 13 Апр 2009, 20:02 | Сообщение # 86
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Ах это...
конструктор форм это конеш прикольно, но и юзать его <_< потом разбираться, чего там машина нагородила wacko

Добавлено (2009-04-13, 8:02 Pm)
---------------------------------------------
нне, йа как поколение DOS и CMD юзаю все в текстовом режиме. Хотя меня могут напинать, что, дескать, в редакторе ФОрм все сразу видно, сразу все расставляешь по местам.
<_< все равно буду по-своему. tongue

 
YandersenДата: Пн, 13 Апр 2009, 20:04 | Сообщение # 87
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
О ё! Ё? Ё-ё-ё... Никак не всосу, чем Вижуалка лучше Билдера и почему популярнее?.. dry
Ну а вообще, компилить кто-нить кроме Крогтя пробовал? У кого 2008 Вижуалка (и как бы мне её по русскому обычаю достать, находясь в этой буржуйской части света)?


[Беженец со Скаев]
 
PA3UJIbДата: Пн, 13 Апр 2009, 20:07 | Сообщение # 88
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
В буржуйской стране наверняка есть торенты
В буржуйской стране Експресс версия бесплатна так же, как и в России.
 
YandersenДата: Пн, 13 Апр 2009, 20:09 | Сообщение # 89
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (PA3UJIb)
конструктор форм это конеш прикольно, но и юзать его dry потом разбираться, чего там машина нагородила
Чессгря, никогда сего не видел, не знаю, где это, и с трудом подозревал о сиим тайном действе вообще - Builder меня этим никогда не пугал. Я привык видеть лишь то, что написал я сам, и ничего лишнего. Но становится интересно - надо покопаться... smile


[Беженец со Скаев]
 
smt005Дата: Пн, 13 Апр 2009, 20:44 | Сообщение # 90
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Quote (Yandersen)
компилить кто-нить кроме Крогтя пробовал?

Я ещё не пробовал...

Quote (Yandersen)
О ё! Ё? Ё-ё-ё... Никак не всосу, чем Вижуалка лучше Билдера и почему популярнее?

Я не спец, но есть предположение. В Билдере есть формы, кнопки и всё остальное, что не нужно для графики (игр), но это всё отнимает часть ресурсов.
 
YandersenДата: Пн, 13 Апр 2009, 21:41 | Сообщение # 91
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (smt005)
Я ещё не пробовал...
If you please?.. wink


[Беженец со Скаев]
 
KrogothДата: Пн, 13 Апр 2009, 22:29 | Сообщение # 92
5 Поколение
Группа: Основной состав
Сообщений: 553
Замечания: 0%
Статус: Offline
Попробуйте, потому что я ж говорю, криворукий я.)
 
smt005Дата: Пн, 13 Апр 2009, 23:34 | Сообщение # 93
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Попробую...

Ещё есть вариант, компилить *.dll, и можно хоть на Delphi делать.
Только как пользоваться такими библиотеками в C++, я не в курсе.

 
YandersenДата: Пн, 13 Апр 2009, 23:47 | Сообщение # 94
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (Krogoth)
Попробуйте, потому что я ж говорю, криворукий я.)
Оу, если тебе удаётся хоть что-то вообще написать на Visual Studio - ты гений... Блин, нашёл у ся 2003-ю Вижуалку, ещё с Бляларуси привезённую, на том же диске, что и Билдер. Оказалось, в ней есть-таки конструктор (а мне казалось, что только в 2008 ввели). Но ё-моё! Builder можно понять за пять минут, если знаешь С++, но для Вижуалки, ИМХО, пять курсов обучения придётся пройти! А смысл такого геморроя? То, что в Builder'е за пару кликов делается, то, что написано в логичном месте, в Вижуалке запрятано и завёрнуто так, что без пол-литра не разберёшься (или это я необычайный тупиздень?), а нахер-не-нужные полотна технического кода наоборот, намешаны везде. В общем, нет - с нормального человеческого Borlanda на это извращение перейти не смогу...
Хотел проверить сам, что спрашивал. В итоге дошёл до проверки "как вообще хотя бы GL-евские заголовки подключить-то?!" С трудом нашёл, куда, скорее всего, нужно инклюды прописывать. Навернув шаблон проекта сложностью с космический корабль, гениальные мелкосовтовцы-молодцы всё же потрудились засрать все невнятные файлы довольно-таки внятными комментариями по поводу их назначения (только не объяснили, нахрена вобще они всё так извратили). Прописал #include <gl.h>. Получил сотню ошибок компиллятора...
А чем Борландовский Билдер плох, почему его не признают? Чего везде всё для Вижуалки по большей части, почему её так уважают? Что, в наше время профессиональным софтом называют калл, в котором сможет разобраться только "разработавший" его профессионал? Хочу всех покусать. dry


[Беженец со Скаев]

Сообщение отредактировал Yandersen - Пн, 13 Апр 2009, 23:50
 
smt005Дата: Вт, 14 Апр 2009, 00:02 | Сообщение # 95
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Yandersen, хватит изливать гнев из-за того что у тебя ничего не получается.

http://smt005.my1.ru/_fr/0/01PhysX.rar
Смотри мои исходники, там сложно только инициализация (в которой я в принципе не разобрался(но есть консольный вариант, там проще..)) "LRESULT CALLBACK WndProc" и int "WINAPI WinMain" которая работает постоянно и вызывает функцию DrawGL(мохно по любому назвать) в которой и отрисовываются полигоны. Остальное, включая то что в DrawGL, это OpenGL.

 
Ize_g0reДата: Вт, 14 Апр 2009, 00:21 | Сообщение # 96
1 Поколение
Группа: Доверенные
Сообщений: 35
Замечания: 0%
Статус: Offline
Вижуалка поддерживается майкрософтом - вот тебе и ответ.
Я лично когда заставляли в нее втыкать (да, целый год учился на программиста, потом перевелся на радиоэлектронику, тут веселее) разобрался без поллитры...
В тебе давлеет только и _только_ сила привычки, больше ничего... Никто не любит переучиваться...



Deep inside... With stones in hand...
From the mind... ...he plays light's end
 
YandersenДата: Вт, 14 Апр 2009, 08:00 | Сообщение # 97
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Ну, примеры с консолью я осиливал на Вижуалке. Но если сравнивать разработку сильно-нагруженных GUI-элементами программ на Билдере и на Вижуалке - каково это будет на последней, мне страшно представить... wacko Кстати, насчёт писания под консоль, с WinMainами и WinProcами всякими - а как насчёт синхронизации? Получается так, что чем больше производительность компа (меньше нагрузка проца), тем быстрее течёт время в программе (игре). К примеру примеры с NeHe: при изменении размеров окна, в котором чё-нето рисуеццо и вертиццо (кубики там у них везде, да?) скорость вращения меняется. А для нормальной работы таймеры нужны...

Добавлено (2009-04-14, 8:00 Am)
---------------------------------------------

Quote (Ize_g0re)
Вижуалка поддерживается майкрософтом - вот тебе и ответ.
Тока у мну возникает ещё вопрос - а что это значит?


[Беженец со Скаев]

Сообщение отредактировал Yandersen - Вт, 14 Апр 2009, 08:01
 
Ize_g0reДата: Вт, 14 Апр 2009, 22:17 | Сообщение # 98
1 Поколение
Группа: Доверенные
Сообщений: 35
Замечания: 0%
Статус: Offline
Ты когда-нибудь задавал себе вопрос, почему unreal engine стоит 100 штук зелени, а Torque - просто 100?
А я вот ответ на него знаю... Продаются инструменты для разработки (unreal editor) и (внимание, кодовое слово!) поддержка.
Что же эта мифическая "поддержка" означает. А означает она то, что по твоим просьбам разработчики напишут тебе нужную тулзу, модифицируют движок, помогут в его кишках до последней переменной разобраться и всячески помогут с твоим проектом.
То же самое со студией.

>>а как насчёт синхронизации?
уууууууу....... <_<
Ищем в гугле "дельтатайминг"



Deep inside... With stones in hand...
From the mind... ...he plays light's end
 
PA3UJIbДата: Пн, 27 Апр 2009, 16:38 | Сообщение # 99
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Я так смотрю, что пока мну в командировке бул Вы всерьез решили самописно двигло написать? На oPenGL? Даже классы начали ворганить. Хех, жаль, знач буду один в поле с ОГРОМ воевать.
 
smt005Дата: Пн, 27 Апр 2009, 19:46 | Сообщение # 100
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
А у меня наоборот, создаётся ощущение что у всех прошёл пыл и все забили...

з.ы.: в ближайшее время, я наверно ничего делать не буду. sad

 
YandersenДата: Пн, 27 Апр 2009, 20:20 | Сообщение # 101
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
PA3UJIb, не отчаивайся! Мы тут все за тебя! Да, все-все! Так что если что - обращайся за моральной поддержкой, и мы тебя тут все морально-морально поддержим! biggrin
Кстати, с аудио я по нулям. С графикой неплохо, но звук - в Билдере только простые одноканальные функции вывода звука. Так что насчёт звука я, к примеру, совсем-совсем за тебя! biggrin


[Беженец со Скаев]
 
smt005Дата: Пн, 27 Апр 2009, 23:02 | Сообщение # 102
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Да, звук тоже неотъемлимая часть игр!!!
 
PA3UJIbДата: Вт, 28 Апр 2009, 18:23 | Сообщение # 103
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Ну, звук какбэ есть, я его, кстати, присобачил к моей демке - завтра, если с этой работой не забуду, притащу. Можете меня также закидать палками - я скомпилил таки ОГР (версии 1.6.2) под VC++ и прогаю ща там. Надо уже моно звук заставить выходить, дабы можно было позиционировать его. Ну и слегка расширить возможности класса, типа радиус зоны слышимости чтоб мона было задать или раствор конуса звука контролировать.
 
smt005Дата: Пт, 08 Май 2009, 00:00 | Сообщение # 104
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Yandersen, как там у тебя ? smile
Что-то ты ничего не програмиш.
 
YandersenДата: Пт, 08 Май 2009, 14:00 | Сообщение # 105
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Задолбало просто уже быть мартышкой С++ - решил, наконец, основы изучить, так что уселся за Брюса Эккеля. Не то чтобы интересно, но азы покрыть надо, рано или поздно. Может, на выходных чего-нить да и рожу. smile

[Беженец со Скаев]
 
KrogothДата: Пн, 25 Май 2009, 23:54 | Сообщение # 106
5 Поколение
Группа: Основной состав
Сообщений: 553
Замечания: 0%
Статус: Offline
PhysX позволяет правильно осуществлять столкновения?
Скажем, чтобы глайдер, ударившись крылом, начинал крутиться, или антенна, зацепившись за что-то, ломалась, т.е. такая детальная физика возможна?

Я, кстати, ничего не делал...
PA3UJIb, как найти точку пересечения с поверхностью я понял, а как определить точки пересечения поверхности модели с этим лучом?

 
PA3UJIbДата: Вт, 26 Май 2009, 14:41 | Сообщение # 107
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
2Krogoth:Присвоить модели определенный флаг и потом при проверке интерсектов луча смотреть искать этот флаг.
Вроде бы SetQueryFlag и GetQueryFlag или что-то похожее.

Плин, когда я уже не забуду с работы забрать демку со звуком... Ой, голова садовая... *WALL*

 
smt005Дата: Пт, 12 Июн 2009, 01:26 | Сообщение # 108
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Yandersen, ты вроде любиш создавать библиотеки. Напиши если захочеш.
Надо, функцию которая ищет файлы в требуемой директории с требуемым расширением и записывает пути файлов в массив.

Добавлено (11 Июн 2009, 19:21)
---------------------------------------------
На Visual C++, с подробными коментариями.

Добавлено (12 Июн 2009, 01:26)
---------------------------------------------
Кто нибудь знает как на C++ делать динамические массивы ?

 
YandersenДата: Пн, 15 Июн 2009, 14:18 | Сообщение # 109
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (smt005)
Кто нибудь знает как на C++ делать динамические массивы ?

Не парься - как раз вчера закончил разработку своей версии. biggrin Понапереопределял операторы так, что удобней интерфейса не придумаешь. Наглядно до неинтересности. Хотя объяснять, как работать с моим классом, всего-ничего, документация раздулась на 4 вордостраницы, бо все мелочи описал, и примеры на каждую функцию (язык - "для юзеров"). Всё в приложении - необходимый для подключения заголовочный файл "Arrays.h", стопудово совместимый с Вижуалкой (юзал лишь malloc, free, memcpy и memcmp из stdlib и mem) и документашка.
Прикрепления: Arrays.h(27.5 Kb) · Arrays.doc(87.5 Kb)


[Беженец со Скаев]
 
smt005Дата: Пн, 15 Июн 2009, 15:14 | Сообщение # 110
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Не во всё пока вникал, но похоже что ты сделал велосипед! smile
В С++ есть "#include <vector>", который даже инициализируется похоже "vector < CModel(класс) > VectModels(название переменной);".
 
PA3UJIbДата: Пн, 15 Июн 2009, 15:28 | Сообщение # 111
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Ага, а самый простой динамический массив объявляется как
//------------------------------
OurType* pDynamicArray;
//------------------------------
 
smt005Дата: Пн, 15 Июн 2009, 18:30 | Сообщение # 112
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
PA3UJIb, а как добавлять и удалять элемент ?
 
YandersenДата: Пн, 15 Июн 2009, 22:39 | Сообщение # 113
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (smt005)
похоже что ты сделал велосипед!
Знаю. Но простой и элегантный. smile
Quote (PA3UJIb)
Ага, а самый простой динамический массив объявляется как
//------------------------------
OurType* pDynamicArray;
//------------------------------

А это колесо моего велосипеда.

Не разбирался много с "vector"ом (а это ваще возможно?! wacko ), а просто облагородил обычный массив удобным интерфейсом. Изначально задумал свою версию д.м. для хранения 3D-данных. Приведу простой пример использования. Допустим, есть у нас класс, содержащий координаты:

class TVertex{
float x;
float y;
float z;
TVertex(float vx, float vy, float vz){x=vx; y=vy; z=vz;}
};

Есть четыре вершины квадрата:

TVertex a(0,0,0), b(0,1,0), c(1,1,0), d(1,0,0);

Вот как создать массив для рисования одного треугольника квадрата:

TArray<TVertex> t1 = t1.ItemToRange(a) + b + c;

Так можно создать массив для рисования всего квадрата, используя уже имеющийся массив вершин треугольника:

TArray<TVertex> q = t1 + d;
или:
TArray<TVertex> q;
q += t1;

Отрисовать примитивы можно так:

for(int i=0; i<q.TotalItems(); i++)glVertex3fv(&q[i]);

Вообще говоря, упор сделал на наглядность за счёт определения операторов + и +=, с помощью которых можно добавлять отдельные элементы, целые массивы или отрезки массивов. Т.е. сделал простым и наглядным составление массива, как строки из слов и букв, склеиваемых плюсиком. smile И ешо у меня ошень просто делается выбор нескольких элементов массива - с помощью круглых скобок, указывая первый элемент и количество элементов отрезка массива. Ну, всё описано в документашке. В подробностях.
Главное, ИМХО, что всё просто и наглядно.


[Беженец со Скаев]
 
smt005Дата: Вт, 16 Июн 2009, 01:35 | Сообщение # 114
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Можно использовать glDrawArrays() для отображения полигонов ?
 
YandersenДата: Вт, 16 Июн 2009, 05:50 | Сообщение # 115
1 Поколение
Группа: Доверенные
Сообщений: 196
Замечания: 0%
Статус: Offline
Quote (smt005)
Можно использовать glDrawArrays() для отображения полигонов ?

Разумеется - для того ж и создавал велосипед. Из данных экземпляр класса TArray содержит всего-то указатель на массив (в примере это будет "TVertex *Items;") и счётчик количества элементов в массиве ("unsigned int ItemsCount;"). Читаются эти данные не напрямую, а функциями "ItemsAddress()" и "TotalItems()" соответственно. Это inline-"функции", всего лишь возвращают значения указанных переменных (это чтобы нельзя было напрямую изменять их значения, а лишь читать), так что за производительность не беспокойся. smile


[Беженец со Скаев]
 
smt005Дата: Вс, 21 Июн 2009, 03:13 | Сообщение # 116
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Если интересно, то смотрите чё я сделал.

Сделал оптимизацию "физики", теперь ФПС поднялась бльше чем в 20 раз!

Прикрепления: 9712565.avi(521.1 Kb)
 
PA3UJIbДата: Вс, 21 Июн 2009, 04:43 | Сообщение # 117
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Классно, поделишься с народом кодом?
 
smt005Дата: Вс, 21 Июн 2009, 13:29 | Сообщение # 118
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Спрашиваеш ещё , конечно поделюсь, только оптимизирую его и напишу удобно для изучения .

Этот способ отнимает некоторое количество памяти (но вроде незначительное), ЗАТО на скорость практически не влияет.
Я сегодня делал эксперементы, и при выводе 1.280.000 (больше милиона полигонов) без физики и с физикой было одинаковое FPS=21.

памяти
Массив:
int PhisMatrix [255][255][255];

 
PA3UJIbДата: Вс, 21 Июн 2009, 16:36 | Сообщение # 119
1 Поколение
Группа: Основной состав
Сообщений: 105
Замечания: 0%
Статус: Offline
Отлично, а я пока свой коТ выложу ))
Проект под VC2008 Экспресс
Прикрепления: demo4.rar(25.2 Kb)
 
smt005Дата: Вс, 21 Июн 2009, 18:50 | Сообщение # 120
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
Что-то я не понял, и что с ним делать, без проекта и т.д ?
 
Форум "Механоиды 3" » Рабочий раздел. » Общее отделение » Выбор движка.
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:


Хостинг от uCoz