i'm trying to display a texture from a image created in memory (a checker). what i have wrote is:
subroutine makeCheckImage()
common/tex/checkImage
integer*1 checkImage(64,64,4)
integer*4 i, j, c,k
do i = 1,64
do j = 1,64
k=i+64*(j-1)
c = 100*mod(k,2)
checkImage(i,j,1) = c;
checkImage(i,j,2) = c;
checkImage(i,j,3) = c;
checkImage(i,j,4) = 100;
enddo
enddo
end
subroutine initForTexture()
common/tex/checkImage
integer*1 checkImage(64,64,4)
integer GL_UNSIGNED_BYTE
PARAMETER (GL_UNSIGNED_BYTE = z'1401')
integer*4 GL_RGBA
PARAMETER (GL_RGBA = z'1908')
integer*4 GL_TEXTURE_MIN_FILTER
PARAMETER (GL_TEXTURE_MIN_FILTER = z'2801')
INTEGER*4 GL_NEAREST
PARAMETER (GL_NEAREST = z'2600')
INTEGER*4 GL_TEXTURE_MAG_FILTER
PARAMETER (GL_TEXTURE_MAG_FILTER = z'2800')
INTEGER*4 GL_TEXTURE_WRAP_T
PARAMETER (GL_TEXTURE_WRAP_T = z'2803')
INTEGER*4 GL_REPEAT
PARAMETER (GL_REPEAT = z'2901')
INTEGER*4 GL_TEXTURE_WRAP_S
PARAMETER (GL_TEXTURE_WRAP_S = z'2802')
INTEGER*4 GL_TEXTURE_2D
PARAMETER (GL_TEXTURE_2D = z'0DE1')
INTEGER*4 GL_UNPACK_ALIGNMENT
PARAMETER (GL_UNPACK_ALIGNMENT = z'0CF5')
INTEGER*4 GL_DEPTH_TEST
PARAMETER (GL_DEPTH_TEST = z'0B71')
INTEGER*4 GL_FLAT
PARAMETER (GL_FLAT = z'1D00')
STDCALL GLENABLE 'glEnable' (VAL)
STDCALL GLTEXIMAGE2D
. 'glTexImage2D' (VAL,VAL,VAL,VAL,VAL,VAL,VAL,VAL,REF)
STDCALL GLPIXELSTOREI 'glPixelStorei' (VAL,VAL)
STDCALL GLGENTEXTURES 'glGenTextures' (VAL,REF)
STDCALL GLBINDTEXTURE 'glBindTexture' (VAL,VAL)
STDCALL GLCLEARCOLOR 'glClearColor' (VAL,VAL,VAL,VAL)
STDCALL GLSHADEMODEL 'glShadeModel' (VAL)
STDCALL GLVERTEX3F 'glVertex3f' (VAL,VAL,VAL)
STDCALL GLTEXENVF 'glTexEnvf' (VAL,VAL,VAL)
STDCALL GLBEGIN 'glBegin' (VAL)
STDCALL GLTEXPARAMETERI 'glTexParameteri' (VAL,VAL,VAL)
integer texName(1)
call glClearColor (0.0, 0.0, 0.0, 0.0);
call glShadeModel(GL_FLAT);
call glEnable(GL_DEPTH_TEST);
call makeCheckImage();
call glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
call glGenTextures(1, texName);
call glBindTexture(GL_TEXTURE_2D, texName(1));
call glTexParameteri(GL_TEXTURE_2D,
. GL_TEXTURE_WRAP_S, GL_REPEAT);
call glTexParameteri(GL_TEXTURE_2D,
. GL_TEXTURE_WRAP_T, GL_REPEAT);
call glTexParameteri(GL_TEXTURE_2D,
. GL_TEXTURE_MAG_FILTER, GL_NEAREST);
call glTexParameteri(GL_TEXTURE_2D,
. GL_TEXTURE_MIN_FILTER, GL_NEAREST);
! glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, checkImageWidth, checkImageHeight,
! 0, GL_RGBA, GL_UNSIGNED_BYTE, checkImage);
call glTexImage2D(GL_TEXTURE_2D, 0, 4, 64,
. 64, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkImage);
end