国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

osg給Box添加材質(zhì)和紋理

2019-11-08 03:21:52
字體:
供稿:網(wǎng)友
#include<Windows.h>//要放在前面#include<osgDB/ReadFile>#include<osgViewer/Viewer>#include<osgGA/GUIEventAdapter>#include<osgViewer/ViewerEventHandlers>#include<osg/ShapeDrawable>#include<osg/Geode>#include<osg/StateSet>#include<osg/Image>#include<osg/Texture2D>#include<osg/Material>#include<iostream>osg::ref_ptr<osg::Geode> GreateBox(){	osg::ref_ptr<osg::Geode> geode = new osg::Geode;//Geode是Node的派生類,為了繪制圖元的管理類	osg::ref_ptr<osg::TessellationHints> hints = new osg::TessellationHints;//設(shè)置精度的類	osg::ref_ptr < osg::ShapeDrawable >shape = new osg::ShapeDrawable(new osg::Box(osg::Vec3(0.0,0.0,0.0),1.0,10.0,10.0),hints.get());	osg::ref_ptr<osg::Material> material = new osg::Material;	osg::ref_ptr<osg::Texture2D>texture2D = new osg::Texture2D;	osg::ref_ptr<osg::Image> image;	shape->setColor(osg::Vec4(0.5, 0.5, 0.5, 0.5));//顏色	hints->setDetailRatio(0.5);//設(shè)置精度	//設(shè)置材質(zhì)	material->setAmbient(osg::Material::FRONT_AND_BACK, osg::Vec4f(1.0, 1.0, 1.0, 0.7));//面向,和光照顏色第四個(gè)參數(shù)管透明度?	material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4f(1.0, 1.0, 1.0, 0.7));//混合	material->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4f(1.0, 1.0, 1.0, 0.7));//反射	material->setShininess(osg::Material::FRONT_AND_BACK, 60.0);//反射面積	//設(shè)置紋理	image = osgDB::readImageFile("Images/lz.rgp");//不知為啥我就是讀取不了jpg和png格式的圖片	if (image.valid())//看看能用不?	{		texture2D->setImage(image.get());	}	//把材質(zhì)放進(jìn)去,如果有就get狀態(tài),如果沒有就set	geode->getOrCreateStateSet()->setAttributeAndModes(material.get(), osg::StateAttribute::ON);	geode->getOrCreateStateSet()->setMode(GL_BLEND, osg::StateAttribute::ON);//透明	geode->getOrCreateStateSet()->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);//深度測(cè)試	geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, texture2D.get(), osg::StateAttribute::ON);	geode->addDrawable(shape.get());	return geode;}int main(){	osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;	viewer->setSceneData(GreateBox());		return viewer->run();}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 普宁市| 泰来县| 苏尼特右旗| 北安市| 嘉鱼县| 鹤峰县| 璧山县| 清新县| 肇州县| 水富县| 喀喇沁旗| 八宿县| 永昌县| 灯塔市| 定边县| 桂平市| 平原县| 吉林市| 炉霍县| 宁海县| 峨山| 上林县| 同心县| 夏邑县| 安康市| 潞西市| 德兴市| 昂仁县| 莱西市| 石渠县| 高要市| 蓬溪县| 普宁市| 海宁市| 文山县| 涿州市| 大冶市| 自贡市| 马公市| 红桥区| 辽阳市|