чутка добрался до своего творения, все-таки WoW жуткая вещь :(

и так дополню статью, что после строки

irr::scene::IMeshSceneNode
*meshNode = smgr->addMeshSceneNode(dmes);

надо сделать

dmes->drop();
buffer->drop();

в общем я понял, чтобы избежать утечки памяти надо дропать любой объект, который вы создали с помощь new и передали на контроль ирлихту, т.к.  irrlicht запоминает не ссылку на объект, а делает себе копию объекта и с копией же работает.

Еще одно  открытие – это то, что включенный VBO влияет и на текстурные координаты, т.е. если mesh объявлен статическим,  то после изменения текстурных координат надо выполнить mesh->getMeshBuffer(buffer_number)->setDirty();.

мне предлагали попробовать загрузку текстурки без генерации mipmap уровней, сделал так
driver->setTextureCreationFlag(irr::video::ETCF_CREATE_MIP_MAPS, false);
t_world_1 = driver->getTexture(»res/floor_world_1.jpg»);
driver->setTextureCreationFlag(irr::video::ETCF_CREATE_MIP_MAPS, true);
не дало ни какого приросту

закончил я оптимизационную конверсию, наконец-то появилась возможно двигаться дальше, но почти… появилась новая проблема – швы

shot_70538

текстурки взял из варкрафта2 они приятнее смотрятся и даже добавляют объем :)


1 отзыв на “IrrLicht: дополнение к предыдущей статье”

  1. Эльмиго ()

    сорри ребяты, не читайте пургу про
    irrlicht запоминает не ссылку на объект, а делает себе копию

    вот тут статья с правильными представлениями


Оставьте свой отзыв

Вы должны войти, чтобы оставлять комментарии.