Войти
ПрограммированиеФорумГрафика

Бред какойто с листами

#0
14:48, 7 фев. 2003

Значит есть функция
GLuint CLand::GenWireFrame()
{
  if(glIsList(list)==GL_TRUE) glDeleteLists(list,1);
  glNewList(list,GL_COMPILE);
  ...
  glEndList();
  return list;
}

так вот, в функции отрисовки происходит такое

tmp=MyLand.GenWireFrame();

glLoadIdentity();
glTranslatef(0,0,-10);
glCallList(tmp);

а листу наплевать на преобразования, он рисуется в 0,0,0 :(((

а вот если сделать

glLoadIdentity();
glTranslatef(0,0,-10);
glCallList(MyLand.GenWireFrame());
то все ок...

так ведь не должно быть, а?


#1
19:30, 7 фев. 2003

Дааа, отстой какой-то и в чем фишка не понятно.
Ты попробуй номер листа не return, а list=glGenLists(1), а потом glCallList(MyLand.list).
По крайней мере у меня вроде все было нормально.

#2
21:47, 7 фев. 2003

DaGGeR

Судя по коду, должно.

#3
21:59, 7 фев. 2003

Polaris
list=glGenLists(1); в конструкторе задается.

IronPeter
А как сделать чтобы было правильно?

#4
12:50, 10 фев. 2003

DaGGeR
Любые gl команды не работают, до инициализации OpenGL. Видимо когда исполняется конструктор, OpenGL еще не инициализирована

ПрограммированиеФорумГрафика

Тема в архиве.