version 1.19 | | version 1.20 |
---|
| | |
char data[1024*1024]; | | char data[1024*1024]; |
// w1=w;h1=h; | | // w1=w;h1=h; |
w1=grd_curscreen->sc_w;h1=grd_curscreen->sc_h; | | w1=grd_curscreen->sc_w;h1=grd_curscreen->sc_h; |
if (ogl_readpixels_ok){ | | if (ogl_readpixels_ok>0){ |
OGL_DISABLE(TEXTURE_2D); | | OGL_DISABLE(TEXTURE_2D); |
glReadBuffer(GL_FRONT); | | glReadBuffer(GL_FRONT); |
glReadPixels(0,0,grd_curscreen->sc_w,grd_curscreen->sc_h,GL_RGB,GL_UNSIGNED_BYTE,texbuf); | | glReadPixels(0,0,grd_curscreen->sc_w,grd_curscreen->sc_h,GL_RGB,GL_UNSIGNED_BYTE,texbuf); |
| | |
sx+=src->bm_x; | | sx+=src->bm_x; |
sy+=src->bm_y; | | sy+=src->bm_y; |
#if 1//also seems to cause a mess. need to look into it a bit more.. | | #if 1//also seems to cause a mess. need to look into it a bit more.. |
if (ogl_readpixels_ok){ | | if (ogl_readpixels_ok>0){ |
OGL_DISABLE(TEXTURE_2D); | | OGL_DISABLE(TEXTURE_2D); |
glReadBuffer(GL_FRONT); | | glReadBuffer(GL_FRONT); |
// glReadPixels(0,0,w,h,GL_RGB,GL_UNSIGNED_BYTE,texbuf); | | // glReadPixels(0,0,w,h,GL_RGB,GL_UNSIGNED_BYTE,texbuf); |
| | |
} | | } |
| | |
int tex_format_supported(int iformat,int format){ | | int tex_format_supported(int iformat,int format){ |
| | switch (iformat){ |
| | case GL_INTENSITY4: |
| | if (!ogl_intensity4_ok) return 0; break; |
| | case GL_LUMINANCE4_ALPHA4: |
| | if (!ogl_luminance4_alpha4_ok) return 0; break; |
| | case GL_RGBA2: |
| | if (!ogl_rgba2_ok) return 0; break; |
| | } |
| | if (ogl_gettexlevelparam_ok){ |
int internalFormat; | | int internalFormat; |
glTexImage2D(GL_PROXY_TEXTURE_2D, 0, iformat, 64, 64, 0, | | glTexImage2D(GL_PROXY_TEXTURE_2D, 0, iformat, 64, 64, 0, |
format, GL_UNSIGNED_BYTE, texbuf);//NULL? | | format, GL_UNSIGNED_BYTE, texbuf);//NULL? |
| | |
GL_TEXTURE_INTERNAL_FORMAT, | | GL_TEXTURE_INTERNAL_FORMAT, |
&internalFormat); | | &internalFormat); |
return (internalFormat==iformat); | | return (internalFormat==iformat); |
| | }else |
| | return 1; |
} | | } |
| | |
//little hack to find the largest or equal multiple of 2 for a given number | | //little hack to find the largest or equal multiple of 2 for a given number |