⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texture.cpp

📁 最新osg包
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                fw.indent() << "internalFormatMode " << Texture_getInternalFormatModeStr(texture.getInternalFormatMode()) << std::endl;    if (texture.getInternalFormatMode()==Texture::USE_USER_DEFINED_FORMAT)    {        const char* str = Texture_getInternalFormatStr(texture.getInternalFormat());        if (str) fw.indent() << "internalFormat " << str << std::endl;        else fw.indent() << "internalFormat " << texture.getInternalFormat() << std::endl;    }        if (texture.getSourceFormat())    {        const char* str = Texture_getInternalFormatStr(texture.getSourceFormat());        if (str) fw.indent() << "sourceFormat " << str << std::endl;        else fw.indent() << "sourceFormat " << texture.getSourceFormat() << std::endl;            }    if (texture.getSourceType())    {        const char* str = Texture_getSourceTypeStr(texture.getSourceType());        if (str) fw.indent() << "sourceType " << str << std::endl;        else fw.indent() << "sourceType " << texture.getSourceType() << std::endl;            }    fw.indent() << "resizeNonPowerOfTwo "<< (texture.getResizeNonPowerOfTwoHint()?"TRUE":"FALSE") << std::endl;    return true;}bool Texture_matchWrapStr(const char* str,Texture::WrapMode& wrap){    if (strcmp(str,"CLAMP")==0) wrap = Texture::CLAMP;    else if (strcmp(str,"CLAMP_TO_EDGE")==0) wrap = Texture::CLAMP_TO_EDGE;    else if (strcmp(str,"CLAMP_TO_BORDER")==0) wrap = Texture::CLAMP_TO_BORDER;    else if (strcmp(str,"REPEAT")==0) wrap = Texture::REPEAT;    else if (strcmp(str,"MIRROR")==0) wrap = Texture::MIRROR;    else return false;    return true;}const char* Texture_getWrapStr(Texture::WrapMode wrap){    switch(wrap)    {        case(Texture::CLAMP): return "CLAMP";        case(Texture::CLAMP_TO_EDGE): return "CLAMP_TO_EDGE";        case(Texture::CLAMP_TO_BORDER): return "CLAMP_TO_BORDER";        case(Texture::REPEAT): return "REPEAT";        case(Texture::MIRROR): return "MIRROR";    }    return "";}bool Texture_matchFilterStr(const char* str,Texture::FilterMode& filter){    if (strcmp(str,"NEAREST")==0) filter = Texture::NEAREST;    else if (strcmp(str,"LINEAR")==0) filter = Texture::LINEAR;    else if (strcmp(str,"NEAREST_MIPMAP_NEAREST")==0) filter = Texture::NEAREST_MIPMAP_NEAREST;    else if (strcmp(str,"LINEAR_MIPMAP_NEAREST")==0) filter = Texture::LINEAR_MIPMAP_NEAREST;    else if (strcmp(str,"NEAREST_MIPMAP_LINEAR")==0) filter = Texture::NEAREST_MIPMAP_LINEAR;    else if (strcmp(str,"LINEAR_MIPMAP_LINEAR")==0) filter = Texture::LINEAR_MIPMAP_LINEAR;    else if (strcmp(str,"ANISOTROPIC")==0) filter = Texture::LINEAR;    else return false;    return true;}const char* Texture_getFilterStr(Texture::FilterMode filter){    switch(filter)    {        case(Texture::NEAREST): return "NEAREST";        case(Texture::LINEAR): return "LINEAR";        case(Texture::NEAREST_MIPMAP_NEAREST): return "NEAREST_MIPMAP_NEAREST";        case(Texture::LINEAR_MIPMAP_NEAREST): return "LINEAR_MIPMAP_NEAREST";        case(Texture::NEAREST_MIPMAP_LINEAR): return "NEAREST_MIPMAP_LINEAR";        case(Texture::LINEAR_MIPMAP_LINEAR): return "LINEAR_MIPMAP_LINEAR";    }    return "";}bool Texture_matchInternalFormatModeStr(const char* str,Texture::InternalFormatMode& mode){    if (strcmp(str,"USE_IMAGE_DATA_FORMAT")==0)          mode = Texture::USE_IMAGE_DATA_FORMAT;    else if (strcmp(str,"USE_USER_DEFINED_FORMAT")==0)   mode = Texture::USE_USER_DEFINED_FORMAT;    else if (strcmp(str,"USE_ARB_COMPRESSION")==0)       mode = Texture::USE_ARB_COMPRESSION;    else if (strcmp(str,"USE_S3TC_DXT1_COMPRESSION")==0) mode = Texture::USE_S3TC_DXT1_COMPRESSION;    else if (strcmp(str,"USE_S3TC_DXT3_COMPRESSION")==0) mode = Texture::USE_S3TC_DXT3_COMPRESSION;    else if (strcmp(str,"USE_S3TC_DXT5_COMPRESSION")==0) mode = Texture::USE_S3TC_DXT5_COMPRESSION;    else return false;    return true;}const char* Texture_getInternalFormatModeStr(Texture::InternalFormatMode mode){    switch(mode)    {        case(Texture::USE_IMAGE_DATA_FORMAT):        return "USE_IMAGE_DATA_FORMAT";        case(Texture::USE_USER_DEFINED_FORMAT):      return "USE_USER_DEFINED_FORMAT";        case(Texture::USE_ARB_COMPRESSION):          return "USE_ARB_COMPRESSION";        case(Texture::USE_S3TC_DXT1_COMPRESSION):    return "USE_S3TC_DXT1_COMPRESSION";        case(Texture::USE_S3TC_DXT3_COMPRESSION):    return "USE_S3TC_DXT3_COMPRESSION";        case(Texture::USE_S3TC_DXT5_COMPRESSION):    return "USE_S3TC_DXT5_COMPRESSION";    }    return "";}bool Texture_matchInternalFormatStr(const char* str,int& value){    if (     strcmp(str,"GL_INTENSITY")==0) value = GL_INTENSITY;    else if (strcmp(str,"GL_LUMINANCE")==0) value = GL_LUMINANCE;    else if (strcmp(str,"GL_ALPHA")==0) value = GL_ALPHA;    else if (strcmp(str,"GL_LUMINANCE_ALPHA")==0) value = GL_LUMINANCE_ALPHA;    else if (strcmp(str,"GL_RGB")==0) value = GL_RGB;    else if (strcmp(str,"GL_RGBA")==0) value = GL_RGBA;    else if (strcmp(str,"GL_COMPRESSED_ALPHA_ARB")==0) value = GL_COMPRESSED_ALPHA_ARB;    else if (strcmp(str,"GL_COMPRESSED_LUMINANCE_ARB")==0) value = GL_COMPRESSED_LUMINANCE_ARB;    else if (strcmp(str,"GL_COMPRESSED_INTENSITY_ARB")==0) value = GL_COMPRESSED_INTENSITY_ARB;    else if (strcmp(str,"GL_COMPRESSED_LUMINANCE_ALPHA_ARB")==0) value = GL_COMPRESSED_LUMINANCE_ALPHA_ARB;    else if (strcmp(str,"GL_COMPRESSED_RGB_ARB")==0) value = GL_COMPRESSED_RGB_ARB;    else if (strcmp(str,"GL_COMPRESSED_RGBA_ARB")==0) value = GL_COMPRESSED_RGBA_ARB;    else if (strcmp(str,"GL_COMPRESSED_RGB_S3TC_DXT1_EXT")==0) value = GL_COMPRESSED_RGB_S3TC_DXT1_EXT;    else if (strcmp(str,"GL_COMPRESSED_RGBA_S3TC_DXT1_EXT")==0) value = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;    else if (strcmp(str,"GL_COMPRESSED_RGBA_S3TC_DXT3_EXT")==0) value = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;    else if (strcmp(str,"GL_COMPRESSED_RGBA_S3TC_DXT5_EXT")==0) value = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;    else    {        osgDB::Field::FieldType type = osgDB::Field::calculateFieldType(str);        if (type==osgDB::Field::INTEGER)        {            value = atoi(str);            return true;        }        else        {            return false;        }    }    return true;}const char* Texture_getInternalFormatStr(int value){    switch(value)    {        case(GL_INTENSITY): return "GL_INTENSITY";        case(GL_LUMINANCE): return "GL_LUMINANCE";        case(GL_ALPHA): return "GL_ALPHA";        case(GL_LUMINANCE_ALPHA): return "GL_LUMINANCE_ALPHA";        case(GL_RGB): return "GL_RGB";        case(GL_RGBA): return "GL_RGBA";        case(GL_COMPRESSED_ALPHA_ARB): return "GL_COMPRESSED_ALPHA_ARB";        case(GL_COMPRESSED_LUMINANCE_ARB): return "GL_COMPRESSED_LUMINANCE_ARB";        case(GL_COMPRESSED_INTENSITY_ARB): return "GL_COMPRESSED_INTENSITY_ARB";        case(GL_COMPRESSED_LUMINANCE_ALPHA_ARB): return "GL_COMPRESSED_LUMINANCE_ALPHA_ARB";        case(GL_COMPRESSED_RGB_ARB): return "GL_COMPRESSED_RGB_ARB";        case(GL_COMPRESSED_RGBA_ARB): return "GL_COMPRESSED_RGBA_ARB";        case(GL_COMPRESSED_RGB_S3TC_DXT1_EXT): return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT";        case(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT): return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT";        case(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT): return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT";        case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT): return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT";    }    return NULL;}bool Texture_matchSourceTypeStr(const char* str,int& value){    if (     strcmp(str,"GL_BYTE")==0) value = GL_BYTE;    else if (strcmp(str,"GL_SHORT")==0) value = GL_SHORT;    else if (strcmp(str,"GL_INT")==0) value = GL_INT;    else if (strcmp(str,"GL_UNSIGNED_BYTE")==0) value = GL_UNSIGNED_BYTE;    else if (strcmp(str,"GL_UNSIGNED_SHORT")==0) value = GL_UNSIGNED_SHORT;    else if (strcmp(str,"GL_UNSIGNED_INT")==0) value = GL_UNSIGNED_INT;    else if (strcmp(str,"GL_FLOAT")==0) value = GL_FLOAT;    else    {        osgDB::Field::FieldType type = osgDB::Field::calculateFieldType(str);        if (type==osgDB::Field::INTEGER)        {            value = atoi(str);            return true;        }        else        {            return false;        }    }    return true;}const char* Texture_getSourceTypeStr(int value){    switch(value)    {        case(GL_BYTE): return "GL_BYTE";        case(GL_SHORT): return "GL_SHORT";        case(GL_INT): return "GL_INT";        case(GL_FLOAT): return "GL_FLOAT";        case(GL_UNSIGNED_BYTE): return "GL_UNSIGNED_BYTE";        case(GL_UNSIGNED_SHORT): return "GL_UNSIGNED_SHORT";        case(GL_UNSIGNED_INT): return "GL_UNSIGNED_INT";    }    return NULL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -