国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 寻甸| 班玛县| 连云港市| 阳城县| 唐河县| 江城| 尼木县| 周至县| 古田县| 阳泉市| 乾安县| 聂荣县| 遂平县| 山丹县| 探索| 威信县| 长阳| 资源县| 西平县| 友谊县| 连城县| 新宾| 颍上县| 新巴尔虎左旗| 大足县| 清原| 三门峡市| 韶山市| 新津县| 呈贡县| 浮梁县| 阜新市| 响水县| 县级市| 无棣县| 桃园县| 清涧县| 长寿区| 郁南县| 景洪市| 溆浦县|