![]() |
Xors3D + BlitzMax
Нуб, знаю. Подскажите пожалуйста, как подключить ксорс к BMax? Решил попробовать производительность ксорса на нем (по идее должно шустрее работать чем в блитце, нэ?), обновил макс до 1.41 (правда гуи у меня 1.34, ссылки по скачке более новых версии на булке уже мертвые), закинул папку xorsteam.mod в папку BlitzMax\mod, закинул все три dll ксорса в папку с ксорсовскими сэмплами для BMax, загружаю любой пример, компилю - пишет Can't find interface for module 'xorsteam.mod'.
Что я делаю не так? :D |
Ответ: Xors3D + BlitzMax
Пересобрать модуль, для начала.
|
Ответ: Xors3D + BlitzMax
Модуль нужно собрать.
У меня build_xors3d_mod.bat лежит в корне папки БлитцМакса Код:
bin\bmk.exe makemods xorsteam.xors3d |
Ответ: Xors3D + BlitzMax
Ок, спасибо :) Пошел гуглить в этом направлении
|
Ответ: Xors3D + BlitzMax
Кстати, чтобы не плодить тем - с анимацией b3d я кажется тоже разобрался, косяк действительно был в экспорт-плагине милки :) Экспортнул через Ultimate Unwrap3D - усе плавно движется (тьфу тьфу тьфу)
|
Ответ: Xors3D + BlitzMax
Цитата:
|
Ответ: Xors3D + BlitzMax
Цитата:
з.ы. по поводу перекомпиляции модулей - нашел статью http://blitzetc.blitzmax.ru/index.ph...править_модули - оно? |
Ответ: Xors3D + BlitzMax
Цитата:
|
Ответ: Xors3D + BlitzMax
Так, сейчас буду разбираться в бмаксе. Один лишь вопрос - стоит ли оно того? Будет ли прирост производительности относительно православного Blitz3D при запуске библиотек под BMax?
|
Ответ: Xors3D + BlitzMax
Будет. Ну и можно писать более человеческий код.
|
Ответ: Xors3D + BlitzMax
|
Ответ: Xors3D + BlitzMax
Цитата:
|
Ответ: Xors3D + BlitzMax
Пробовал заюзать xLinePick - почему-то не хочет работать. Ради эксперимента изменил немного пример Pick.bmx. Пробовал менять строчку
Код:
If xMouseHit(1) Then xCameraPick(camera, xMouseX(), xMouseY()) Код:
If xMouseHit(1) Then xLinePick xEntityX(camera, 1), xEntityY(camera, 1), xEntityZ(camera, 1), xEntityX(cube, 1), xEntityY(cube, 1), xEntityZ(cube, 1), 1 Код:
xTFormVector 0, 0, 100, camera, 0 |
Ответ: Xors3D + BlitzMax
Последнее значение поставь либо 0 либо большое число.
|
Ответ: Xors3D + BlitzMax
Спасибо. А то я по старой памяти как в блитце 1 ставил...
|
Ответ: Xors3D + BlitzMax
Кстати, заметил особенность - xLinePick юзает не отрезок, а луч, хотя в параметрах и предлагается указать координаты двух концов.
|
Ответ: Xors3D + BlitzMax
Вообще-то отрезок и юзается. Точнее из него делается луч, а последний параметр задает его длину, если поставить 0 - высчитается автоматом.
|
Ответ: Xors3D + BlitzMax
Цитата:
|
Ответ: Xors3D + BlitzMax
В блитзе это тоже длина. Но в диапазоне [0; 1].
|
Ответ: Xors3D + BlitzMax
Да? 0_о Хм... А вроде работало как радиус :crazy: Вот что значит на блитцмакс с ксорсом перешел :-D
|
Ответ: Xors3D + BlitzMax
Что-то у меня закрадываются смутные сомнения, что xEntityPick страшно не дружит с тримешами...
|
Ответ: Xors3D + BlitzMax
Чем он у тебя не дружит?
|
Ответ: Xors3D + BlitzMax
Чуть позже наверное пример выложу. Если не решу проблему. Извиняюсь за беспокойство
|
Ответ: Xors3D + BlitzMax
Код:
' Импорт модуля И да, такой же абсолютно код маус лока (за исключением измененной команды лайнпика в ксорсе) прекрасно работал в блитце, в той же моей демке avallon |
Ответ: Xors3D + BlitzMax
Какую-то адовую фигню творишь. Потом прогоню код.
|
Ответ: Xors3D + BlitzMax
Цитата:
|
Ответ: Xors3D + BlitzMax
Я чего-то нифига не понял в твоем примере. Что хоть должно быть? И что не так?
|
Ответ: Xors3D + BlitzMax
WASD - передвижение. Камера вращается вокруг параллелепипеда, если повернуть ее вниз - она "упирается" в "пол". Но если двигать параллелепипед к краю - камера начнет проваливаться в "пол", будто коллижен-боди у "пола", по которому рассчитывается лайнпик, закончилось раньше, чем мы подошли к краю меша.
И это он на боксе так начинает проваливаться. Если загрузить простенький уровень - при подходе к удаленным от центра координат стенам начинается пляска камеры, будто лайнпик превращается из луча в прямую и пикает в обе стороны. Если убрать пик - камера нормально вращается на любом отдалении параллелепипеда от центра координат. Так что если косяк у меня - то не во вращении камеры... наверное... Да, еще, если отдалятся от центра, упершись камерой в "пол" - точка пика будто смещается, хотя если оторвать камеры от пола - камера нормально центрирована на параллелепипеде |
Ответ: Xors3D + BlitzMax
Решение твоей проблемы:
Код:
If xLinePick(vis_line_x, vis_line_y, vis_line_z, vis_line_dx - vis_line_x, vis_line_dy - vis_line_y, vis_line_dz - vis_line_z, distance) <> 0 Then |
Ответ: Xors3D + BlitzMax
:''(( У меня изначально код был:
Код:
Local vis_line_x:Float = xEntityX(camera_target, 1) В общем очень извиняюсь за тупость, огромное спасибо за выявление моего косяка |
Ответ: Xors3D + BlitzMax
В блитзе тоже направление там, а не конечная точка. У нас же изначально было точка-точка, но т.к. юзеры начали высирать кирпичи из-за неработающего кода сделали как в блитзе, да.
|
Ответ: Xors3D + BlitzMax
Чтобы не плодить новых тем. Появилась на днях необходимость написать движок на подобии Total Influence Online, то есть классическая 2д-изометрия с отрендеренными тайлами, в которой используются 3д-модели динамических объектов (персонажи, ящики и т.д.). Если писать на блитцмаксе+ксорсе, возникает несколько вопросов:
1) реально ли использовать рендер отдельных моделей (xRenderEntity) для вставки их в 2д-изометрический движок в качестве таких же спрайтов? 2) я тестил 2д самого блитцмакса - оно достаточно шустрое и не требовательное к железу. Но я пока не тестил 2д ксорса - насколько оно шустрое относительно стандартного блитцмаксовского рендера? 3) есть ли возможность сочетать команды рендера ксорса со стандартыми 2д-командами самого блитцмакса? (на случай если 2д силами ксорса уступает по производительности блитцмаксу) Заранее спасибо |
Ответ: Xors3D + BlitzMax
1) Да.
2) Ну, я бы не сказал, что родное 2д Ксорса шустрое. Но есть FastImage для Ксорса - он быстрый. В планах переписать родное 2д с расширением функциональности и увеличением производительности. 3) Нет. |
Ответ: Xors3D + BlitzMax
Ок, значит буду юзать фастлибу :) Спасибо
|
Ответ: Xors3D + BlitzMax
Можно еще вас вопросами помучать? :)
Как подключить фастлиб к блитцмаксу? Я скачал оригинальный ксорс, скачал последний билд к нему, внутри в папке headers\BlitzMax не обнаружил никакого модуля для фастлиб. Подумал что он не нужен. Зашел в папку FastImage\port\bmax скопировал оттуда все 3 файла в папку со своим проектом и подключил файл fastimage.bmx командой Include Во первых, при компиляции начало ругаться что у меня в файле fastimage.bmx стоит Strict, а в коде самой программы используется SuperStrict. Впрочем я этот вопрос пока решил убрав первую строчку. Во вторых у меня теперь ругается на строчку Module xorsteam.fastimage Знаю что туплю, но просто спросить больше негде. Кто знает решение проблемы - научите, как правильно подключить? Вот чего выдает при компиляции: Compile Error: Module does not match commandline module |
Ответ: Xors3D + BlitzMax
А ты модуль собрал?
|
Ответ: Xors3D + BlitzMax
Ага, то есть я эти три блитцмаксовских файла закидываю в папку с названием fastimage.mod и компилю как обычный модуль? Щас попробую!
|
Ответ: Xors3D + BlitzMax
Создал папку BlitzMax\mod\xorsteam.mod\fastimage.mod поместил в нее три файла fastimage.bmx, FITypesAndFunctions.bmx и GetImageInfo.bmx, попробовал скомпилировать как другие модули BlitzMax\bin\bmk.exe makemods -a fastimage - тишина
Подкиньте идею плиз |
Ответ: Xors3D + BlitzMax
BlitzMax\bin\bmk.exe makemods -a xorsteam.fastimage
|
Ответ: Xors3D + BlitzMax
Спасибо, понял в чем косяк :) Сдвинулось с мертвой точки, но:
D:\Developing\BlitzMax\bin> bmk.exe makemods -a xorsteam.fastimage Compiling:fastimage.bmx Compile Error: Unable to convert from 'Int' to 'Int Ptr' [D:/Developing/BlitzMax/mod/xorsteam.mod/fastimage.mod/FITypesAndFunctions.bmx;3 23;3] Build Error: failed to compile D:/Developing/BlitzMax/mod/xorsteam.mod/fastimage .mod/fastimage.bmx D:\Developing\BlitzMax\bin> Щас попробую покопаться в коде |
Ответ: Xors3D + BlitzMax
Ксорс обнови.
|
Ответ: Xors3D + BlitzMax
Во, кажись заработало :) Спасибо большое!
|
Ответ: Xors3D + BlitzMax
Пишу 2д-тайловый движок, решил загрузить в него png с альфой. И не смог добиться включения альфа-канала на загруженных изображениях (юзаю самую последнюю ревизию ксорса и фастимэджа к нему).
Накатал простенький код, в нем две картинки, одна на другую накладывается без альфы: Код:
Import xorsteam.xors3d Код:
Include "FastImage.bb" |
Ответ: Xors3D + BlitzMax
xSetBlend FI_ALPHABLEND ?
|
Ответ: Xors3D + BlitzMax
Цитата:
|
Часовой пояс GMT +4, время: 04:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot