纹理贴图的步骤:
1.创建纹理对象,并为其指定一个纹理
2.确定纹理如何应用到每个像素上
3.启用纹理贴图功能
4.绘制场景、提供纹理和几何坐标
OSG纹理:
过滤(Filter):详细解释了当纹理应用于多边形的像素时是如何放大或缩小的
enume FilterParameter
{
MIN_FILTER//用于缩小
MAG_FILTER//用于放大
}
enume FilterMode
{
LINEAR = GL_LINEAR//以周围4个像素的平均值作为纹理
//使用线性均和计算两个纹理的值
LINEAR_MIPMAP_LINEAR = GL_LIMEAR_MIPMAP_LINEAR
//线性的改写临近的纹理单元值
LINEAR_MIPMAP_NEARES = GL_LINEAR_MIPMAP_NEAREST
NEARST = GL_NEAREST//取比较接近的像素作为纹理
//在两个纹理中选择最邻近的纹理,并取它们之间的线性均和值
NEAREST_MIPMAP_LINEAR =GL_NEAREST_MIPMAP_LINEAR
//选择最邻近的纹理单元
NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST
}
enum WrapParameter
{
WRAP_S, //x轴
WRAP_T,//y轴
WRAP_R //z轴
}
enum WrapMode {
CLAMP = GL_CLAMP,//截取
CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,//边框始终被忽略
//它使用的纹理取自图像的边框,没有边框就使用常量边框颜色
CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER_ARB,
REPEAT = GL_REPEAT, //纹理的重复映射
MIRROR = GL_MIRRORED_REPEAT_IBM //纹理镜像的重复映射
}