Это да. У меня теперь другая проблема, пробую рисовать, используя OpenGL, создал форму, кинул на неё ScrollBox, на него кинул OpenGLControl. Срызу задач Range для скролбаров(хотел посмотреть, как будет работать прокрутка), нарисовал треугольник. Но когда двигаю ползунками скроллбара, на самом изображении вы лазят какие-то артефакты, как будто на изображении просвечивают какие-то окна, или скроллбары... что-то такое...(в момент когда я двигаю ползунком). Что это может быть, косяк компоненты, среды, дров, или я просто что-то не до инициализировал? Причём артефакты наблюдались и когда просто запустил приложение, но ещё ничего не выводил, эффект был, будто он не перетирается(знаете, когда окном шевелишь, и оно остаётся не прорисованым, когда рисонок как бы следует за движением мышки ) Вот немножко кода:
- Код: Выделить всё
procedure TForm1.OnMainFormCreate(Sender : TObject);
var
w, h : Integer;
begin
{ Init OpenGL }
w := 1000;
h := 1000;
glClearColor( 0.0, 0.0, 0.0, 0.0 );
glViewport( 0, 0, w, h );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
ScrollBox.VertScrollBar.Range := h;
ScrollBox.HorzScrollBar.Range := w;
end;
{ Событие OnPaint OpenGLControl }
procedure TForm1.OpenGLControlPaint(Sender : TObject);
begin
glClear(GL_COLOR_BUFFER_BIT );
glColor3f( 1.0, 0.0, 0.0 );
glBegin(GL_TRIANGLES);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(-1.0, -1.0, 0.0);
glVertex3f(1.0, -1.0, 0.0);
glEnd();
OpenGLControl.SwapBuffers;
end;
У вас нет необходимых прав для просмотра вложений в этом сообщении.