- Код: Выделить всё
function CreateTexture2D(Level, Components : GLint; TexWidth, TexHeight : GLsizei; Border : GLint; Format, Type: GLenum; PData : Pointer; TexID : GLuint = 0; GenerateMipMaps : GLboolean = false; MipMapMaxLevel : GLint = 1024) : GLuint;
Если я вторым параметром передаю результат другой функции (function ilGetInteger(Mode: TILenum): TILint; stdcall; external OPENILDLL;):
- Код: Выделить всё
CreateTexture2D(0, ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL), TexWidth, TexHeight, 0, ImgFormat, GL_UNSIGNED_BYTE, PImgData, 0, GenerateMipMaps, MipMapMaxLevel);
то внутри функции CreateTexture2D параметр TexHeight равен 0, а не реально предаваемому значению.
А если через переменную:
- Код: Выделить всё
BPP := ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
Result := CreateTexture2D(0, BPP, TexWidth, TexHeight, 0, ImgFormat, GL_UNSIGNED_BYTE, PImgData, 0, GenerateMipMaps, MipMapMaxLevel);
Подскажите в чем дело?