当前位置: 首页 > news >正文

【OSG学习笔记】Day 8: 纹理贴图——赋予模型细节

在这里插入图片描述

在 OSG(Open Scene Graph)中,纹理贴图是为模型添加细节的关键技术,主要涉及纹理加载UV 映射多重纹理叠加三部分。

基础理论

纹理加载

纹理的作用,就是将2D图像映射到3D模型表面,增强视觉细节。

纹理类型与格式支持:

OSG 支持多种图像格式,包括常见的 .jpg/.jpeg、.png、.tga、.bmp 等,推荐使用 .png(支持透明通道)或 .dds(压缩格式,性能更优)。

代码示例

第一步:创建并加载纹理
// 创建2D纹理对象
ref_ptr<Texture2D> texture = new Texture2D;// 从文件加载图像数据(自动识别格式)
ref_ptr<Image> image = osgDB::readImageFile("texture.png");
if (!image) {OSG_WARN << "Failed to load texture image!" << std::endl;return nullptr;
}// 绑定图像到纹理
texture->setImage(image);
第二步:将纹理关联到几何体
// 创建Geode节点并绑定纹理
ref_ptr<Geode> geode = new Geode;
geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, texture.get());// 添加几何体(如四边形)
ref_ptr<Geometry> geometry = new Geometry;
geode->addDrawable(geometry);

UV 映射原理

UV 坐标:范围为 [0, 1],用于指定纹理像素在模型表面的对应位置(U 为横向,V 为纵向)。

作用:控制纹理如何 “包裹” 模型,避免拉伸、扭曲或错位。

手动设置 UV 坐标

// 假设几何体为四边形,顶点坐标为(-1,-1,0), (1,-1,0), (1,1,0), (-1,1,0)
ref_ptr<Vec3Array> vertices = new Vec3Array;
vertices->push_back(Vec3(-1, -1, 0));
vertices->push_back(Vec3(1, -1, 0));
vertices->push_back(Vec3(1, 1, 0));
vertices->push_back(Vec3(-1, 1, 0));
geometry->setVertexArray(vertices);// 设置UV坐标(与顶点一一对应)
ref_ptr<Vec2Array> texCoords = new Vec2Array;
texCoords->push_back(Vec2(0, 0));   // 左下角对应纹理原点
texCoords->push_back(Vec2(1, 0));   // 右下角
texCoords->push_back(Vec2

相关文章:

  • vue2项目,为什么开发环境打包出来的js文件名是1.js 2.js,而生产环境打包出来的是chunk-3adddd.djncjdhcbhdc.js
  • 头歌之动手学人工智能-机器学习 --- PCA
  • SIGGRAPH投稿相关官方指导
  • Python 读取 txt 文件详解 with ... open()
  • Python torchvision.datasets 下常用数据集配置和使用方法
  • 如何根据需求选择合适的氢气监测分析仪?
  • C++ Lambda 表达式
  • 24FIC 决赛 计算机部分
  • SAP SuccessFactors Recruiting and Onboarding The Comprehensive Guide
  • [250423] Caddy 2.10 正式发布:引入 ECH、后量子加密等重要更新
  • 基于javaweb的SpringBoot校园服务平台系统设计与实现(源码+文档+部署讲解)
  • 差分探头关键性能参数解析
  • 【Python语言基础】24、并发编程
  • 单片机 + 图像处理芯片 + TFT彩屏 触摸滑动条控件
  • github 简单访问方法(无魔法)
  • YOLOv8 涨点新方案:SlideLoss FocalLoss 优化,小目标检测效果炸裂!
  • LeetCode算法题(Go语言实现)_60
  • 【python】一文掌握 markitdown 库的操作(用于将文件和办公文档转换为Markdown的Python工具)
  • 第1讲:Transformers 的崛起:从RNN到Self-Attention
  • 【AI提示词】艺人顾问
  • 长三角数智文化产业基金意向签约会成功举办
  • 乐聚创始人:人形机器人当前要考虑泡沫问题,年底或将进入冷静期
  • 见微知沪|最大力度消费补贴,最大程度满足人们对美好生活的向往
  • 俄外长拉夫罗夫将出席金砖国家外长会
  • 人民日报:外卖平台应保障好骑手就业权益,消除后顾之忧
  • 董明珠的接班人还是董明珠