osg.Texture2D是一种OpenSceneGraph的纹理类型,它表示一个二维的纹理贴图。
#include <osg/Texture2D>
osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D;
texture->setDataVariance(osg::Object::DYNAMIC); // 设置数据可变性为动态
texture->setWrap(osg::Texture::WRAP_S, osg::Texture::REPEAT); // 设置S方向的纹理环绕方式为重复
texture->setWrap(osg::Texture::WRAP_T, osg::Texture::REPEAT); // 设置T方向的纹理环绕方式为重复
texture->setFilter(osg::Texture::MIN_FILTER, osg::Texture::LINEAR_MIPMAP_LINEAR); // 设置MIP贴图的最小过滤方式为线性三线性过滤
texture->setFilter(osg::Texture::MAG_FILTER, osg::Texture::LINEAR); // 设置MIP贴图的最大过滤方式为线性过滤
可以设置 osg.Texture2D 的参数:
setDataVariance(DataVariance value): 设置数据可变性为指定值。可选值为:DYNAMIC、STATIC、UNSPECIFIED(默认)setWrap(WrapParameter param, WrapMode value): 设置纹理环绕方式为指定值。其中,param可选值为:WRAP_S(默认)、WRAP_T,value可选值为:CLAMP(默认)、REPEAT、CLAMP_TO_EDGE、MIRROR、MIRROR_ONCE。setFilter(FilterParameter param, FilterMode value): 设置MIP贴图的过滤方式为指定值。其中,param可选值为:MAG_FILTER、MIN_FILTER(默认)、MIN_MIPMAP_FILTER,value可选值为:NEAREST、LINEAR、NEAREST_MIPMAP_NEAREST、LINEAR_MIPMAP_NEAREST、NEAREST_MIPMAP_LINEAR、LINEAR_MIPMAP_LINEAR。| 属性名称 | 类型 | 描述 |
|---|---|---|
GL_TEXTURE_2D |
GLenum | 纹理类型 |
GL_TEXTURE_WRAP_S |
GLenum | 纹理环绕方式(水平) |
GL_TEXTURE_WRAP_T |
GLenum | 纹理环绕方式(垂直) |
GL_TEXTURE_MAG_FILTER |
GLenum | MIP贴图的最大过滤方式 |
GL_TEXTURE_MIN_FILTER |
GLenum | MIP贴图的最小过滤方式 |
GL_TEXTURE_MAX_ANISOTROPY_EXT |
GLenum | 各向异性纹理过滤值(可选) |