опять эти х файлы...

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 13.12.2004 (Пн) 23:59

D3DRM!
Ни в коем разе не собирался тебя обижать. Извини. Моя о другом. Я еще сам не знаю, как это все делать! И от совместной работы не против. Пришлю тебе исходник, и что, разберешся в этой каше? Были-бы мы рядом и лобали это вместе, другое дело.
Уже близок к окончательному решению Х-ов. Хочется повторить, хотя-бы то, что делает в примерах мелкософт, без этого не вижу смысла дальше лезть!

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 14.12.2004 (Вт) 0:25

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

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 15.12.2004 (Ср) 11:04

d3drm
В моем ответе было:
Код: Выделить всё
    На мой взгляд рано говорить сразу о физическом движке. На счет коробок - хорошая мысль. Думаю первым этапом должна быть разработка алгоритма описания физической сущности игровых объектов примитивами - теме же боксами (коробками), сферами, точками и т. п. Дальше следует система нахождения пересечений (а не реакций на столкновение, до этого еще далеко). Включаться в проект я сейчас не готов, могу лишь, по мере сил помогать с ОТДЕЛЬНЫМИ алгоритмами, так как я завязался в конкурсе на GameDev.ru, глянть, может тоже заинтересуешься:
http://www.gamedev.ru/forum/?group=11&topic=41
    С уважением, Mikle.

Как на счет физ. библиотеки, так и на счет текущей темы - редактора моделей, я считаю нужно сначала прийти к соглашению по интерфейсу, описать стандарты для ф-ций, классов и т. п. И только тогда "будем понемногу добавлять код". :wink:

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 15.12.2004 (Ср) 19:51

моя идея зуключается в том, чтобы создать рекдатор моделей. именно редактор, чтобы не создавать модели с нуля, а редактировать готовые. тем не менее возможность добавлять примитивы будет, но все-таки я хочу загружать готовые модели, добавлять анимацию и качества материала, которых нет в .x формате. например зеркальное отражение (cube mapping). затем эти модели можно будет использовать в аркадах, экшенах, гонках да и вообще везде! бесплатных моделей, хороших, куча, но без анимации. костяшная анимация для моделей с 24 битными текстурами - абалдеть, а со спецэфектами - вообще рулез.
ХЎ

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 21.12.2004 (Вт) 23:50

Доброго ВСЕМ!
Хочу поделиться новостями:
На сегодня мой виевер Х-файлов переработан и дополнен.
Устранена ошибка, связанная с отображением файлов, транслированных опцией -Т.
Добавлена возможность выделять меши, полигоны и вертексы прямым кликом мыши на виевпорт.
Для дальнейшего продвижения помогите решить несколько вопросов. В них испытываю затруднения:
1. Как нарисовать "жирную" точку с известными координатами центра X,Y,Z? Это необходимо для выделения тех самых вертексов. Конфигурация точки (прямоугольник, окружность и т.п.) не имеет существенного значения.
2. Рисование координатных осей. Вопрос касается как отдельных мешей, так и мировых координат.
3. Рисование координатной сетки (здесь решение думаю должно вытекать из предыдущего).
4. Загрузка TGA и прочих "нестандартных" текстур в пикчебокс.
У вас нет доступа для просмотра вложений в этом сообщении.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 24.12.2004 (Пт) 16:55

Yurich
1. PointList
2. BarGraph from SDK.
3. См. п.2
4. Есть неоптимальный, но простой метод - CreateTextureFromFile>>Surface.SaveToFile

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 25.12.2004 (Сб) 11:43

Mikle, спасибо, покопаюсь. Кстати по поводу координатной сетки уже решил проблему, оказалось элементарно просто. Насчет осей имелись ввиду только стре'лки, например как в Макс-е, и их точная привязка к положению камеры, чтобы не двигались в пределах Viewport-а, а только поворачивались.

И еще, начал писать DLL, но возникла проблема - часть внутренних переменных и констант надо видеть за ее пределами, блин пока не получается!

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 25.12.2004 (Сб) 13:29

Yurich писал(а):И еще, начал писать DLL, но возникла проблема - часть внутренних переменных и констант надо видеть за ее пределами, блин пока не получается!

Ставь их в класс-модуле как Public. :roll:

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 25.12.2004 (Сб) 23:43

DLL-ка заработала. И что интересно, заметил небольшой "пластилиновый" эффект. Впечатление, что прога на мои действия отвечает неторопясь, в растяжку. Когда классы сидели непосредсвенно в программе отображение имело характер малозаметных рывков.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 26.12.2004 (Вс) 0:13

Лучше кто-нть скажите, получилось у кого нарисовать жирную точку? :roll:

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 26.12.2004 (Вс) 10:38

Vovik
Лучше кто-нть скажите, получилось у кого нарисовать жирную точку?

Да, пойнтспрайт. Легко делается зависимость (и независимость) от расстояния до точки ее размеров.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 27.12.2004 (Пн) 17:36

Mikle писал(а):Да, пойнтспрайт. Легко делается зависимость (и независимость) от расстояния до точки ее размеров.

Никогда не делал! Поясни хотя-бы поверхностно.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 28.12.2004 (Вт) 15:51

Вот здесь я давал пример:
http://bbs.vbstreets.ru/viewtopic.php?t ... highlight=
Правда я тогда еще не разобрался, что зависимость размеров точки от расстояния от камеры можно легко регулировать с помощью

D3DRS_POINTSCALE_A
D3DRS_POINTSCALE_B
D3DRS_POINTSCALE_C
и там я размеры задаю вручную, а можно перевести эту задачу на D3D.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 29.12.2004 (Ср) 22:37

Mikle писал(а):...и там я размеры задаю вручную, а можно перевести эту задачу на D3D.

Майкл, по твоему примеру размеры точки почему-то получались зависимыми от общего размера модели. Кроме того, странно, но рисовались не на всех вертексах. Несколько упростил код:
Dim V As D3DVECTOR
V.X =
V.Y =
V.z =
D3DDevice.SetRenderState D3DRS_POINTSIZE, &H3C23D70A
D3DDevice.DrawPrimitiveUP D3DPT_POINTLIST, 1, V, 16
Теперь размер точки стабилен, не зависит от посторонних факторов.
Кстати D3DRS_POINTSCALE_A, B и C - из СДК нифига я не понял, на все три пункта слово в слово дано одинаковое пояснение!!!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 02.01.2005 (Вс) 11:59

Yurich
В твоей задаче можно убрать из Render цикл, так:
D3DDevice.DrawPrimitiveUP D3DPT_POINTLIST, n, V, 16
n - число точек.
D3DRS_POINTSCALE_A, B и C участвуют как коэффициенты при 0-ой, 1-й и 2-й степенях дистанции до точки. Это при D3DRS_POINTSCALE_ENABLE = 1, иначе размер не зависит от расстояния. В SDK DX8.0 формулы нет, но в SDK DX8.1 она дана.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.01.2005 (Пт) 20:43

Только что закончил разработку собственного бинарного формата Х-файлов. Правда их размерчик получается великоват. Где можно почитать про алгоритмы сжатия? Желательно на русском.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.01.2005 (Сб) 16:08

А если не париться с алгоритмами - жать в .cab средствами Windows или использовать какой-нибудь arj-zip из бесплатных?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.01.2005 (Сб) 16:09

zlib бесплатный... Тёмыч знает :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 09.01.2005 (Вс) 5:23

Mikle писал(а):А если не париться с алгоритмами - жать в .cab средствами Windows или использовать какой-нибудь arj-zip из бесплатных?


Добрался я до примера сжатия по методике Хаффмана (кстати там-же ещё туча всяких методик). Понравилось. Жмёт по первым прикидам процентов на 20. Чуток оптимизировал и изменил алгоритм. Вобщем доволен.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 09.01.2005 (Вс) 23:52

Yurich писал(а):Добрался я до примера сжатия по методике Хаффмана (кстати там-же ещё туча всяких методик). Понравилось. Жмёт по первым прикидам процентов на 20. Чуток оптимизировал и изменил алгоритм. Вобщем доволен.

А ты не мог бы выложить пример алгоритма? :roll:

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 10.01.2005 (Пн) 17:05

Vovik писал(а):
Yurich писал(а):Добрался я до примера сжатия по методике Хаффмана (кстати там-же ещё туча всяких методик). Понравилось. Жмёт по первым прикидам процентов на 20. Чуток оптимизировал и изменил алгоритм. Вобщем доволен.

А ты не мог бы выложить пример алгоритма? :roll:


Исходный здесь:
http://vbstreets.ru/VB/Sources/42704.aspx

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 04.02.2005 (Пт) 22:58

Готов DLL, собсвенный формат файлов, а удовлентворения работой нет. Причина - кости. Подскажите, где взять готовые примеры костяшных Х-ов для исследования и отработки?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.02.2005 (Пн) 19:50

Сорри, немного не в направлении форума.
Для ускорения задумал написать код DLL-ки на VС++ 6.0, но столкнулся с проблемой. Ни один пример из DX SDK8.1 для С++ не работает. При компиляции выходит ошибка:
d3dapp.cpp(1293) : error C2664: 'DialogBoxParamA' : cannot convert parameter 4 from 'long (struct HWND__ *,unsigned int,unsigned int,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)
На GameDev.ru рекомендация сводится к установке ДХ-заголовков и библиотек в наивысший приоритет. Не помогло.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.02.2005 (Пн) 22:40

Просто заремарил вызов этой ф-и. Далее по-еврейски "И шо-ж вы думали? Запустил пару ихних СИ-шных примеров. ФПС на модели 200. Она-же на VB - 210!!!". Нонсенс! Имеет ли смысл отказаться от СИ везде, кроме математики?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 07.02.2005 (Пн) 22:49

Yurich писал(а):Просто заремарил вызов этой ф-и. Далее по-еврейски "И шо-ж вы думали? Запустил пару ихних СИ-шных примеров. ФПС на модели 200. Она-же на VB - 210!!!". Нонсенс! Имеет ли смысл отказаться от СИ везде, кроме математики?
Юрич! Рисует то не си и не васик, а dx ... Си - только в вычислениях выигрышь, а в скорости разработки проги тормозит.... думаю и на васике реально писать клевые проги... (ну а математику можно и в длл на си) :wink:

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.02.2005 (Пн) 23:07

Рисует то не си и не васик, а dx...

Дык, об том и пришла мысля!
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.02.2005 (Вт) 18:30

Yurich
Имеет ли смысл отказаться от СИ везде, кроме математики?

Почитай, это интересно:
http://www.gamedev.ru/forum/?group=9&topic=2118&page=51
Пример того редкого случая, когда холивар вылился в конкретные тесты. Закрадываются сомнения, получишь ли выигрыш даже на чистой математике. Выигрыш дает только Float математика при наличии SSE, и то такой, ради которого не стоит возиться.
Разве что асм-вставки.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 08.02.2005 (Вт) 20:01

Думаю, это меня убедило окончательно!
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Stanly
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 18.02.2005 (Пт) 22:59

Сообщение Stanly » 18.02.2005 (Пт) 23:46

К вопросу о С: как можно судить о языкы, который вы вы не знаете? Вы когда-нибудь слышали об указателях, наследовании, делегировании? Судя по ошибке 2664 - проблемы
у вас не только с C но и с английским.
Устранение ошибки: на 1923 строке файла d3dapp есть вызов функции DialogBoxParam.
Находите 4 параметр(считая слева направо). кликаете на него правой кнопкой. Выбираете "Go to Diffinition". Вас выкинет на определение функции, которая делает ошибку. Там в начала строчки будеь загадочная надпись "long". Её надо заменить на неменее загадочную надпись "int (__stdcall *)". Засейвить файл, перекомпилить прогу. И на радость взрослым и детям подарить этому свету еще одну прогу.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 20.02.2005 (Вс) 11:51

Stanly
А мы, вроде, и не судим. Мы говорили конкретно о быстродействии, опираясь на конкретные факты. А наследование, делегирование, шаблоны и т. п. могут повысить удобство программирования (дело вкуса), но никак не скорость в математике.

Вот здесь:
http://www.steps3d.narod.ru/tutorials/c ... minus.html
уже человек судит, причем явно знает, о чем говорит.

Пред.След.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron