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

проблема с glViewport и OpenGL в целом.

#0
16:05, 21 апр 2012

Привет всем. Подскажите пожалуйста кто знает в чём может быть проблема glGetError после вызова любой OpenGL функции возвращает ошибку 1282 при этом всё работает но glViewport работает не так как должна, вызываю её так

    glViewport(40, 40, 60, 60);

но OpenGL рисует по всей поверхности окна
в чём может быть дело???
Помогите пожалуйста!!

#1
17:10, 21 апр 2012

С glBegin/glEnd проблемы. Где-то glBegin не закрыл.

#2
18:29, 21 апр 2012

эта ошибка начинаеться с момента инициализации OpenGL

вот здесь

pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
  pfd.nVersion = 1;
  pfd.dwFlags  = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
  pfd.dwLayerMask = PFD_MAIN_PLANE;
  pfd.iPixelType  = PFD_TYPE_RGBA;
  pfd.cColorBits  = 32;
  pfd.cDepthBits  = 32;
  pfd.cAccumBits  = 0;
  pfd.cStencilBits = 0;

  GLenum oerr = glGetError();
  iPixelFormat = ChoosePixelFormat(hDC, &pfd);
  oerr = glGetError();

  SetPixelFormat(hDC, iPixelFormat, &pfd);
  oerr = glGetError();

  g_hRC = wglCreateContext(hDC);
  oerr = glGetError();

  wglMakeCurrent(hDC, g_hRC);
  oerr = glGetError();

  MainWindowResize(S_Size<long>(100, 100));
#3
19:43, 21 апр 2012
oerr = glGetError();

Что это? Все, что начинается с wgl не устанавливает флагов ошибок внутри OpenGL. А значит, glGetError не будет возвращать корректное значение. В этом коде даже контекст еще не создан, а функция OpenGL уже вызывается.

#4
19:52, 21 апр 2012

Решил вопрос обходным путём))

#5
20:34, 21 апр 2012

Ingener74
DirectX начал юзать? ....тролло

#6
20:50, 21 апр 2012

Нет кое где нашёл ошибку и сделал окно по другому))

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

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