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 | 各向异性纹理过滤值(可选) |