|
|
|
|
Выбор движка.
|
| | |
Yandersen | Дата: Пн, 13 Апр 2009, 04:01 | Сообщение # 81 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Krogoth, поделись секретной информацией, и побольше. Какая версия 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
Статус: 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
Статус: Offline
| PA3UJIb, так шо, в Вижуалке нет такого класса, как TPanel? Или если есть, то не так устроен? Но ты компиллить у ся пробовал?
[Беженец со Скаев]
|
|
| |
PA3UJIb | Дата: Пн, 13 Апр 2009, 19:52 | Сообщение # 84 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: Offline
| Тпанель это приблуда от Билдера В вижуале, как и в других юзают windows.h процедурки типа WinMain и WinProc.
|
|
| |
Yandersen | Дата: Пн, 13 Апр 2009, 19:57 | Сообщение # 85 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| ... [ругаюся] Вот ацтой! Как же на ней чё-нето делать вообще можно-то? Не, ну послушь, я пробовал Visual Studio 2008 - она очень на Borland Builder похожа - тоже с конструктором, правда больше на Бэйсиковский калечный похож, но всё же: формочки, кнопочки, лабелы, панельки, окошки, таймеры, треды и т.п. - всё есть.
[Беженец со Скаев]
|
|
| |
PA3UJIb | Дата: Пн, 13 Апр 2009, 20:02 | Сообщение # 86 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: Offline
| Ах это... конструктор форм это конеш прикольно, но и юзать его <_< потом разбираться, чего там машина нагородила Добавлено (2009-04-13, 8:02 Pm) --------------------------------------------- нне, йа как поколение DOS и CMD юзаю все в текстовом режиме. Хотя меня могут напинать, что, дескать, в редакторе ФОрм все сразу видно, сразу все расставляешь по местам. <_< все равно буду по-своему.
|
|
| |
Yandersen | Дата: Пн, 13 Апр 2009, 20:04 | Сообщение # 87 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| О ё! Ё? Ё-ё-ё... Никак не всосу, чем Вижуалка лучше Билдера и почему популярнее?.. Ну а вообще, компилить кто-нить кроме Крогтя пробовал? У кого 2008 Вижуалка (и как бы мне её по русскому обычаю достать, находясь в этой буржуйской части света)?
[Беженец со Скаев]
|
|
| |
PA3UJIb | Дата: Пн, 13 Апр 2009, 20:07 | Сообщение # 88 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: Offline
| В буржуйской стране наверняка есть торенты В буржуйской стране Експресс версия бесплатна так же, как и в России.
|
|
| |
Yandersen | Дата: Пн, 13 Апр 2009, 20:09 | Сообщение # 89 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Quote (PA3UJIb) конструктор форм это конеш прикольно, но и юзать его потом разбираться, чего там машина нагородила Чессгря, никогда сего не видел, не знаю, где это, и с трудом подозревал о сиим тайном действе вообще - Builder меня этим никогда не пугал. Я привык видеть лишь то, что написал я сам, и ничего лишнего. Но становится интересно - надо покопаться...
[Беженец со Скаев]
|
|
| |
smt005 | Дата: Пн, 13 Апр 2009, 20:44 | Сообщение # 90 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Quote (Yandersen) компилить кто-нить кроме Крогтя пробовал? Я ещё не пробовал... Quote (Yandersen) О ё! Ё? Ё-ё-ё... Никак не всосу, чем Вижуалка лучше Билдера и почему популярнее? Я не спец, но есть предположение. В Билдере есть формы, кнопки и всё остальное, что не нужно для графики (игр), но это всё отнимает часть ресурсов.
|
|
| |
Yandersen | Дата: Пн, 13 Апр 2009, 21:41 | Сообщение # 91 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Quote (smt005) Я ещё не пробовал... If you please?..
[Беженец со Скаев]
|
|
| |
Krogoth | Дата: Пн, 13 Апр 2009, 22:29 | Сообщение # 92 |
5 Поколение
Группа: Основной состав
Сообщений: 553
Статус: Offline
| Попробуйте, потому что я ж говорю, криворукий я.)
|
|
| |
smt005 | Дата: Пн, 13 Апр 2009, 23:34 | Сообщение # 93 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Попробую... Ещё есть вариант, компилить *.dll, и можно хоть на Delphi делать. Только как пользоваться такими библиотеками в C++, я не в курсе.
|
|
| |
Yandersen | Дата: Пн, 13 Апр 2009, 23:47 | Сообщение # 94 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Quote (Krogoth) Попробуйте, потому что я ж говорю, криворукий я.) Оу, если тебе удаётся хоть что-то вообще написать на Visual Studio - ты гений... Блин, нашёл у ся 2003-ю Вижуалку, ещё с Бляларуси привезённую, на том же диске, что и Билдер. Оказалось, в ней есть-таки конструктор (а мне казалось, что только в 2008 ввели). Но ё-моё! Builder можно понять за пять минут, если знаешь С++, но для Вижуалки, ИМХО, пять курсов обучения придётся пройти! А смысл такого геморроя? То, что в Builder'е за пару кликов делается, то, что написано в логичном месте, в Вижуалке запрятано и завёрнуто так, что без пол-литра не разберёшься (или это я необычайный тупиздень?), а нахер-не-нужные полотна технического кода наоборот, намешаны везде. В общем, нет - с нормального человеческого Borlanda на это извращение перейти не смогу... Хотел проверить сам, что спрашивал. В итоге дошёл до проверки "как вообще хотя бы GL-евские заголовки подключить-то?!" С трудом нашёл, куда, скорее всего, нужно инклюды прописывать. Навернув шаблон проекта сложностью с космический корабль, гениальные мелкосовтовцы-молодцы всё же потрудились засрать все невнятные файлы довольно-таки внятными комментариями по поводу их назначения (только не объяснили, нахрена вобще они всё так извратили). Прописал #include <gl.h>. Получил сотню ошибок компиллятора... А чем Борландовский Билдер плох, почему его не признают? Чего везде всё для Вижуалки по большей части, почему её так уважают? Что, в наше время профессиональным софтом называют калл, в котором сможет разобраться только "разработавший" его профессионал? Хочу всех покусать.
[Беженец со Скаев]
Сообщение отредактировал 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
Статус: Offline
| Вижуалка поддерживается майкрософтом - вот тебе и ответ. Я лично когда заставляли в нее втыкать (да, целый год учился на программиста, потом перевелся на радиоэлектронику, тут веселее) разобрался без поллитры... В тебе давлеет только и _только_ сила привычки, больше ничего... Никто не любит переучиваться...
Deep inside... With stones in hand... From the mind... ...he plays light's end
|
|
| |
Yandersen | Дата: Вт, 14 Апр 2009, 08:00 | Сообщение # 97 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Ну, примеры с консолью я осиливал на Вижуалке. Но если сравнивать разработку сильно-нагруженных GUI-элементами программ на Билдере и на Вижуалке - каково это будет на последней, мне страшно представить... Кстати, насчёт писания под консоль, с 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
Статус: 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
Статус: Offline
| Я так смотрю, что пока мну в командировке бул Вы всерьез решили самописно двигло написать? На oPenGL? Даже классы начали ворганить. Хех, жаль, знач буду один в поле с ОГРОМ воевать.
|
|
| |
smt005 | Дата: Пн, 27 Апр 2009, 19:46 | Сообщение # 100 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| А у меня наоборот, создаётся ощущение что у всех прошёл пыл и все забили... з.ы.: в ближайшее время, я наверно ничего делать не буду.
|
|
| |
Yandersen | Дата: Пн, 27 Апр 2009, 20:20 | Сообщение # 101 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| PA3UJIb, не отчаивайся! Мы тут все за тебя! Да, все-все! Так что если что - обращайся за моральной поддержкой, и мы тебя тут все морально-морально поддержим! Кстати, с аудио я по нулям. С графикой неплохо, но звук - в Билдере только простые одноканальные функции вывода звука. Так что насчёт звука я, к примеру, совсем-совсем за тебя!
[Беженец со Скаев]
|
|
| |
smt005 | Дата: Пн, 27 Апр 2009, 23:02 | Сообщение # 102 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Да, звук тоже неотъемлимая часть игр!!!
|
|
| |
PA3UJIb | Дата: Вт, 28 Апр 2009, 18:23 | Сообщение # 103 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: Offline
| Ну, звук какбэ есть, я его, кстати, присобачил к моей демке - завтра, если с этой работой не забуду, притащу. Можете меня также закидать палками - я скомпилил таки ОГР (версии 1.6.2) под VC++ и прогаю ща там. Надо уже моно звук заставить выходить, дабы можно было позиционировать его. Ну и слегка расширить возможности класса, типа радиус зоны слышимости чтоб мона было задать или раствор конуса звука контролировать.
|
|
| |
smt005 | Дата: Пт, 08 Май 2009, 00:00 | Сообщение # 104 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Yandersen, как там у тебя ? Что-то ты ничего не програмиш.
|
|
| |
Yandersen | Дата: Пт, 08 Май 2009, 14:00 | Сообщение # 105 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Задолбало просто уже быть мартышкой С++ - решил, наконец, основы изучить, так что уселся за Брюса Эккеля. Не то чтобы интересно, но азы покрыть надо, рано или поздно. Может, на выходных чего-нить да и рожу.
[Беженец со Скаев]
|
|
| |
Krogoth | Дата: Пн, 25 Май 2009, 23:54 | Сообщение # 106 |
5 Поколение
Группа: Основной состав
Сообщений: 553
Статус: Offline
| PhysX позволяет правильно осуществлять столкновения? Скажем, чтобы глайдер, ударившись крылом, начинал крутиться, или антенна, зацепившись за что-то, ломалась, т.е. такая детальная физика возможна? Я, кстати, ничего не делал... PA3UJIb, как найти точку пересечения с поверхностью я понял, а как определить точки пересечения поверхности модели с этим лучом?
|
|
| |
PA3UJIb | Дата: Вт, 26 Май 2009, 14:41 | Сообщение # 107 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: 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
Статус: Offline
| Quote (smt005) Кто нибудь знает как на C++ делать динамические массивы ? Не парься - как раз вчера закончил разработку своей версии. Понапереопределял операторы так, что удобней интерфейса не придумаешь. Наглядно до неинтересности. Хотя объяснять, как работать с моим классом, всего-ничего, документация раздулась на 4 вордостраницы, бо все мелочи описал, и примеры на каждую функцию (язык - "для юзеров"). Всё в приложении - необходимый для подключения заголовочный файл "Arrays.h", стопудово совместимый с Вижуалкой (юзал лишь malloc, free, memcpy и memcmp из stdlib и mem) и документашка.
[Беженец со Скаев]
|
|
| |
smt005 | Дата: Пн, 15 Июн 2009, 15:14 | Сообщение # 110 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Не во всё пока вникал, но похоже что ты сделал велосипед! В С++ есть "#include <vector>", который даже инициализируется похоже "vector < CModel(класс) > VectModels(название переменной);".
|
|
| |
PA3UJIb | Дата: Пн, 15 Июн 2009, 15:28 | Сообщение # 111 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: Offline
| Ага, а самый простой динамический массив объявляется как //------------------------------ OurType* pDynamicArray; //------------------------------
|
|
| |
smt005 | Дата: Пн, 15 Июн 2009, 18:30 | Сообщение # 112 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| PA3UJIb, а как добавлять и удалять элемент ?
|
|
| |
Yandersen | Дата: Пн, 15 Июн 2009, 22:39 | Сообщение # 113 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Quote (smt005) похоже что ты сделал велосипед! Знаю. Но простой и элегантный. Quote (PA3UJIb) Ага, а самый простой динамический массив объявляется как //------------------------------ OurType* pDynamicArray; //------------------------------ А это колесо моего велосипеда. Не разбирался много с "vector"ом (а это ваще возможно?! ), а просто облагородил обычный массив удобным интерфейсом. Изначально задумал свою версию д.м. для хранения 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]); Вообще говоря, упор сделал на наглядность за счёт определения операторов + и +=, с помощью которых можно добавлять отдельные элементы, целые массивы или отрезки массивов. Т.е. сделал простым и наглядным составление массива, как строки из слов и букв, склеиваемых плюсиком. И ешо у меня ошень просто делается выбор нескольких элементов массива - с помощью круглых скобок, указывая первый элемент и количество элементов отрезка массива. Ну, всё описано в документашке. В подробностях. Главное, ИМХО, что всё просто и наглядно.
[Беженец со Скаев]
|
|
| |
smt005 | Дата: Вт, 16 Июн 2009, 01:35 | Сообщение # 114 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Можно использовать glDrawArrays() для отображения полигонов ?
|
|
| |
Yandersen | Дата: Вт, 16 Июн 2009, 05:50 | Сообщение # 115 |
1 Поколение
Группа: Доверенные
Сообщений: 196
Статус: Offline
| Quote (smt005) Можно использовать glDrawArrays() для отображения полигонов ? Разумеется - для того ж и создавал велосипед. Из данных экземпляр класса TArray содержит всего-то указатель на массив (в примере это будет "TVertex *Items;") и счётчик количества элементов в массиве ("unsigned int ItemsCount;"). Читаются эти данные не напрямую, а функциями "ItemsAddress()" и "TotalItems()" соответственно. Это inline-"функции", всего лишь возвращают значения указанных переменных (это чтобы нельзя было напрямую изменять их значения, а лишь читать), так что за производительность не беспокойся.
[Беженец со Скаев]
|
|
| |
smt005 | Дата: Вс, 21 Июн 2009, 03:13 | Сообщение # 116 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Если интересно, то смотрите чё я сделал. Сделал оптимизацию "физики", теперь ФПС поднялась бльше чем в 20 раз!
|
|
| |
PA3UJIb | Дата: Вс, 21 Июн 2009, 04:43 | Сообщение # 117 |
1 Поколение
Группа: Основной состав
Сообщений: 105
Статус: 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
Статус: Offline
| Отлично, а я пока свой коТ выложу )) Проект под VC2008 Экспресс
|
|
| |
smt005 | Дата: Вс, 21 Июн 2009, 18:50 | Сообщение # 120 |
Admin
Группа: Администраторы
Сообщений: 936
Статус: Offline
| Что-то я не понял, и что с ним делать, без проекта и т.д ?
|
|
| |
|
|