Attempt to connect glad to free pascal opengl 4 6 Error at startup Wrong number of parameters specified for call to gladLoadGL

112 Views Asked by At
program project1;    

{$mode objfpc}{$H+}    

uses    
  {$IFDEF UNIX}    
  cthreads,    
  {$ENDIF}    
  {$IFDEF HASAMIGA}    
  athreads,    
  {$ENDIF}    
{$R *.res}    
    
  Strings,Windows,glad_gl;    
      const    
  AppName = 'WinHello';    
    
    
  function start():boolean;    
  begin    
  if not gladLoadGL() then    
  begin    
    ExitCode := -1;    
    Exit;    
  end;    
  glClearColor(0.2, 0.3, 0.4, 1.0);    
  ExitCode := 0;    
                      end;   


function WindowProc(Window: HWnd; AMessage: UINT; WParam : WPARAM;
                    LParam: LPARAM): LRESULT; stdcall; export;

     dc : hdc;
     ps : paintstruct;
     r : rect;


begin
  WindowProc := 0;

  case AMessage of
    wm_paint:
      begin
         dc:=BeginPaint(Window,@ps);
         GetClientRect(Window,@r);
         DrawText(dc,'Proba',-1,@r,
           DT_SINGLELINE or DT_CENTER or DT_VCENTER);
         EndPaint(Window,ps);
         Exit;
      end;
    wm_Destroy:
      begin
         PostQuitMessage(0);
         Exit;
      end;
  end;

  WindowProc := DefWindowProc(Window, AMessage, WParam, LParam);
end;


function WinRegister: Boolean;
var
  WindowClass: WndClass;
begin
  WindowClass.Style := cs_hRedraw or cs_vRedraw;
  WindowClass.lpfnWndProc := WndProc(@WindowProc);
  WindowClass.cbClsExtra := 0;
  WindowClass.cbWndExtra := 0;
  WindowClass.hInstance := system.MainInstance;
  WindowClass.hIcon := LoadIcon(0, idi_Application);
  WindowClass.hCursor := LoadCursor(0, idc_Arrow);
  WindowClass.hbrBackground := GetStockObject(WHITE_BRUSH);
  WindowClass.lpszMenuName := nil;
  WindowClass.lpszClassName := AppName;

  Result := RegisterClass(WindowClass) <> 0;
end;


function WinCreate: HWnd;
var
  hWindow: HWnd;
begin
  hWindow := CreateWindow(AppName, 'AppProba',
              ws_OverlappedWindow, cw_UseDefault, cw_UseDefault,
              cw_UseDefault, cw_UseDefault, 0, 0, system.MainInstance, nil);

  if hWindow <> 0 then begin
    ShowWindow(hWindow, CmdShow);
    ShowWindow(hWindow, SW_SHOW);
    UpdateWindow(hWindow);
  end;

  Result := hWindow;
end;


var
  AMessage: Msg;
  hWindow: HWnd;

begin
  if not WinRegister then begin
    MessageBox(0, 'Register failed', nil, mb_Ok);
    Exit;
  end;
  hWindow := WinCreate;
  if longint(hWindow) = 0 then begin
    MessageBox(0, 'WinCreate failed', nil, mb_Ok);
    Exit;
  end;

  while GetMessage(@AMessage, 0, 0, 0) do begin
    TranslateMessage(AMessage);
    DispatchMessage(AMessage);
  end;
  Halt(AMessage.wParam);

  glBegin(GL_TRIANGLES);
    glColor3f(1.0, 0.0, 0.0);
    glVertex3f(-1.0, -1.0, -2.0);

    glColor3f(0.0, 1.0, 0.0);
    glVertex3f( 0.0,  1.0, -2.0);

    glColor3f(0.0, 0.0, 1.0);
    glVertex3f( 1.0, -1.0, -2.0);
  glEnd();
end.      

project1.lpr(21,10) Error: Wrong number of parameters specified for call to "gladLoadGL"

glad_gl.pas(4264,10) Error: Found declaration: gladLoadGL(TLoadProc):Boolean;

APIs: gl=4.6
Profile: compatibility  
AIDE Lazarus 
FPC 3.2.2

I wanted to draw a triangle.

I just started learning programming. I was interested in the free pascal programming language because of the simplicity of interface

0

There are 0 best solutions below