forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Вопросы про Xors3D (http://forum.boolean.name/showthread.php?t=15605)

wolfhound512 30.11.2011 19:55

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от ANIK123 (Сообщение 211710)
Изза ужасных упадков фпс при рисовании большого количества текста пришлось прибегнуть к помощи фастлиб
Как вообще подключить сие чудо?

Попробуй просто добавить этот файл "../fastimage/FIXorsBridge.cpp" в список исходников проекта и никуда его не инклудить.

moka 30.11.2011 20:19

Ответ: Вопросы про Xors3D
 
Есть биндинги FastImage для ксорса.

HolyDel 30.11.2011 20:26

Ответ: Вопросы про Xors3D
 
Цитата:

Есть биндинги FastImage для ксорса.
или все же отдельный фастимедж для хорса? гапи то разные…

moka 30.11.2011 20:59

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от HolyDel (Сообщение 211808)
или все же отдельный фастимедж для хорса? гапи то разные…

Ну это уху, отдельная DLL, по сути общая логика думаю сохранена, лишь слой рендера под Xors3D адаптирован (DX9).

ANIK123 01.12.2011 23:27

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от wolfhound512 (Сообщение 211805)
Попробуй просто добавить этот файл "../fastimage/FIXorsBridge.cpp" в список исходников проекта и никуда его не инклудить.

Как так? А можно по-подробнее?

И еще: Я колупался, колупался и доколупался)
Сам не знаю что Я наделал но ошибки теперь совсем другие:
Код:

IXorsBridge.obj : error LNK2005: "bool __cdecl ImageInfo_ReadPNG(struct _iobuf *,int)" (?ImageInfo_ReadPNG@@YA_NPAU_iobuf@@H@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "bool __cdecl ImageInfo_ReadBMP(struct _iobuf *,int)" (?ImageInfo_ReadBMP@@YA_NPAU_iobuf@@H@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "bool __cdecl ImageInfo_ReadDDS(struct _iobuf *,int)" (?ImageInfo_ReadDDS@@YA_NPAU_iobuf@@H@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "bool __cdecl ImageInfo_ReadTGA(struct _iobuf *,int)" (?ImageInfo_ReadTGA@@YA_NPAU_iobuf@@H@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "bool __cdecl ImageInfo_ReadJPEG(struct _iobuf *,int)" (?ImageInfo_ReadJPEG@@YA_NPAU_iobuf@@H@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "int __cdecl ImageInfo_ReadFile(char const *)" (?ImageInfo_ReadFile@@YAHPBD@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "protected: __thiscall cFIXorsBridge::cFIXorsBridge(void)" (??0cFIXorsBridge@@IAE@XZ) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "protected: virtual __thiscall cFIXorsBridge::~cFIXorsBridge(void)" (??1cFIXorsBridge@@MAE@XZ) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: static class cFIXorsBridge * __cdecl cFIXorsBridge::Initiate(bool)" (?Initiate@cFIXorsBridge@@SAPAV1@_N@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: void __thiscall cFIXorsBridge::FreeSingleton(void)" (?FreeSingleton@cFIXorsBridge@@QAEXXZ) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "private: bool __thiscall cFIXorsBridge::LoadFastImage(void)" (?LoadFastImage@cFIXorsBridge@@AAE_NXZ) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "char * __cdecl trim_str(char *)" (?trim_str@@YAPADPAD@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::InitDraw(void)" (?InitDraw@cFIXorsBridge@@QAEHXZ) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: void __thiscall cFIXorsBridge::SetBuffer(int)" (?SetBuffer@cFIXorsBridge@@QAEXH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::SetCustomBlend(int,int)" (?SetCustomBlend@cFIXorsBridge@@QAEHHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::CreateImage(int,int,int,int)" (?CreateImage@cFIXorsBridge@@QAEHHHHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::LoadImageF(char const *,int,int)" (?LoadImageF@cFIXorsBridge@@QAEHPBDHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::LoadAnimImage(char const *,int,int,int,int,int,int)" (?LoadAnimImage@cFIXorsBridge@@QAEHPBDHHHHHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::TestImage(int,int,int,int,int,int,int,int)" (?TestImage@cFIXorsBridge@@QAEHHHHHHHHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::TestRendered(int,int,int,int)" (?TestRendered@cFIXorsBridge@@QAEHHHHH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: void __thiscall cFIXorsBridge::FreeImage(int,bool)" (?FreeImage@cFIXorsBridge@@QAEXH_N@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: void __thiscall cFIXorsBridge::FreeImageFont(int)" (?FreeImageFont@cFIXorsBridge@@QAEXH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "public: int __thiscall cFIXorsBridge::LoadImageFont(char const *,int)" (?LoadImageFont@cFIXorsBridge@@QAEHPBDH@Z) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "struct sImageInfo ImgInfo" (?ImgInfo@@3UsImageInfo@@A) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "private: static class cFIXorsBridge * cFIXorsBridge::vsSelf" (?vsSelf@cFIXorsBridge@@0PAV1@A) уже определен в DATAR.obj
FIXorsBridge.obj : error LNK2005: "private: static int cFIXorsBridge::vsRefcount" (?vsRefcount@cFIXorsBridge@@0HA) уже определен в DATAR.obj
E:\MOE\DATAR\Debug\DATAR.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более

Неужели никто не подключал себе фастимейдж?(

HolyDel 01.12.2011 23:46

Ответ: Вопросы про Xors3D
 
это значит функции определены два раза. как будто ты cpp-шник заинклюдил например.

wolfhound512 01.12.2011 23:50

Ответ: Вопросы про Xors3D
 
Вложений: 1
Удали все упоминания этого порта FastImage из своего проекта
Потом:
1) скопируй папку "FIXorsBridge" из "Xors3D\FastImage\port\cpp\" в папку совего проекта
2) добавь файл "FIXorsBridge\FIXorsBridge.cpp" в список исходников (см. изображение ниже)
3) там где используется FI инклудь "FIXorsBridge\FIXorsBridge.h"

Все должно работать

pozitiffcat 02.12.2011 15:58

Ответ: Вопросы про Xors3D
 
там гдето можно выставить ignore multiples, посмотри в гугле

ANIK123 02.12.2011 17:22

Ответ: Вопросы про Xors3D
 
Спасибо, подключилось!
Но с шрифтом трабла:

Пробовал и стандартные шрифты - получаются те же дефекты


UPD: Ранее эти же шрифты удачно использовал в блице

moka 03.12.2011 05:35

Ответ: Вопросы про Xors3D
 
Бленд альфа попробуй поставь, и позицию отрисовки в целочисленных.

Dream 03.12.2011 16:32

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от ANIK123 (Сообщение 212027)
Спасибо, подключилось!
Но с шрифтом трабла:

Пробовал и стандартные шрифты - получаются те же дефекты


UPD: Ранее эти же шрифты удачно использовал в блице

Может косяк с размером окна?

ANIK123 03.12.2011 16:48

Ответ: Вопросы про Xors3D
 
Вложений: 1
Код:

xGraphics3D(800, 600, 32, false, true);
//строго после graphics3d инициализирую фастимейдж
cFIXorsBridge &FIX = cFIXorsBridge::GetSingleton();
//ну и гружу щрифт
int deffont = FIX.LoadImageFont("../impact_20.txt", 1);

//как бы начался главный цикл
xUpdateWorld();
xRenderWorld();

//куча всякой ахинеи (подсчет волос на голове Гомера и прочие не нужные вычесления)

//готовлюсь рисовать шедевры
FIX.StartDraw();

sprintf_s(buffer, "Health: %i", жизнь_юнита);
xCameraProject(камера, pos_x, pos_y, pos_z);
FIX.SetBlend(FI_ALPHABLEND);
FIX.SetColor(255, 255, 255);
FIX.DrawTextA (buffer, (int)xProjectedX(), (int)xProjectedY());
//закачниваем издевательство
FIX.EndDraw();
xFlip();

Вроде схема правильная...

UPD: Более норм качество:



+прикрепил используемый шрифт - может в нем проблема

wolfhound512 03.12.2011 18:45

Ответ: Вопросы про Xors3D
 
У меня твой шрифт тоже так работает, так что проблема в нем. Кривые параметры в .тхт

ANIK123 03.12.2011 19:15

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от wolfhound512 (Сообщение 212166)
У меня твой шрифт тоже так работает, так что проблема в нем. Кривые параметры в .тхт

Эмм...
Делал через ФонтГенератор 1,1 - брал из офф-сайта фастЛиб

moka 03.12.2011 19:46

Ответ: Вопросы про Xors3D
 
У меня на OGL такая же проблема была, из-за размера текстур с не кратным 2. Может генерируемая текстура для текста имеет такой же симптом.. Хз про DX.


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

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