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

深圳模板建站平台sem是什么意思的缩写

深圳模板建站平台,sem是什么意思的缩写,怎么做影视网站,遵义网站建设找工作osgText3D 三维立体文字比二维平面文字显示效果更好,相对二维平面文字,它有非常好的立体显示效果。 在实际虚拟现实项目中,过多使用三维立体文字会降低染效率,加重渲染负担,相对平面二维文字,它占用的内存是…

osgText3D

        三维立体文字比二维平面文字显示效果更好,相对二维平面文字,它有非常好的立体显示效果。

        在实际虚拟现实项目中,过多使用三维立体文字会降低染效率,加重渲染负担,相对平面二维文字,它占用的内存是非常大的。

 osgText::Text3D

        osgText::Text3D类继承自osgText::TextBase类,继承关系图如图9-8所示。

图9-8 osgText::Text3D的继承关系图

        从继承关系图可以看出它继承自 osgText::TextBase类,因此它具备普通二维文字的属性设置方法。它的方法与平面文字的创建方法基本一致,但它是有厚度的文字,并没有直接设置颜色的接口,可以通过设置材质来设置颜色。至于材质如何设置,可以参看前面的材质章节。在osgText::Text3D类中包含一个设置深度信息的函数,可以通过该函数设置立体文字的深度:

        void setCharacterDepth(float characterDepth);

        通过上面的说明,三维立体文字就创建了,没想到会这么简单,下面来看一个示例。

​​​​​​​ 3D汉字显示示例

        3D汉字显示(osgText::Text3D)示例的代码如程序清单9-5所示

1.	/*  3D汉字显示示例  */  
2.	osg::ref_ptr<osg::Geode> create3DText(const string &strDataFolder)  
3.	{  
4.	    osg::ref_ptr<osg::Geode> geode = new osg::Geode();  
5.	  
6.	    // 创建3D文字  
7.	    osg::ref_ptr<osgText::Text3D> text = new osgText::Text3D();  
8.	  
9.	    text->setText(L"http://www.OsgChina.osg-OpenScenseGraph 中国官方");  
10.	    string strFontPath = strDataFolder + "fonts\\simhei.ttf";  
11.	    text->setFont(strFontPath);  
12.	    text->setCharacterSize(60.0f);  
13.	    text->setPosition(osg::Vec3(0.0, 0.0, 0.0));  
14.	  
15.	    // 设置文字渲染模式  
16.	    text->setRenderMode(osgText::Text3D::PER_GLYPH);  
17.	  
18.	    // 设置文字深度  
19.	    text->setCharacterDepth(10.0);  
20.	    text->setDrawMode(osgText::Text3D::TEXT | osgText::Text3D::BOUNDINGBOX);  
21.	  
22.	    // 设置文字与坐标轴对齐方式  
23.	    text->setAxisAlignment(osgText::Text3D::XZ_PLANE);  
24.	  
25.	    geode->addDrawable(text.get());  
26.	  
27.	    // 设置材质  
28.	    osg::ref_ptr<osg::Material> front = new osg::Material;  
29.	    front->setColorMode(osg::Material::AMBIENT);  
30.	    front->setAlpha(osg::Material::FRONT_AND_BACK, 1);  
31.	    front->setAmbient(osg::Material::FRONT_AND_BACK, osg::Vec4(1.0, 1.0, 0.0, 1.0));  
32.	    front->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(1.0, 1.0, 0.0, 1.0));  
33.	    geode->getOrCreateStateSet()->setAttributeAndModes(front.get());  
34.	  
35.	    return geode.get();  
36.	}  
37.	  
38.	void osgText3D_9_5(const string &strDataFolder)  
39.	{  
40.	    osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();  
41.	    osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;  
42.	    traits->x = 40;  
43.	    traits->y = 40;  
44.	    traits->width = 600;  
45.	    traits->height = 480;  
46.	    traits->windowDecoration = true;  
47.	    traits->doubleBuffer = true;  
48.	    traits->sharedContext = 0;  
49.	  
50.	    osg::ref_ptr<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get());  
51.	  
52.	    osg::ref_ptr<osg::Camera> camera = viewer->getCamera();  
53.	    camera->setGraphicsContext(gc.get());  
54.	    camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height));  
55.	    GLenum buffer = traits->doubleBuffer ? GL_BACK : GL_FRONT;  
56.	    camera->setDrawBuffer(buffer);  
57.	    camera->setReadBuffer(buffer);  
58.	  
59.	    osg::ref_ptr<osg::Group> root = new osg::Group();  
60.	  
61.	    // 添加三维文字  
62.	    root->addChild(create3DText(strDataFolder));  
63.	  
64.	    // 优化场景数据  
65.	    osgUtil::Optimizer optimizer;  
66.	    optimizer.optimize(root.get());  
67.	    viewer->setSceneData(root.get());  
68.	    viewer->realize();  
69.	    viewer->run();  
70.	}  

        运行程序,截图如图 9-9 所示。

图9-9 3D汉字显示示例截图

http://www.fp688.cn/news/162029.html

相关文章:

  • wecenter整合Wordpress网站优化排名工具
  • 行业平台网站开发百度关键词排名点击
  • 不同类型网站优化网站推广优化业务
  • 定制化网站开发费用如何做关键词优化
  • 市场营销策略有哪4种seo技术 快速网站排名
  • wordpress+用js搜索引擎优化自然排名
  • 邢台做移动网站的公司免费建网站的步骤
  • php wordpress单本小说网站源码+采集软文街官方网站
  • 哈密建设局网站陕西seo关键词优化外包
  • 企业网站跟微信支付怎么做网站建设首页
  • 甘肃网站建设方案服务至上广告联盟怎么做
  • wordpress 授权插件长沙seo优化推荐
  • 网站套餐可以分摊吗吗北京网络营销策划公司
  • 那家b2c网站建设报价短视频矩阵seo系统源码
  • 网站开发基于百度地图seo自然优化排名
  • 网站建立时间怎么查谷歌账号
  • 网站建设移动端是什么意思市场营销策略
  • 沈阳网站建设公司自己怎么创建网站
  • 做药品的电商网站有哪些百度商城购物
  • 怎么做网站编辑网络营销推广的优势
  • 罗湖做网站报价网络营销实训总结报告
  • 做网站产品搜索展示实现福州短视频seo推荐
  • 柳州建设厅官方网站优化大师免费版
  • 个人网站备案建设方案书近两年成功的网络营销案例及分析
  • 网上做赌博网站吗广告联盟接单赚钱平台
  • 丽水网站建设费用搜索引擎有哪些?
  • 网站发布小说封面怎么做产品推广哪个平台好
  • 男女做那个网站全网整合营销平台
  • 做html5视频网站视频剪辑培训班学费一般多少
  • 没有工信部备案的网站是骗子吗龙岗百度快速排名