Сообщения на форуме пользователя Andrey (183 стр.)
Screen Shoot | 17 апр. 2006 | 14:38 | #8 |
---|
Black_fox
можно и через DevIL :
можно и через DevIL :
// созданипе скриншота bool OpenGLRender::CreateScreenShot(const string& filename) const { //создаем скриншот для OpenGL окна ilutGLScreen(); //удалить на всякий случай remove(filename.c_str()); //сохраняем файл int res = ilSaveImage(reinterpret_cast<ILstring>(const_cast<char *>(filename.c_str()))); if (!res) { //Получение кода ошибки int err = ilGetError(); //Если код не равен нулю ошибка была if (err != IL_NO_ERROR) { //Получение строки с ошибкой const char* strError = reinterpret_cast<char*>(iluErrorString(err)); //добавить сообщение OutMessage(Console::ERROR_MESSAGE, "%s%s%s", " Ошибка: ", strError, "\n"); return false; } } return true; } [/cpp] сохраняет в jpg файл про DevIL можешь почитать тут:http://www.gamedev.ru/articles/?id=70123 |
Проблемы с обменом значений между C/C++ и Lua. | 12 апр. 2006 | 20:08 | #70 |
---|
Sneer
Спасибо большое!!! я просто в 1 месте не снимал значения со стека!!!
я пока тему закрывать не буду...
Спасибо большое!!! я просто в 1 месте не снимал значения со стека!!!
я пока тему закрывать не буду...
Проблемы с обменом значений между C/C++ и Lua. | 12 апр. 2006 | 14:19 | #69 |
---|
Sneer
>Что и в каком количестве возвращают вызываемые функции? Ты снимаешь все результаты со стека?
всегда передаю 0, результаты со стека не снимаю.
если имя не пустое то такой случай когда загружается скрипт как ты и говорил.
почту отправлю...
>Что и в каком количестве возвращают вызываемые функции? Ты снимаешь все результаты со стека?
всегда передаю 0, результаты со стека не снимаю.
если имя не пустое то такой случай когда загружается скрипт как ты и говорил.
почту отправлю...
Проблемы с обменом значений между C/C++ и Lua. | 12 апр. 2006 | 11:17 | #67 |
---|
Sneer
>Ты опять не тот код приводишь, я его прогнал в цикле 10000 раз - никакого переполнения не происходит. Если только у тебя в Pop глюк какой-то.
нет как раз я тот код привожу :)
я сделал как ты сказал добавил отладочный метод в класс: вставил я ее после вызова GetFloat и AddData после очередного в проверке стэка в AddData выскочила ошибка о переполнении.
размер стэка был > 2046
еще забвл сказать что пред получение/добавлением значений переменных
я вызываю функцию: вот код: ее код: может тут еще что нибудь влияет?
может тебе заслать проект? 315 кб?
>Ты опять не тот код приводишь, я его прогнал в цикле 10000 раз - никакого переполнения не происходит. Если только у тебя в Pop глюк какой-то.
нет как раз я тот код привожу :)
я сделал как ты сказал добавил отладочный метод в класс: вставил я ее после вызова GetFloat и AddData после очередного в проверке стэка в AddData выскочила ошибка о переполнении.
размер стэка был > 2046
еще забвл сказать что пред получение/добавлением значений переменных
я вызываю функцию: вот код: ее код: может тут еще что нибудь влияет?
может тебе заслать проект? 315 кб?
Проблемы с обменом значений между C/C++ и Lua. | 11 апр. 2006 | 18:20 | #65 |
---|
Sneer
Привет что-то у меня опть переполнение стека возникает :)
Сейчас у меня есть набор переменных и функция их меняющая, при очередном Update я даю скрипту значения перменных которые я меняю, возникает перполнение стека, если просто получать значения переменных то все ок.
вот код:
вот 'ne aeyrwb. я вызываю при добавлении перменной по имени при иницализации
далее я получаю значение переменной по имени в Update:
вот так я применяю это
вот так все хорошо
но мне нужно еще возможно поменять переменную через C++ и опять дать скрипту
тогда я делаю так:
но вскоре функция CheckStack() выдает Ошибку о перполнении стэка.
вот ее код
Как мне избежать перполненипя стека, каогда нужно передавать/получать значения? где снять значения со стека?
я так понимаю AddData должна быть другой для добавления значения?
Спасибо заранее, с Уважением Андрей.
Привет что-то у меня опть переполнение стека возникает :)
Сейчас у меня есть набор переменных и функция их меняющая, при очередном Update я даю скрипту значения перменных которые я меняю, возникает перполнение стека, если просто получать значения переменных то все ок.
вот код:
//добавить переменную float void LuaScriptManager::AddData(const string& varName, float value) const { if (!luaState) return; //проверка стека if (CheckStack()) { lua_pushnumber(luaState, value); //установка имени переменной lua_setglobal(luaState, varName.c_str()); } }
далее я получаю значение переменной по имени в Update:
//получить значение float перменной float LuaScriptManager::GetFloat(const string& varName, bool isPop) const { if (!luaState) return 0; //на вершину стека lua_getglobal(luaState, varName.c_str()); if (!lua_isnumber(luaState, -1)) { static int err; if (console && !err) console -> AddMessage(Console::ERROR_MESSAGE, "%s", "Lua: Data is not float\n"); err = 1; return 0; } float value = static_cast<float>(lua_tonumber(luaState, -1)); //вытолкнуть если нужно if (isPop) Pop(1); // if (luaState) lua_pop(luaState, 1); return value; } |
... float var = scriptManager -> GetFloat(scriptData[i] -> variable[j].VarName, true); ... |
но мне нужно еще возможно поменять переменную через C++ и опять дать скрипту
тогда я делаю так:
//получаю значение перменной по имени float var = scriptManager -> GetFloat(scriptData[i] -> variable[j].VarName, true); ... //что-то с значением делаю //потом передаю скрипту: scriptManager -> AddData(scriptData[i] -> variable[j].VarName, var); ... |
вот ее код
INLINE bool LuaScriptManager::CheckStack() const { if (!luaState) return false; //проверка стека if (!lua_checkstack(luaState, 1)) { static bool err; if (!err) console -> AddMessage(Console::ERROR_MESSAGE, "%s", "Stack Lua is full\n"); err = true; //return false; } return true; }
я так понимаю AddData должна быть другой для добавления значения?
Спасибо заранее, с Уважением Андрей.
Правка: 11 апр. 2006 18:21
Зачем нужен ID3DXEffect::SetTexture? | 10 апр. 2006 | 17:27 | #7 |
---|
IronBunny
>Да ну?! Без ID3DEffect нельзя использовать HLSL? Ты совсем неправ.
ну я естесвенно забыл дописать "например" к фразе "для использования HLSL"
Кстати попутно 1 вопрос я тут безумно пытаюсь написать мультирендер и все идет неплохо но пока не дошел до шейдеров
можно ли шедей на HLSL собрать из двух файлов в 1 из них находиться пиксельный а в другом вершинный?
>Да ну?! Без ID3DEffect нельзя использовать HLSL? Ты совсем неправ.
ну я естесвенно забыл дописать "например" к фразе "для использования HLSL"
Кстати попутно 1 вопрос я тут безумно пытаюсь написать мультирендер и все идет неплохо но пока не дошел до шейдеров
можно ли шедей на HLSL собрать из двух файлов в 1 из них находиться пиксельный а в другом вершинный?
Зачем нужен ID3DXEffect::SetTexture? | 10 апр. 2006 | 11:41 | #5 |
---|
Mephisto std
для использования HLSL
для использования HLSL
Формат mdl , .md2 | 7 апр. 2006 | 16:43 | #8 |
---|
stim24
отослал...
отослал...
Формат mdl , .md2 | 7 апр. 2006 | 11:37 | #6 |
---|
stim24
отослал пример загрузки Md2
если нужно как работать с Direct3D могу прислать но там мои классы потянуться, будет много файлов если рвзберешься могу закинуть...
отослал пример загрузки Md2
если нужно как работать с Direct3D могу прислать но там мои классы потянуться, будет много файлов если рвзберешься могу закинуть...
вопрос о структуре классов движка | 6 апр. 2006 | 16:28 | #1 |
---|
mishak
нужны примеры это общие слова из них практически ничего не понятно.
нужны примеры это общие слова из них практически ничего не понятно.
file format *.dds | 6 апр. 2006 | 16:25 | #2 |
---|
max_bi
или плагином к фотошопу
или плагином к фотошопу
Формат mdl , .md2 | 6 апр. 2006 | 13:41 | #1 |
---|
stim24
я загружал md2 для OpenGL и Direct3D
я загружал md2 для OpenGL и Direct3D
ID3DXSprite проблемы с сбросом устройства IDirect3DDevice9 | 4 апр. 2006 | 14:41 | #17 |
---|
User007
Спасибо большое!!! дело было только в конструкторе копий :)
просто в обычном добавили, а в конструкторе копий не добавили в массив ID3DXSprite*
Тема закрыта.
Спасибо большое!!! дело было только в конструкторе копий :)
просто в обычном добавили, а в конструкторе копий не добавили в массив ID3DXSprite*
Тема закрыта.
ID3DXSprite проблемы с сбросом устройства IDirect3DDevice9 | 4 апр. 2006 | 13:34 | #15 |
---|
User007
лови письмо, что не понятно спрашивай.
лови письмо, что не понятно спрашивай.
ID3DXSprite проблемы с сбросом устройства IDirect3DDevice9 | 4 апр. 2006 | 10:46 | #13 |
---|
User007
>Эй, погоди! Девайс в оконном режиме, так?
да так.
>Ты пробовал сделать так как я посоветовал? - Достаточно в режиме отладки
>свернуть окно, зайти в параметры десктопа и изменить цвета десктопа - 16/32 бита в смысле.
пробовал, но LostDevice и без этого работает.
>Если не получится - выложи компилящийся код - я посмотрю.
там большой проект могу выслать на почту около 2 метров будет.
Высылать?
>Эй, погоди! Девайс в оконном режиме, так?
да так.
>Ты пробовал сделать так как я посоветовал? - Достаточно в режиме отладки
>свернуть окно, зайти в параметры десктопа и изменить цвета десктопа - 16/32 бита в смысле.
пробовал, но LostDevice и без этого работает.
>Если не получится - выложи компилящийся код - я посмотрю.
там большой проект могу выслать на почту около 2 метров будет.
Высылать?