Показать сообщение отдельно
  #5  
Старый 19.04.2009, 20:04
Аватар для Excreman
Excreman Excreman вне форума
Прохожий
 
Регистрация: 06.11.2008
Сообщения: 21
Репутация: 10
По умолчанию

Попробовал по вашему способу , все также-мелькнул черный экран и обратно в дельфи Я попробовал максимально упростить программу , создав всего 2 процедуры-oncreate и onresize
Код:
procedure TForm14.FormCreate(Sender: TObject);
begin
DC := GetDC(Handle);
hrc:=wglCreateContext(DC);
wglMakeCurrent(DC,hrc);
glClearColor(0,0.5,0.75,1.0);
glClear(GL_COLOR_BUFFER_BIT) ;
glBegin(GL_TRIANGLES) ;
glColor3f(1,1,0.25);
glVertex2f(0,-0.8);
glVertex2f(-0.8,0.8);
glVertex2f(0.8,0.8);
glEnd();
wglMakeCurrent (0,0);
wglDeleteContext(hrc);
ReleaseDC(Handle, DC);
end;

procedure TForm14.FormResize(Sender: TObject);
begin
Formcreate(Sender);
end;
Может быть, я не туда поместил очистители(?) контекста
Код:
wglMakeCurrent (0,0);
wglDeleteContext(hrc);
ReleaseDC(Handle, DC);
Куда их надо совать?До начала рисования ,сразу после или на событии ondestroy?И кстати ,зачем нужно
ReleaseDC(Handle, DC)?
Ндя и еще. В какой последовательности мне нужно рисовать,допустим, желтый треугольник на синем фоне.Я имею ввиду цвет,координаты вершин. фон и прочее.
Если не получится, придется мне перейти на gdi
__________________
2 ОСНОВНЫХ ПРАВИЛА ФОРУМА
1)Админ всегда прав
2)Если админ не прав-смотри пункт 1
Ответить с цитированием