Don't use glTexSubImage2D unless we really have to

db4
Slava Pestov 2009-04-09 08:23:05 -05:00
parent bcddec30a7
commit 9efa1e0c31
1 changed files with 9 additions and 5 deletions

View File

@ -36,10 +36,12 @@ TUPLE: single-texture image dim loc texture-coords texture display-list disposed
[ next-power-of-2 ] map [ next-power-of-2 ] map
] unless ; ] unless ;
: (tex-image) ( image -- ) : (tex-image) ( image bitmap -- )
[ GL_TEXTURE_2D 0 GL_RGBA ] dip [
[ dim>> adjust-texture-dim first2 0 ] [ GL_TEXTURE_2D 0 GL_RGBA ] dip
[ component-order>> component-order>format f ] bi [ dim>> adjust-texture-dim first2 0 ]
[ component-order>> component-order>format ] bi
] dip
glTexImage2D ; glTexImage2D ;
: (tex-sub-image) ( image -- ) : (tex-sub-image) ( image -- )
@ -53,7 +55,9 @@ TUPLE: single-texture image dim loc texture-coords texture display-list disposed
gen-texture [ gen-texture [
GL_TEXTURE_BIT [ GL_TEXTURE_BIT [
GL_TEXTURE_2D swap glBindTexture GL_TEXTURE_2D swap glBindTexture
[ (tex-image) ] [ (tex-sub-image) ] bi non-power-of-2-textures? get
[ dup bitmap>> (tex-image) ]
[ [ f (tex-image) ] [ (tex-sub-image) ] bi ] if
] do-attribs ] do-attribs
] keep ; ] keep ;