few cleanup

This commit is contained in:
Julien Valentin
2017-08-31 13:49:27 +02:00
parent 068a032dac
commit b790986f37
3 changed files with 16 additions and 14 deletions

View File

@@ -21,13 +21,12 @@
using namespace osgAnimation;
#define DEFAULT_FIRST_VERTATTRIB_TARGETTED 11
RigTransformHardware::RigTransformHardware()
{
_needInit = true;
_bonesPerVertex = 0;
_nbVertexes = 0;
_minAttribIndex = DEFAULT_FIRST_VERTATTRIB_TARGETTED;
}
RigTransformHardware::RigTransformHardware():
_bonesPerVertex (0),
_nbVertexes (0),
_needInit (true),
_minAttribIndex(DEFAULT_FIRST_VERTATTRIB_TARGETTED)
{}
RigTransformHardware::RigTransformHardware(const RigTransformHardware& rth, const osg::CopyOp& copyop):
RigTransform(rth, copyop),
@@ -152,8 +151,6 @@ bool RigTransformHardware::prepareData(RigGeometry& rig)
// copy shallow from source geometry to rig
rig.copyFrom(source);
return true;
}
@@ -229,7 +226,6 @@ bool RigTransformHardware::buildPalette(const BoneMap&boneMap ,const RigGeometry
OSG_INFO << "RigTransformHardware::buildPalette will use " << boneNameCountMap.size() * 4 << " uniforms" << std::endl;
}
///normalize
@@ -251,16 +247,17 @@ bool RigTransformHardware::buildPalette(const BoneMap&boneMap ,const RigGeometry
}
}
_bonesPerVertex = maxBonePerVertex;
_uniformMatrixPalette = new osg::Uniform(osg::Uniform::FLOAT_MAT4, "matrixPalette", _bonePalette.size());
_bonesPerVertex = maxBonePerVertex;
createVertexAttribList(*this,perVertexInfluences,this->_boneWeightAttribArrays);
return true;
}
bool RigTransformHardware::init(RigGeometry& rig){
if(_uniformMatrixPalette.valid()){
if(_bonesPerVertex>0){
///data seams prepared
osg::ref_ptr<osg::Program> program ;
osg::ref_ptr<osg::Shader> vertexshader;
@@ -328,14 +325,17 @@ bool RigTransformHardware::init(RigGeometry& rig){
program->addShader(vertexshader.get());
stateset->removeUniform("nbBonesPerVertex");
stateset->addUniform(new osg::Uniform("nbBonesPerVertex",_bonesPerVertex));
stateset->removeUniform("matrixPalette");
stateset->addUniform(getMatrixPaletteUniform());
stateset->addUniform(_uniformMatrixPalette);
stateset->removeAttribute(osg::StateAttribute::PROGRAM);
if(!stateset->getAttribute(osg::StateAttribute::PROGRAM))
stateset->setAttributeAndModes(program.get());
_needInit = false;
return false;
}

View File

@@ -70,7 +70,6 @@ void RigTransformSoftware::buildMinimumUpdateSet( const BoneMap&boneMap, const R
const VertexIndexWeight &iw = *infit;
const unsigned int &index = iw.getIndex();
float weight = iw.getWeight();
perVertexInfluences[index].push_back(BonePtrWeight(bone, weight));
}
}