begin
oglWindow := CreateOpenGLWindow('SimpleLoadFromFile', 800, 600, @WindowProc);
try
- tex := TglBitmap2D.Create; // create texture object
- data := TglBitmapData.Create; // create texture data object
+ tex := TglBitmap2D.Create; // create texture object
+ data := TglBitmapData.Create; // create texture data object
try
- data.LoadFromFile( // load texture data from file
+ data.LoadFromFile( // load texture data from file
ExtractFilePath(ApplicationName) +
'../textures/BMP_24_RGB8.bmp');
- tex.UploadData(data); // upload data to video card
+ if not data.FormatDescriptor.HasOpenGLSupport then // check if format is supported by OpenGL
+ data.ConvertTo(data.FormatDescriptor.OpenGLFormat); // if not then convert
+ tex.UploadData(data); // upload data to video card
finally
- FreeAndNil(data); // after upload is done, the data object could be freed to save memory
+ FreeAndNil(data); // after upload is done, the data object could be freed to save memory
end;
while running and ProgressMesages do begin