C++/OpenGL
をテンプレートにして作成
ホーム
検索
最終更新
ヘルプ
Wiki書式ヘルプ(整形ルール)
開始行:
* OpenGL [#fc641faa]
#contents
** 対応しているテクスチャフォーマットを調べる。 [#z3f1f999]
#code(c,){{
namespace
{
void t_formatCheck(
const GLenum aInternalFormat
, const char* aInternalFormatName
, const GLenum aFormat
)
{
GLuint textureName;
// 前処理
glEnable(GL_TEXTURE_2D);
glGenTextures(1 , &textureName);
glBindTexture(GL_TEXTURE_2D , textureName);
// テクスチャ作成
glGetError();
glTexImage2D(
GL_PROXY_TEXTURE_2D , 0 , aInternalFormat , 4 , 4 ,
0 , aFormat , GL_UNSIGNED_BYTE , 0
);
if ( glGetError() == GL_NO_ERROR )
{
GLint red = 0, green = 0, blue = 0, alpha = 0, lu...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
printf( "%s: Success(%d,%d,%d,%d,%d,%d)\n"
, aInternalFormatName
, red , green , blue , alpha , luminance , in...
);
}
else
{
printf( "%s: Failure\n" , aInternalFormatName );
}
// 後処理
glDeleteTextures(1 , &textureName);
glDisable(GL_TEXTURE_2D);
};
#define FormatCheck( aInternalFormat , aFormat ) t_format...
void t_allFormatCheck()
{
FormatCheck( GL_ALPHA, GL_ALPHA );
FormatCheck( GL_ALPHA, GL_ALPHA4 );
FormatCheck( GL_ALPHA, GL_ALPHA8 );
FormatCheck( GL_ALPHA, GL_ALPHA12 );
FormatCheck( GL_ALPHA, GL_ALPHA16 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE4 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE8 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE12 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE16 );
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE6_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE8_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE8_ALPH...
FormatCheck( GL_LUMINANCE, GL_INTENSITY );
FormatCheck( GL_LUMINANCE, GL_INTENSITY4 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY8 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY12 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY16 );
FormatCheck( GL_RGB, GL_R3_G3_B2 );
FormatCheck( GL_RGB, GL_RGB4 );
FormatCheck( GL_RGB, GL_RGB5 );
FormatCheck( GL_RGB, GL_RGB8 );
FormatCheck( GL_RGB, GL_RGB10 );
FormatCheck( GL_RGB, GL_RGB12 );
FormatCheck( GL_RGB, GL_RGB16 );
FormatCheck( GL_RGBA, GL_RGBA2 );
FormatCheck( GL_RGBA, GL_RGBA4 );
FormatCheck( GL_RGBA, GL_RGB5_A1 );
FormatCheck( GL_RGBA, GL_RGBA8 );
FormatCheck( GL_RGBA, GL_RGB10_A2 );
FormatCheck( GL_RGBA, GL_RGBA12 );
FormatCheck( GL_RGBA, GL_RGBA16 );
}
}
}}
終了行:
* OpenGL [#fc641faa]
#contents
** 対応しているテクスチャフォーマットを調べる。 [#z3f1f999]
#code(c,){{
namespace
{
void t_formatCheck(
const GLenum aInternalFormat
, const char* aInternalFormatName
, const GLenum aFormat
)
{
GLuint textureName;
// 前処理
glEnable(GL_TEXTURE_2D);
glGenTextures(1 , &textureName);
glBindTexture(GL_TEXTURE_2D , textureName);
// テクスチャ作成
glGetError();
glTexImage2D(
GL_PROXY_TEXTURE_2D , 0 , aInternalFormat , 4 , 4 ,
0 , aFormat , GL_UNSIGNED_BYTE , 0
);
if ( glGetError() == GL_NO_ERROR )
{
GLint red = 0, green = 0, blue = 0, alpha = 0, lu...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
glGetTexLevelParameteriv(GL_PROXY_TEXTURE_2D, 0, ...
printf( "%s: Success(%d,%d,%d,%d,%d,%d)\n"
, aInternalFormatName
, red , green , blue , alpha , luminance , in...
);
}
else
{
printf( "%s: Failure\n" , aInternalFormatName );
}
// 後処理
glDeleteTextures(1 , &textureName);
glDisable(GL_TEXTURE_2D);
};
#define FormatCheck( aInternalFormat , aFormat ) t_format...
void t_allFormatCheck()
{
FormatCheck( GL_ALPHA, GL_ALPHA );
FormatCheck( GL_ALPHA, GL_ALPHA4 );
FormatCheck( GL_ALPHA, GL_ALPHA8 );
FormatCheck( GL_ALPHA, GL_ALPHA12 );
FormatCheck( GL_ALPHA, GL_ALPHA16 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE4 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE8 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE12 );
FormatCheck( GL_LUMINANCE, GL_LUMINANCE16 );
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE6_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE8_ALPH...
FormatCheck( GL_LUMINANCE_ALPHA, GL_LUMINANCE8_ALPH...
FormatCheck( GL_LUMINANCE, GL_INTENSITY );
FormatCheck( GL_LUMINANCE, GL_INTENSITY4 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY8 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY12 );
FormatCheck( GL_LUMINANCE, GL_INTENSITY16 );
FormatCheck( GL_RGB, GL_R3_G3_B2 );
FormatCheck( GL_RGB, GL_RGB4 );
FormatCheck( GL_RGB, GL_RGB5 );
FormatCheck( GL_RGB, GL_RGB8 );
FormatCheck( GL_RGB, GL_RGB10 );
FormatCheck( GL_RGB, GL_RGB12 );
FormatCheck( GL_RGB, GL_RGB16 );
FormatCheck( GL_RGBA, GL_RGBA2 );
FormatCheck( GL_RGBA, GL_RGBA4 );
FormatCheck( GL_RGBA, GL_RGB5_A1 );
FormatCheck( GL_RGBA, GL_RGBA8 );
FormatCheck( GL_RGBA, GL_RGB10_A2 );
FormatCheck( GL_RGBA, GL_RGBA12 );
FormatCheck( GL_RGBA, GL_RGBA16 );
}
}
}}
ページ名: