本文整理汇总了C++中image::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ image::isValid方法的具体用法?C++ image::isValid怎么用?C++ image::isValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类image
的用法示例。
在下文中一共展示了image::isValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: jAssert
void texture4::loadImage( image &in )
{
jAssert( in.isValid() );
if( img != 0 )
{
glDeleteTextures( 1, &img );
}
width = in.width();
height = in.height();
float *tempBuf = new float[ 4 * width * height ];
glGenTextures( 1, &img );
glBindTexture( GL_TEXTURE_2D, img );
// select modulate to mix texture with color for shading
glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
for( unsigned int y=0; y<height; y++ )
{
for( unsigned int x=0; x<width; x++ )
{
struct image::colourPacket *here = in.at( x, y );
int base = 4 * ( x + y * width );
tempBuf[ base ] = here->r;
tempBuf[ base + 1 ] = here->g;
tempBuf[ base + 2 ] = here->b;
tempBuf[ base + 3 ] = here->a;
}
}
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_FLOAT, (const GLvoid *)tempBuf );
delete [] tempBuf;
}