forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Ogre3D (http://forum.boolean.name/forumdisplay.php?f=156)
-   -   Вспомогательные функции (http://forum.boolean.name/showthread.php?t=16711)

pozitiffcat 27.04.2012 09:45

Вспомогательные функции
 
По пути разрабатывания своей новой игры (я ее еще ни где не афишировал), у меня начала формироваться библиотечка вспомогательных функции. Кому надо могу поделиться
http://rghost.ru/37790910
Библиотека написана для MSVC++ 2010
Что она умеет:
PHP код:

SceneNodePickNode(SceneManagersmgrCameracamerafloat xfloat y)
//получить объект по координатам мыши
bool isPickedNode(SceneManagersmgrSceneNodenodeCameracamerafloat xfloat yVector3 &out)
//узнать находится ли объект по координатам мыши и получить точку нажатия в 3-х мерном пространстве
void getMeshInformation(Meshmesh,size_t &vertex_count,Vector3* &vertices,
    
size_t &index_countunsigned* &indices,
    const 
Vector3 &position Vector3::ZERO,
    const 
Quaternion &orient Quaternion::IDENTITY,const Vector3 &scale Vector3::UNIT_SCALE)
//быстрое получение информации о вершинах и индексах у модели
void CreateOIS(Ogre::RenderWindow_windowOIS::InputManager** _manOIS::Keyboard** _keyOIS::Mouse** _mouse)
//быстрое создание OIS 

Написал загрузчик сцены экспортера Easy Ogre Exporter, тоже в архиве.
Еще внутри маленький враппер буллита

HolyDel 27.04.2012 17:34

Ответ: Вспомогательные функции
 
Код:

void getMeshInformation(Mesh* mesh,size_t &vertex_count,Vector3* &vertices,
    size_t &index_count, unsigned* &indices,
    const Vector3 &position = Vector3::ZERO,
    const Quaternion &orient = Quaternion::IDENTITY,const Vector3 &scale = Vector3::UNIT_SCALE)

wtf?
пример использования этой функции в студию.

уж не так ли?
Код:

int count_vertices = 0;
int count_indices = 0;
Vector3 *vertices = new Vector3[100500/*wtf*/];
unsigned*intides= new unsigned[100500/*wtf*/];
getMeshInformation(mesh,count_vertices ,vertices , count_indices , indices);


pozitiffcat 27.04.2012 19:46

Ответ: Вспомогательные функции
 
Vector3* &vertices
инициализирует указатель и передает ее в переменную, там new ненадо

PHP код:

size_t vertex_count,index_count;
        
Vector3vertices;
        
unsigned indices;
 
        
Ogre::Meshmesh ent->getMesh().getPointer();
        
getMeshInformation(mesh,vertex_count,vertices,index_count,indices); 

использовал эту ф-цию когда врапил буллит

impersonalis 27.04.2012 21:43

Ответ: Вспомогательные функции
 
Цитата:

Сообщение от pozitiffcat (Сообщение 226649)
Vector3* &vertices
инициализирует указатель и передает ее в переменную

[зануда]
Ну что за словоблудие? Указатель на экземпляр Vector3 передаётся в функцию по ссылке.
[/зануда]


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

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