| @@ -1008,13 +1008,11 @@ type | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| TglBitmap2D = class(TglBitmap) | TglBitmap2D = class(TglBitmap) | ||||
| protected | protected | ||||
| // Bildeinstellungen | |||||
| fLines: array of PByte; | fLines: array of PByte; | ||||
| function GetScanline(const aIndex: Integer): Pointer; | function GetScanline(const aIndex: Integer): Pointer; | ||||
| procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; | procedure SetDataPointer(var aData: PByte; const aFormat: TglBitmapFormat; | ||||
| const aWidth: Integer = - 1; const aHeight: Integer = - 1); override; | const aWidth: Integer = - 1; const aHeight: Integer = - 1); override; | ||||
| procedure UploadData(const aBuildWithGlu: Boolean); | |||||
| procedure UploadData(const aTarget: GLenum; const aBuildWithGlu: Boolean); | |||||
| public | public | ||||
| property Width; | property Width; | ||||
| property Height; | property Height; | ||||
| @@ -1033,34 +1031,25 @@ type | |||||
| const aScale: Single = 2; const aUseAlpha: Boolean = false); | const aScale: Single = 2; const aUseAlpha: Boolean = false); | ||||
| end; | end; | ||||
| (* TODO | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| TglBitmapCubeMap = class(TglBitmap2D) | TglBitmapCubeMap = class(TglBitmap2D) | ||||
| protected | protected | ||||
| fGenMode: Integer; | fGenMode: Integer; | ||||
| // Hide GenTexture | |||||
| procedure GenTexture(TestTextureSize: Boolean = true); reintroduce; | |||||
| procedure GenTexture(const aTestTextureSize: Boolean = true); reintroduce; | |||||
| public | public | ||||
| procedure AfterConstruction; override; | procedure AfterConstruction; override; | ||||
| procedure GenerateCubeMap(CubeTarget: Cardinal; TestTextureSize: Boolean = true); | |||||
| procedure Unbind(DisableTexCoordsGen: Boolean = true; DisableTextureUnit: Boolean = true); reintroduce; virtual; | |||||
| procedure Bind(EnableTexCoordsGen: Boolean = true; EnableTextureUnit: Boolean = true); reintroduce; virtual; | |||||
| procedure GenerateCubeMap(const aCubeTarget: Cardinal; const aTestTextureSize: Boolean = true); | |||||
| procedure Bind(const aEnableTexCoordsGen: Boolean = true; const aEnableTextureUnit: Boolean = true); reintroduce; virtual; | |||||
| procedure Unbind(const aDisableTexCoordsGen: Boolean = true; const aDisableTextureUnit: Boolean = true); reintroduce; virtual; | |||||
| end; | end; | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| TglBitmapNormalMap = class(TglBitmapCubeMap) | TglBitmapNormalMap = class(TglBitmapCubeMap) | ||||
| public | public | ||||
| procedure AfterConstruction; override; | procedure AfterConstruction; override; | ||||
| procedure GenerateNormalMap(Size: Integer = 32; TestTextureSize: Boolean = true); | |||||
| procedure GenerateNormalMap(const aSize: Integer = 32; const aTestTextureSize: Boolean = true); | |||||
| end; | end; | ||||
| *) | |||||
| const | const | ||||
| NULL_SIZE: TglBitmapPixelPosition = (Fields: []; X: 0; Y: 0); | NULL_SIZE: TglBitmapPixelPosition = (Fields: []; X: 0; Y: 0); | ||||
| @@ -7575,7 +7564,7 @@ begin | |||||
| end; | end; | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| procedure TglBitmap2D.UploadData(const aBuildWithGlu: Boolean); | |||||
| procedure TglBitmap2D.UploadData(const aTarget: GLenum; const aBuildWithGlu: Boolean); | |||||
| var | var | ||||
| FormatDesc: TFormatDescriptor; | FormatDesc: TFormatDescriptor; | ||||
| begin | begin | ||||
| @@ -7583,12 +7572,12 @@ begin | |||||
| FormatDesc := TFormatDescriptor.Get(Format); | FormatDesc := TFormatDescriptor.Get(Format); | ||||
| if FormatDesc.IsCompressed then begin | if FormatDesc.IsCompressed then begin | ||||
| glCompressedTexImage2D(Target, 0, FormatDesc.glInternalFormat, Width, Height, 0, FormatDesc.GetSize(fDimension), Data) | |||||
| glCompressedTexImage2D(aTarget, 0, FormatDesc.glInternalFormat, Width, Height, 0, FormatDesc.GetSize(fDimension), Data) | |||||
| end else if aBuildWithGlu then begin | end else if aBuildWithGlu then begin | ||||
| gluBuild2DMipmaps(Target, FormatDesc.Components, Width, Height, | |||||
| gluBuild2DMipmaps(aTarget, FormatDesc.Components, Width, Height, | |||||
| FormatDesc.glFormat, FormatDesc.glDataFormat, Data) | FormatDesc.glFormat, FormatDesc.glDataFormat, Data) | ||||
| end else begin | end else begin | ||||
| glTexImage2D(Target, 0, FormatDesc.glInternalFormat, Width, Height, 0, | |||||
| glTexImage2D(aTarget, 0, FormatDesc.glInternalFormat, Width, Height, 0, | |||||
| FormatDesc.glFormat, FormatDesc.glDataFormat, Data); | FormatDesc.glFormat, FormatDesc.glDataFormat, Data); | ||||
| end; | end; | ||||
| @@ -7694,7 +7683,7 @@ begin | |||||
| CreateId; | CreateId; | ||||
| SetupParameters(BuildWithGlu); | SetupParameters(BuildWithGlu); | ||||
| UploadData(BuildWithGlu); | |||||
| UploadData(Target, BuildWithGlu); | |||||
| glAreTexturesResident(1, @fID, @fIsResident); | glAreTexturesResident(1, @fID, @fIsResident); | ||||
| end; | end; | ||||
| end; | end; | ||||
| @@ -7983,20 +7972,15 @@ begin | |||||
| end; | end; | ||||
| end; | end; | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| //TglBitmapCubeMap//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapCubeMap.GenTexture(const aTestTextureSize: Boolean); | |||||
| begin | |||||
| Assert(false, 'TglBitmapCubeMap.GenTexture - Don''t call GenTextures directly.'); | |||||
| end; | |||||
| (* | |||||
| { TglBitmapCubeMap } | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapCubeMap.AfterConstruction; | procedure TglBitmapCubeMap.AfterConstruction; | ||||
| begin | begin | ||||
| inherited; | inherited; | ||||
| @@ -8004,80 +7988,64 @@ begin | |||||
| if not (GL_VERSION_1_3 or GL_ARB_texture_cube_map or GL_EXT_texture_cube_map) then | if not (GL_VERSION_1_3 or GL_ARB_texture_cube_map or GL_EXT_texture_cube_map) then | ||||
| raise EglBitmapException.Create('TglBitmapCubeMap.AfterConstruction - CubeMaps are unsupported.'); | raise EglBitmapException.Create('TglBitmapCubeMap.AfterConstruction - CubeMaps are unsupported.'); | ||||
| SetWrap; // set all to GL_CLAMP_TO_EDGE | |||||
| Target := GL_TEXTURE_CUBE_MAP; | |||||
| SetWrap; | |||||
| Target := GL_TEXTURE_CUBE_MAP; | |||||
| fGenMode := GL_REFLECTION_MAP; | fGenMode := GL_REFLECTION_MAP; | ||||
| end; | end; | ||||
| procedure TglBitmapCubeMap.Bind(EnableTexCoordsGen, EnableTextureUnit: Boolean); | |||||
| begin | |||||
| inherited Bind (EnableTextureUnit); | |||||
| if EnableTexCoordsGen then begin | |||||
| glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glEnable(GL_TEXTURE_GEN_S); | |||||
| glEnable(GL_TEXTURE_GEN_T); | |||||
| glEnable(GL_TEXTURE_GEN_R); | |||||
| end; | |||||
| end; | |||||
| procedure TglBitmapCubeMap.GenerateCubeMap(CubeTarget: Cardinal; TestTextureSize: Boolean); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapCubeMap.GenerateCubeMap(const aCubeTarget: Cardinal; const aTestTextureSize: Boolean); | |||||
| var | var | ||||
| glFormat, glInternalFormat, glType: Cardinal; | |||||
| BuildWithGlu: Boolean; | BuildWithGlu: Boolean; | ||||
| TexSize: Integer; | TexSize: Integer; | ||||
| begin | begin | ||||
| // Check Texture Size | |||||
| if (TestTextureSize) then begin | |||||
| if (aTestTextureSize) then begin | |||||
| glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, @TexSize); | glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, @TexSize); | ||||
| if ((Height > TexSize) or (Width > TexSize)) then | |||||
| if (Height > TexSize) or (Width > TexSize) then | |||||
| raise EglBitmapSizeToLargeException.Create('TglBitmapCubeMap.GenTexture - The size for the Cubemap is to large. It''s may be not conform with the Hardware.'); | raise EglBitmapSizeToLargeException.Create('TglBitmapCubeMap.GenTexture - The size for the Cubemap is to large. It''s may be not conform with the Hardware.'); | ||||
| if not ((IsPowerOfTwo (Height) and IsPowerOfTwo (Width)) or GL_VERSION_2_0 or GL_ARB_texture_non_power_of_two) then | |||||
| if not ((IsPowerOfTwo(Height) and IsPowerOfTwo(Width)) or GL_VERSION_2_0 or GL_ARB_texture_non_power_of_two) then | |||||
| raise EglBitmapNonPowerOfTwoException.Create('TglBitmapCubeMap.GenTexture - Cubemaps dosn''t support non power of two texture.'); | raise EglBitmapNonPowerOfTwoException.Create('TglBitmapCubeMap.GenTexture - Cubemaps dosn''t support non power of two texture.'); | ||||
| end; | end; | ||||
| // create Texture | |||||
| if ID = 0 then begin | |||||
| if (ID = 0) then | |||||
| CreateID; | CreateID; | ||||
| SetupParameters(BuildWithGlu); | |||||
| end; | |||||
| SelectFormat(InternalFormat, glFormat, glInternalFormat, glType); | |||||
| UploadData (CubeTarget, glFormat, glInternalFormat, glType, BuildWithGlu); | |||||
| SetupParameters(BuildWithGlu); | |||||
| UploadData(aCubeTarget, BuildWithGlu); | |||||
| end; | end; | ||||
| procedure TglBitmapCubeMap.GenTexture(TestTextureSize: Boolean); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapCubeMap.Bind(const aEnableTexCoordsGen: Boolean; const aEnableTextureUnit: Boolean); | |||||
| begin | begin | ||||
| Assert(false, 'TglBitmapCubeMap.GenTexture - Don''t call GenTextures directly.'); | |||||
| inherited Bind (aEnableTextureUnit); | |||||
| if aEnableTexCoordsGen then begin | |||||
| glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glTexGeni(GL_R, GL_TEXTURE_GEN_MODE, fGenMode); | |||||
| glEnable(GL_TEXTURE_GEN_S); | |||||
| glEnable(GL_TEXTURE_GEN_T); | |||||
| glEnable(GL_TEXTURE_GEN_R); | |||||
| end; | |||||
| end; | end; | ||||
| procedure TglBitmapCubeMap.Unbind(DisableTexCoordsGen, | |||||
| DisableTextureUnit: Boolean); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapCubeMap.Unbind(const aDisableTexCoordsGen: Boolean; const aDisableTextureUnit: Boolean); | |||||
| begin | begin | ||||
| inherited Unbind (DisableTextureUnit); | |||||
| if DisableTexCoordsGen then begin | |||||
| inherited Unbind(aDisableTextureUnit); | |||||
| if aDisableTexCoordsGen then begin | |||||
| glDisable(GL_TEXTURE_GEN_S); | glDisable(GL_TEXTURE_GEN_S); | ||||
| glDisable(GL_TEXTURE_GEN_T); | glDisable(GL_TEXTURE_GEN_T); | ||||
| glDisable(GL_TEXTURE_GEN_R); | glDisable(GL_TEXTURE_GEN_R); | ||||
| end; | end; | ||||
| end; | end; | ||||
| { TglBitmapNormalMap } | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| //TglBitmapNormalMap////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| type | type | ||||
| TVec = Array[0..2] of Single; | TVec = Array[0..2] of Single; | ||||
| TglBitmapNormalMapGetVectorFunc = procedure (var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| TglBitmapNormalMapGetVectorFunc = procedure (out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| PglBitmapNormalMapRec = ^TglBitmapNormalMapRec; | PglBitmapNormalMapRec = ^TglBitmapNormalMapRec; | ||||
| TglBitmapNormalMapRec = record | TglBitmapNormalMapRec = record | ||||
| @@ -8085,62 +8053,63 @@ type | |||||
| Func: TglBitmapNormalMapGetVectorFunc; | Func: TglBitmapNormalMapGetVectorFunc; | ||||
| end; | end; | ||||
| procedure glBitmapNormalMapPosX(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapPosX(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := HalfSize; | |||||
| Vec[1] := - (Position.Y + 0.5 - HalfSize); | |||||
| Vec[2] := - (Position.X + 0.5 - HalfSize); | |||||
| aVec[0] := aHalfSize; | |||||
| aVec[1] := - (aPosition.Y + 0.5 - aHalfSize); | |||||
| aVec[2] := - (aPosition.X + 0.5 - aHalfSize); | |||||
| end; | end; | ||||
| procedure glBitmapNormalMapNegX(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapNegX(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := - HalfSize; | |||||
| Vec[1] := - (Position.Y + 0.5 - HalfSize); | |||||
| Vec[2] := Position.X + 0.5 - HalfSize; | |||||
| aVec[0] := - aHalfSize; | |||||
| aVec[1] := - (aPosition.Y + 0.5 - aHalfSize); | |||||
| aVec[2] := aPosition.X + 0.5 - aHalfSize; | |||||
| end; | end; | ||||
| procedure glBitmapNormalMapPosY(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapPosY(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := Position.X + 0.5 - HalfSize; | |||||
| Vec[1] := HalfSize; | |||||
| Vec[2] := Position.Y + 0.5 - HalfSize; | |||||
| aVec[0] := aPosition.X + 0.5 - aHalfSize; | |||||
| aVec[1] := aHalfSize; | |||||
| aVec[2] := aPosition.Y + 0.5 - aHalfSize; | |||||
| end; | end; | ||||
| procedure glBitmapNormalMapNegY(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapNegY(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := Position.X + 0.5 - HalfSize; | |||||
| Vec[1] := - HalfSize; | |||||
| Vec[2] := - (Position.Y + 0.5 - HalfSize); | |||||
| aVec[0] := aPosition.X + 0.5 - aHalfSize; | |||||
| aVec[1] := - aHalfSize; | |||||
| aVec[2] := - (aPosition.Y + 0.5 - aHalfSize); | |||||
| end; | end; | ||||
| procedure glBitmapNormalMapPosZ(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapPosZ(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := Position.X + 0.5 - HalfSize; | |||||
| Vec[1] := - (Position.Y + 0.5 - HalfSize); | |||||
| Vec[2] := HalfSize; | |||||
| aVec[0] := aPosition.X + 0.5 - aHalfSize; | |||||
| aVec[1] := - (aPosition.Y + 0.5 - aHalfSize); | |||||
| aVec[2] := aHalfSize; | |||||
| end; | end; | ||||
| procedure glBitmapNormalMapNegZ(var Vec: TVec; const Position: TglBitmapPixelPosition; const HalfSize: Integer); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapNegZ(out aVec: TVec; const aPosition: TglBitmapPixelPosition; const aHalfSize: Integer); | |||||
| begin | begin | ||||
| Vec[0] := - (Position.X + 0.5 - HalfSize); | |||||
| Vec[1] := - (Position.Y + 0.5 - HalfSize); | |||||
| Vec[2] := - HalfSize; | |||||
| aVec[0] := - (aPosition.X + 0.5 - aHalfSize); | |||||
| aVec[1] := - (aPosition.Y + 0.5 - aHalfSize); | |||||
| aVec[2] := - aHalfSize; | |||||
| end; | end; | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure glBitmapNormalMapFunc(var FuncRec: TglBitmapFunctionRec); | procedure glBitmapNormalMapFunc(var FuncRec: TglBitmapFunctionRec); | ||||
| var | var | ||||
| Vec : TVec; | |||||
| i: Integer; | |||||
| Vec: TVec; | |||||
| Len: Single; | Len: Single; | ||||
| begin | begin | ||||
| with FuncRec do begin | with FuncRec do begin | ||||
| with PglBitmapNormalMapRec (CustomData)^ do begin | |||||
| with PglBitmapNormalMapRec(Args)^ do begin | |||||
| Func(Vec, Position, HalfSize); | Func(Vec, Position, HalfSize); | ||||
| // Normalize | // Normalize | ||||
| @@ -8158,66 +8127,62 @@ begin | |||||
| end; | end; | ||||
| // Set Color | // Set Color | ||||
| Dest.Red := Round(Vec[0] * 255); | |||||
| Dest.Green := Round(Vec[1] * 255); | |||||
| Dest.Blue := Round(Vec[2] * 255); | |||||
| for i := 0 to 2 do | |||||
| Dest.Data.arr[i] := Round(Vec[i] * 255); | |||||
| end; | end; | ||||
| end; | end; | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapNormalMap.AfterConstruction; | procedure TglBitmapNormalMap.AfterConstruction; | ||||
| begin | begin | ||||
| inherited; | inherited; | ||||
| fGenMode := GL_NORMAL_MAP; | fGenMode := GL_NORMAL_MAP; | ||||
| end; | end; | ||||
| procedure TglBitmapNormalMap.GenerateNormalMap(Size: Integer; | |||||
| TestTextureSize: Boolean); | |||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| procedure TglBitmapNormalMap.GenerateNormalMap(const aSize: Integer; const aTestTextureSize: Boolean); | |||||
| var | var | ||||
| Rec: TglBitmapNormalMapRec; | Rec: TglBitmapNormalMapRec; | ||||
| SizeRec: TglBitmapPixelPosition; | SizeRec: TglBitmapPixelPosition; | ||||
| begin | begin | ||||
| Rec.HalfSize := Size div 2; | |||||
| Rec.HalfSize := aSize div 2; | |||||
| FreeDataAfterGenTexture := false; | FreeDataAfterGenTexture := false; | ||||
| SizeRec.Fields := [ffX, ffY]; | SizeRec.Fields := [ffX, ffY]; | ||||
| SizeRec.X := Size; | |||||
| SizeRec.Y := Size; | |||||
| SizeRec.X := aSize; | |||||
| SizeRec.Y := aSize; | |||||
| // Positive X | // Positive X | ||||
| Rec.Func := glBitmapNormalMapPosX; | Rec.Func := glBitmapNormalMapPosX; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_X, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_X, aTestTextureSize); | |||||
| // Negative X | // Negative X | ||||
| Rec.Func := glBitmapNormalMapNegX; | Rec.Func := glBitmapNormalMapNegX; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, aTestTextureSize); | |||||
| // Positive Y | // Positive Y | ||||
| Rec.Func := glBitmapNormalMapPosY; | Rec.Func := glBitmapNormalMapPosY; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, aTestTextureSize); | |||||
| // Negative Y | // Negative Y | ||||
| Rec.Func := glBitmapNormalMapNegY; | Rec.Func := glBitmapNormalMapNegY; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, aTestTextureSize); | |||||
| // Positive Z | // Positive Z | ||||
| Rec.Func := glBitmapNormalMapPosZ; | Rec.Func := glBitmapNormalMapPosZ; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, aTestTextureSize); | |||||
| // Negative Z | // Negative Z | ||||
| Rec.Func := glBitmapNormalMapNegZ; | Rec.Func := glBitmapNormalMapNegZ; | ||||
| LoadFromFunc (SizeRec, glBitmapNormalMapFunc, ifBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, TestTextureSize); | |||||
| LoadFromFunc(SizeRec, glBitmapNormalMapFunc, tfBGR8, @Rec); | |||||
| GenerateCubeMap(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, aTestTextureSize); | |||||
| end; | end; | ||||
| *) | |||||
| initialization | initialization | ||||
| glBitmapSetDefaultFormat(tfEmpty); | glBitmapSetDefaultFormat(tfEmpty); | ||||