本文整理汇总了C++中GLTexture::unlockTexture方法的典型用法代码示例。如果您正苦于以下问题:C++ GLTexture::unlockTexture方法的具体用法?C++ GLTexture::unlockTexture怎么用?C++ GLTexture::unlockTexture使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLTexture
的用法示例。
在下文中一共展示了GLTexture::unlockTexture方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: glTexSubImage2D
void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels)
{
bool is_set = false;
#ifdef _DEBUG
return;
#endif
#if 1 // no mipmap
if (level > 0)
return;
#endif
if (!GLImpl.tmus[GLImpl.current_tmu].boundtexture) {
printf("Not texture binded\n");
return;
}
GLImpl.device->SetTexture(0, NULL);
GLTexture * surf = NULL;
if (GLImpl.tmus[GLImpl.current_tmu].boundtexture && GLImpl.tmus[GLImpl.current_tmu].boundtexture->teximg ) {
surf = GLImpl.tmus[GLImpl.current_tmu].boundtexture->teximg;
}
if (surf) {
int srcbytes = src_format_to_bypp(format);
int dstbytes = dst_format_to_bypp(GLImpl.tmus[GLImpl.current_tmu].boundtexture->internalformat);
BYTE * surfbuf;
BYTE * srcdata = (BYTE*) pixels;
BYTE * dstdata;
surf->lockTexture(level);
srcdata = (BYTE*) pixels;
surfbuf = (BYTE*)surf->getData();
dstdata = (BYTE*)surf->getData();
check_format(srcbytes, dstbytes);
copyImage(xoffset, yoffset, width, height, srcdata, srcbytes, surfbuf, dstbytes);
surf->unlockTexture(level);
GLImpl.tmus[GLImpl.current_tmu].boundtexture->dirty = 1;
}
}