예제 #1
0
파일: Uniform.cpp 프로젝트: aalex/osg
bool Uniform::setElement( unsigned int index, const osg::Matrixd& m4 )
{
    if( index>=getNumElements() || !isCompatibleType(FLOAT_MAT4) ) return false;
    unsigned int j = index * getTypeNumComponents(getType());
    const Matrixd::value_type* p = m4.ptr();
    for( int i = 0; i < 16; ++i ) (*_floatArray)[j+i] = static_cast<float>(p[i]);
    dirty();
    return true;
}
예제 #2
0
 virtual void apply(const osg::Matrixd& value)   { for(unsigned int i=0; i<16; ++i) _stream << (value.ptr())[i]; }
예제 #3
0
void osg::Matrixf::set(const osg::Matrixd& rhs)
{
    set(rhs.ptr());
}
예제 #4
0
osg::Matrixf::Matrixf( const osg::Matrixd& mat )
{
    set(mat.ptr());
}