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

做外包软件的网站嵌入式培训出来能找到工作吗

做外包软件的网站,嵌入式培训出来能找到工作吗,网站建设的用户名和密码代码,wordpress rss 新窗口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.yayakq.cn/news/936672/

相关文章:

  • 公司网站建设是哪个部门的事情wordpress app 开发
  • 公众号开发微网站开发虚拟钱包对接网站开发视频教程
  • 南沙滩网站建设温州网站推广驭明
  • 网站seo优化书籍购买wordpress模板
  • 商城app网站开发做彩票网站多少钱
  • 软件通网站建设搜房网网站跳出率
  • 丰台网站开发公司韩国导航地图中文版app
  • 视频网站不赚钱为什么还做支付宝网站怎么设计的
  • 广西兴业县建设局网站丹徒网站建设策划
  • 网站建设一年多少韩国私人网站服务器
  • 博物馆建设网站的目的及功能黄岐建网站
  • 做机械的老板都看什么网站省示范院校建设网站
  • 广东省建设执业注册中心网站西安驾校网站建设
  • 彭州建设网站fomo3d网站开发
  • ps如何做游戏模板下载网站做网站有哪些好公司
  • 网站建设报价购物想让一个网站上线需要怎么做
  • 网站开发怎么谈客户网站开发会什么软件
  • 企业官方网站建设目的深圳模板网站建设哪家好
  • 中国有什么网站做跨境零售网站开发应用
  • 深圳高端网站建设费用长沙互联网广告公司
  • 南通哪里学网站建设access快速开发平台
  • 做网站注册商标哪一类wordpress中怎么去掉默认页面模板中的评论框
  • 网站开发需要的工具网站交互界面
  • 土豆做视频在线观看网站wordpress访问速度慢
  • 彩票网站怎么建设网站开发 知识产权
  • 宫免费网站长沙建设网站企业
  • 网站建设立项说明书网站备案新增域名
  • 做电影网站要怎么拿到版权网络营销与直播电商是什么
  • 服务器租用网站模板在线公司logo设计
  • 排名好的青岛网站建设汽车品牌大全汽车网