1 program SimpleLoadFromFile;
6 {$IFDEF UNIX}{$IFDEF UseCThreads}
9 Classes, Windows, SysUtils, dglOpenGL, glBitmap, Helper;
12 oglWindow: TOpenGLWindow;
13 running: Boolean = true;
17 function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
24 result := DefWindowProc(hWnd, Msg, wParam, lParam);
30 glColor4f(1, 1, 1, 1);
32 glTexCoord2f(0, 0); glVertex2f(100, 100);
33 glTexCoord2f(1, 0); glVertex2f(700, 100);
34 glTexCoord2f(1, 1); glVertex2f(700, 500);
35 glTexCoord2f(0, 1); glVertex2f(100, 500);
41 oglWindow := CreateOpenGLWindow('SimpleLoadFromFile', 800, 600, @WindowProc);
43 tex := TglBitmap2D.Create; // create texture object
44 data := TglBitmapData.Create; // create texture data object
46 data.LoadFromFile( // load texture data from file
47 ExtractFilePath(ApplicationName) +
48 '../textures/BMP_24_RGB8.bmp');
49 tex.UploadData(data); // upload data to video card
51 FreeAndNil(data); // after upload is done, the data object could be freed to save memory
54 while running and ProgressMesages do begin
56 SwapBuffers(oglWindow.DC);
60 DestroyOpenGLWindow(oglWindow);