Появилась надобность растянуть tga-изображение до границ экрана. В ХЛ1 я так понимаю с этим беда, по крайней мере я не нашёл простого решения типо BitmapTGA::setSize (он закрытый я знаю) и какого-нибудь setFitted(bool). Можно было бы в заранее заготовить несколько изображений разных разрешений, но это как-то не то. Вроде бы, я нашёл себе неплохую альтернативу использовать drawTexturedRect, но с этим, я так понял, тоже не всё просто. Допустим я смогу получить идентификатор текстуры (createNewTextureID в engine проекте Xash3D), drawSetTextureRGBA я так понял делает загрузку изображения в выделенную текстуру.
Расскажите, пожалуйста, не могу придумать как мне получить byte* rgba от изображения (tga или bmp не особо важно)? Тут ещё дело в том, что drawSetTextureRGBA вовсе принимает const char*. Вообщем, как получить мне rgba или как растянуть изображение?
Пытаюсь завести свои OpenGL поделки на старом ноуте с Intel 4500MHD. Столкнулся с такой проблемой - ловлю сегфолт при вызове glGenFramebuffersEXT или glGenRenderbuffersEXT.
GL_EXT_FRAMEBUFFER_OBJECT поддерживается, адреса функций не нулевые и, в принципе, похожи на правду. Адрес glGenBuffers (которая работает) недалеко от них.
Подскажите, пожалуйста, в какую сторону копать?
1) Имеется VGUI-панель. Можно ли к ней обратиться по срабатыванию триггера (допустим вызвать setVisible(true) и в gViewport обновление курсора сделать) по нажатию кнопки (не клавиши клавиатуры, а Use какого-нибудь триггера или CPushable)? Что-то не могу себе представить как с сервера обратиться к клиентской части.
2) На случай если первый вопрос можно реализовать. Что лучше наследовать CPushable или CBaseTrigger?
Как я себе представляю, триггер же может быть solid'ом, создаём область на карте, в которую игрок должен зайти и нажать кнопку действия (клавиша E - дефолт) и дальше начинает работать CBaseTrigger::Use (там разновидности есть, пока что в них не особо вник). И вот как бы из этой функции обратиться к VGUI?
Smykov всё это уже реализовано в XDM можно, конечно, реализовать. Запили какой-нибудь env_menu (лучше синхронизировать класснейм с чем-нибудь имеющимся в других играх, но вообще пофиг). У нго по Use() шлешь message Activator-у. Ну вот и весь сервер. А на карте уже вешай эту энтитю как таргет хоть триггера, хоть кнопки, хоть ученого.
Для начала, как я люблю определимся с терминами. Какой смысл ты вкладываешь в слово "сегфолт"? На винде его нет, следовательно ты под линуксом колдуешь? Адрес вылета какой? 0x000005 ?
Хотя если под линуксом я ничем не помогу.
Да-да, всё так.
Когда запускаю просто экзешник, то вылазит окно "Access violation. Press OK to ignore and risk data corruption. Press Abort to kill the program."
Когда запускаю из лазаруса с отладкой, то вылазит окно "Проект вызвал класс исключения 'External: SIGSEGV'."
Адрес вылета нигде не указывается.