Артефакты в OpenGL

программирование C++ Delphi OpenGL

Сделал программу на Delphi 5, используя uses OpenGL - все работает отлично.
Переделал ее на С++ Builder 6, используя #include <gl\gl.h> #include <gl\glu.h> (не меняя ничего кроме синтаксиса), но она глючит, при перерисовке, изображение не стираеться и на экране появляеться много артефактов. Что это может быть? Кто сталкивался с подобным?

Артефакты выглидят вот так: http://cs325.vkontakte.ru/u2994901/15009354/x_e01df8f4.jpg

И при закрытии этой программы в среде С++ Builder выскакивает сообщение: Access violation и т.д.

Может это про Builder глючный? Я его скачал из интернета.


Примечание:
Каракуль, glClear перепробовал для всего - результат тот же.

Примечание:
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

Примечание:
BOOL bSetupPixelFormat(HDC hdc)
{
PIXELFORMATDESCRIPTOR pfd, *ppfd;
int pixelformat;

ppfd = &pfd;

ppfd->nSize = sizeof(PIXELFORMATDESCRIPTOR);
ppfd->nVersion = 1;
ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
ppfd->dwLayerMask = PFD_MAIN_PLANE;
ppfd->iPixelType = PFD_TYPE_RGBA;
ppfd->cColorBits = 24;
ppfd->cDepthBits = 32;
ppfd->cAccumBits = 64;
ppfd->cStencilBits = 64;
ppfd->cAlphaBits=64;
if ((pixelformat = ChoosePixelFormat(hdc, ppfd)) == 0)
{
MessageBox(NULL, "ChoosePixelFormat failed", "Error", MB_OK);
return FALSE;
}
if (SetPixelFormat(hdc, pixelformat, ppfd) == FALSE)
{
MessageBox(NULL, "SetPixelFormat failed", "Error", MB_OK);
return FALSE;
}
if ((pixelformat = ChoosePixelFormat(hdc, ppfd)) != 0)
{
SetPixelFormat(ghDC, pixelformat, ppfd);
}
return TRUE;
}
Ответы:
а что там с указателями?
Покажи код.
glClear делаешь для GL_COLOR_BUFFER_BIT?


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.