NXP писал(а):А у вас не Radeon?
Vendor: Tungsten Graphics, Inc.
Renderer: Mesa DRI Intel(R) 945GM 20061017 x86/MMX/SSE2
Version: 1.3 Mesa 7.0.3-rc2
Добавлено спустя 2 минуты 24 секунды:NXP писал(а):проверьте, описаны ли эти методы в источнике (файл gl??.pas), вдруг она Load_GL_ARB_MULTISAMPLE = nil
Проверил, все в порядке... описание присутствует!
Добавлено спустя 3 часа 10 минут 5 секунд:Думаю, стоит привести исходный код примера, который (если я все правильно понимаю) должен работать со сглаживанием. Из текста программы выбросил все лишнее, просто рисуется сфера в режиме
wire.
- Код: Выделить всё
program multisampling;
{$mode objfpc}{$H+}
uses gl, glu, glut, glext;
const FSMode = '640x480:32@60';
procedure InitializeGL;
begin
glClearColor(0.5, 0.5, 0.5, 0.5);
glEnable(GL_DEPTH_TEST);
end;
procedure DrawGLScene; cdecl;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glEnable(GL_Multisample_ARB);
glutWireSphere(40,15,15);
glDisable(GL_Multisample_ARB);
glutSwapBuffers;
end;
procedure ReSizeGLScene(Width, Height: Integer); cdecl;
begin
if Height = 0 then
Height := 1;
glViewport(0, 0, Width, Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity;
gluPerspective(45, Width / Height, 0.1, 1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
gluLookAt(0, 200, 300, 0, 0, 0, 0, 1, 0);
end;
procedure GLKeyboard(Key: Byte; X, Y: Longint); cdecl;
begin
if Key = 27 then
begin
glutLeaveGameMode;
Halt(0);
end;
end;
procedure glutInitPascal(ParseCmdLine: Boolean);
var
Cmd: array of PChar;
CmdCount, I: Integer;
begin
if ParseCmdLine then
CmdCount := ParamCount + 1
else
CmdCount := 1;
SetLength(Cmd, CmdCount);
for I := 0 to CmdCount - 1 do
Cmd[I] := PChar(ParamStr(I));
glutInit(@CmdCount, @Cmd);
end;
begin
glutInitPascal(False);
glutInitDisplayMode(GLUT_DOUBLE or GLUT_RGB or GLUT_DEPTH);
glutGameModeString(FSMode);
glutEnterGameMode;
glutSetCursor(GLUT_CURSOR_NONE);
InitializeGL;
Load_GL_ARB_MULTISAMPLE;
glutDisplayFunc(@DrawGLScene);
glutReshapeFunc(@ReSizeGLScene);
glutKeyboardFunc(@GLKeyboard);
glutIdleFunc(@DrawGLScene);
glutMainLoop;
end.
Первый раз пробую использовать gl-расширения, так что если какая глупость в коде - сразу приношу свои извинения.