2
// This unit is part of the GLScene Engine https://github.com/glscene
5
Good for preview picture in OpenDialog,
6
so you may include both O3TCImage (preview) and GLFileO3TC (loading)
8
23/10/10 - Yar - Removed PBuffer
9
23/08/10 - Yar - Changes after PBuffer upgrade
10
21/03/10 - Yar - Added Linux support
11
(thanks to Rustam Asmandiarov aka Predator)
12
24/01/10 - Yar - Improved FPC compatibility
13
21/01/10 - Yar - Creation
36
TO3TCImage = class(TGLBitmap)
39
procedure LoadFromStream(stream: TStream); override;
40
procedure SaveToStream(stream: TStream); override;
51
// ------------------ TO3TCImage ------------------
57
procedure TO3TCImage.LoadFromStream(stream: TStream);
59
FullO3TC: TGLO3TCImage;
64
FullO3TC := TGLO3TCImage.Create;
66
FullO3TC.LoadFromStream(stream);
74
Width := FullO3TC.LevelWidth[0];
75
Height := FullO3TC.LevelHeight[0];
77
PixelFormat := glpf32bit;
81
rimg.Description.Init_BPP32_B8G8R8A8_BIO_TTB(Width, Height);
82
rimg.Description.RedShift := 16;
83
rimg.Description.BlueShift := 0;
84
rimg.Description.LineOrder := riloBottomToTop;
85
RIMG.DataSize := Width * Height * 4;
86
rimg.Data := PByte(FullO3TC.Data);
87
LoadFromRawImage(rimg, false);
95
procedure TO3TCImage.SaveToStream(stream: TStream);
97
Assert(False, 'Not supported');
100
// ------------------------------------------------------------------
101
// ------------------------------------------------------------------
102
// ------------------------------------------------------------------
104
// ------------------------------------------------------------------
105
// ------------------------------------------------------------------
106
// ------------------------------------------------------------------
108
TGLPicture.RegisterFileFormat(
109
'o3tc', 'oZone3D Texture Compression', TO3TCImage);
111
// ------------------------------------------------------------------
112
// ------------------------------------------------------------------
113
// ------------------------------------------------------------------
115
// ------------------------------------------------------------------
116
// ------------------------------------------------------------------
117
// ------------------------------------------------------------------
119
TGLPicture.UnregisterGraphicClass(TO3TCImage);