![](images/chestnut/misc/left.gif) |
27.04.2012, 09:45
|
#1
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Вспомогательные функции
По пути разрабатывания своей новой игры (я ее еще ни где не афишировал), у меня начала формироваться библиотечка вспомогательных функции. Кому надо могу поделиться
http://rghost.ru/37790910
Библиотека написана для MSVC++ 2010
Что она умеет:
SceneNode* PickNode(SceneManager* smgr, Camera* camera, float x, float y) //получить объект по координатам мыши bool isPickedNode(SceneManager* smgr, SceneNode* node, Camera* camera, float x, float y, Vector3 &out) //узнать находится ли объект по координатам мыши и получить точку нажатия в 3-х мерном пространстве 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) //быстрое получение информации о вершинах и индексах у модели void CreateOIS(Ogre::RenderWindow* _window, OIS::InputManager** _man, OIS::Keyboard** _key, OIS::Mouse** _mouse) //быстрое создание OIS
Написал загрузчик сцены экспортера Easy Ogre Exporter, тоже в архиве.
Еще внутри маленький враппер буллита
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.04.2012, 17:34
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Вспомогательные функции
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);
|
(Offline)
|
|
27.04.2012, 19:46
|
#3
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Вспомогательные функции
Vector3* &vertices
инициализирует указатель и передает ее в переменную, там new ненадо
size_t vertex_count,index_count; Vector3* vertices; unsigned * indices; Ogre::Mesh* mesh = ent->getMesh().getPointer(); getMeshInformation(mesh,vertex_count,vertices,index_count,indices);
использовал эту ф-цию когда врапил буллит
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
|
|
27.04.2012, 21:43
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Вспомогательные функции
Сообщение от pozitiffcat
Vector3* &vertices
инициализирует указатель и передает ее в переменную
|
[зануда]
Ну что за словоблудие? Указатель на экземпляр Vector3 передаётся в функцию по ссылке.
[/зануда]
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:59.
|