GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (200 стр.)

Сообщения на форуме пользователя Andrey (200 стр.)

boost 1.33: Не хватает файла boost/mpl/apply_if.hpp15 янв. 20060:34#11
ArT
а!!!! теперь все понятно!!! естественно при подключенном интеренте? :)
Проблемы с обменом значений между C/C++ и Lua.15 янв. 20060:32#34
Sneer
>А что, это вообще работает? 8-/
работает дак что не правильно?
Проблемы с обменом значений между C/C++ и Lua.14 янв. 200619:52#32
Sneer
keltar
Вот еще появилась 2 вопроса
вот есть такой скрипт:
function test()
	dx = math.random()--math.sin(os.clock())	--задаем закон движения
	dy = math.sin(os.clock())	--задаем закон движения
	return dx, dy		--возврат значения функции
end
вот атк все спользую:
//получить значение из переменной по имени
void GetValue(lua_State* state, const string& varName, float &num)
{
	lua_setglobal(state, varName.c_str());
	num = static_cast<float>(lua_tonumber(state, -1));
	lua_pop(state, 1);
	fprintf(stderr, "%f%s", num, "\n");
}
//записать значение в переменную по имени
void SetValue(lua_State* state, const string& varName, float num)
{
	lua_getglobal(state, varName.c_str());
	lua_pushnumber(state, num);
}
//после загрузки скрипта
result = lua_pcall(state, 0, 0, 0);
//задаем начальные значения переменным dx,dy
lua_pushnumber( state, 1.0f);
lua_setglobal(state, "dx");
lua_pushnumber( state, 1.0f);
lua_setglobal(state, "dy");
while (1) {
	//проверка стека
	if (!lua_checkstack(state, 1))
		fprintf(stderr, "Lua: Stack Overflow\n");
	lua_getglobal(state, "test");
	result = lua_pcall(state, 0, 2, 0);//вызов функции с 2 параметрами
	//проверка ошибки
	...
	//Получаем значения переменных с выводом на экран и передачей
	//обратно в скрипт
	fprintf(stderr, "%s", "dx = ");
	GetValue(state, "dx", dx);
	SetValue(state, "dx", dx);

	fprintf(stderr, "%s", "dy = ");
	GetValue(state, "dy", dy);
	SetValue(state, "dy", dy);
}
Вопрос 1
Через какое-то время возникает переполнение стэка как этого избежать?
Далее изменим скрипт:
function test()
	dx = math.random()--math.sin(os.clock())	--задаем закон движения
	dy = math.sin(os.clock())	--задаем закон движения
	dx = dx + 1
	return dx, dy, dt		--возврат значения функции
end
сделаем изменения:
//задаем начальные значения переменным dx,dy, dt
...
lua_pushnumber( state, 1.0f);
lua_setglobal(state, "dt");
...
while(1) {
	lua_getglobal(state, "test");
	result = lua_pcall(state, 0, 3, 0);//вызов функции с 3 параметрами
	...
	//Получаем значения переменных с выводом на экран и передачей
	//обратно в скрипт
	...
	fprintf(stderr, "%s", "dt = ");
	GetValue(state, "dt", dt);
	SetValue(state, "dt", dt);
}
Вопрос 2 почему вместо dy получем dt, а вместо dt получаем dy?
Я так понял опять проблема со стеком Lua
Скажите что еще не так?
Спасибо заранее.
boost 1.33: Не хватает файла boost/mpl/apply_if.hpp14 янв. 200619:29#9
CyberZX
дистрибутив установил
>ну а потом пиши то что написал ArT
1) где именно писать? на сайте или в этой программе?
2) как вообще этим сервером пользоваться, я так понмаю это чтто-то вроде контроля версий?(просто особо не смотрел хочу просто быстрей скачать новый luabind)
random и randomize в VS14 янв. 200619:26#12
Don Reba
>Ещё, в достойной библиотеке glibc и семействе ОС BSD.
:))) не знаю такой
random и randomize в VS14 янв. 200615:07#9
DestroYerz
>error C2039: 'random' : is not a member of 'std'
>error C3861: 'random': identifier not found
>Может подключить еще что-то нужно?
функция random не входит в стандартную бибилиотеку C++, она есть только в отстойных компиляторах Borland
Текст в Open GL14 янв. 200614:57#5
AMD_3500
>А вот у меня текст из уроков nehe глючит. Все буквы чёрные даже если поставить перед ними цвет(glColor). Ни кто не >знает почему??
есть такая пролемка сай пойми это не есть хороший вариант. OpenGL напрямую не подерживает работу с шрифтом поэтому и надо извращаться через списки изображений + шрифты Windows через GDI. В Direct3D с текстом намного проще и цвет меняется и т.д.
Попробуй для начала отключать освещение при вывводе, если не поможет смотри каак я сделал:
//отображение текста
void OpenGLRender::DrawText(const Text *text, unsigned long Color, int x, int y, const char* str,...) const
{
	if (str == NULL)
		return;
	if (!text)
		return;
	//Место для нашей строки
	static char strtext[1024] = {'\0'};
	va_list	argumentPtr;
    va_start(argumentPtr, str);
	vsprintf(strtext, str, argumentPtr);
	va_end(argumentPtr);
	//запретить освещение
	glDisable(GL_LIGHTING);
	glDisable(GL_BLEND);
	glPushAttrib(GL_ALL_ATTRIB_BITS);
	glMatrixMode(GL_PROJECTION);
	glPushMatrix();
	glLoadIdentity();
	//сбросить видовую матрицу
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	glLoadIdentity();
	y = currentMode.GetHeight() - text -> GetHeight() - y - 1; //получение координаты y
	glViewport(x - 1, y, 0, 0);
	glRasterPos4f(0, 0, -1, 1);
	glListBase(static_cast<const OpenGLText *>(text) -> GetBase());  //задать базу
	//установить цвет текста
	glColor4b(static_cast<signed char>(Color & 0x00ff0000) >> 16,
				static_cast<signed char>(Color & 0x0000ff00) >> 8,
				static_cast<signed char>(Color & 0x000000ff),
				static_cast<signed char>(Color & 0xff000000) >> 24);
	//вызвать список изображения
	glCallLists(strlen(strtext), GL_UNSIGNED_BYTE, strtext);
	glMatrixMode(GL_PROJECTION);
	glPopMatrix();
	glMatrixMode(GL_MODELVIEW);
	glPopMatrix();
	//разрешить освещение
	glEnable(GL_LIGHTING);
	glPopAttrib();
}
boost 1.33: Не хватает файла boost/mpl/apply_if.hpp14 янв. 200614:39#8
CyberZX
Спасибо тебе большое :) попробую...
boost 1.33: Не хватает файла boost/mpl/apply_if.hpp14 янв. 200614:18#6
ArT
Извини за ламерство,  вот то что ты написал,  а как этим пользоваться чтобы закачать?
Прямая сслылка на сайт есть?
Текст в Open GL14 янв. 20062:13#1
max_bi
смотри уроки Nehe либо через шрифт из текстуры...
boost 1.33: Не хватает файла boost/mpl/apply_if.hpp14 янв. 20062:09#4
empter
хм ссылка в www.google.ru там их наваломArT
ArT
>Все правильно. Он там отсутствует. вместо apply_if пропиши везде eval_if.
ок спасибо а почему нет? с чем это связано?
boost 1.33: Не хватает файла boost/mpl/apply_if.hpp13 янв. 200623:21#0
Привет всем!
Cкачал недавно boost 1.33.
скачал luabind пробую делать 1 пример:
luabind\examples\any_converter
не вомпилируется просит файл boost/mpl/apply_if.hpp искал в папках но там его нет. Пути естественно правильно прописаны.
Может кто нибудь его скинет? или проблема решается по другому?
Или какой-то неправильный boost :) ? Извиняюсь за ламерскую проблему если чего-то не знаю.
Спасибо всем заранее.

Правка: 13 янв. 2006 23:23

просит d3dx9_27.dll13 янв. 200623:14#16
Careless Angel
да прав правда на старом DirectX наверное никто не пишет...
просит d3dx9_27.dll13 янв. 200612:04#7
Careless Angel
>Можно компилировать с SDK от декабря 2004 (!) или старее, там D3DX статически прикомпилируется.
:)))))
Просьба потестить работу материалов.13 янв. 20061:32#18
Mikle
Очень красиво
около 194 FPS, золотая полоска есть. Освещение справа есть и блики. Фарфор четко виден
Radeon 9200 SE.

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр