📄 io_bumpmapping.cpp
字号:
#include <osgFX/BumpMapping>#include <osgDB/Registry>#include <osgDB/Input>#include <osgDB/Output>bool BumpMapping_readLocalData(osg::Object &obj, osgDB::Input &fr);bool BumpMapping_writeLocalData(const osg::Object &obj, osgDB::Output &fw);osgDB::RegisterDotOsgWrapperProxy BumpMapping_Proxy( new osgFX::BumpMapping, "osgFX::BumpMapping", "Object Node Group osgFX::Effect osgFX::BumpMapping", BumpMapping_readLocalData, BumpMapping_writeLocalData);bool BumpMapping_readLocalData(osg::Object &obj, osgDB::Input &fr){ osgFX::BumpMapping &myobj = static_cast<osgFX::BumpMapping &>(obj); bool itAdvanced = false; if (fr[0].matchWord("lightNumber")) { int n; if (fr[1].getInt(n)) { myobj.setLightNumber(n); fr += 2; itAdvanced = true; } } if (fr[0].matchWord("diffuseUnit")) { int n; if (fr[1].getInt(n)) { myobj.setDiffuseTextureUnit(n); fr += 2; itAdvanced = true; } } if (fr[0].matchWord("normalMapUnit")) { int n; if (fr[1].getInt(n)) { myobj.setNormalMapTextureUnit(n); fr += 2; itAdvanced = true; } } osg::ref_ptr<osg::Texture2D> diffuse_tex = static_cast<osg::Texture2D *>(fr.readObjectOfType(osgDB::type_wrapper<osg::Texture2D>())); if (diffuse_tex.valid()) { myobj.setOverrideDiffuseTexture(diffuse_tex.get()); itAdvanced = true; } osg::ref_ptr<osg::Texture2D> normal_tex = static_cast<osg::Texture2D *>(fr.readObjectOfType(osgDB::type_wrapper<osg::Texture2D>())); if (normal_tex.valid()) { myobj.setOverrideNormalMapTexture(normal_tex.get()); itAdvanced = true; } return itAdvanced;}bool BumpMapping_writeLocalData(const osg::Object &obj, osgDB::Output &fw){ const osgFX::BumpMapping &myobj = static_cast<const osgFX::BumpMapping &>(obj); fw.indent() << "lightNumber " << myobj.getLightNumber() << "\n"; fw.indent() << "diffuseUnit " << myobj.getDiffuseTextureUnit() << "\n"; fw.indent() << "normalMapUnit " << myobj.getNormalMapTextureUnit() << "\n"; if (myobj.getOverrideDiffuseTexture()) { fw.writeObject(*myobj.getOverrideDiffuseTexture()); } if (myobj.getOverrideNormalMapTexture()) { fw.writeObject(*myobj.getOverrideNormalMapTexture()); } return true;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -