Exemplo n.º 1
0
	void ShaderParamSet::setupGlobalParam( IShaderParamInput* input , ShaderParamGroup& paramGroup )
	{
		for ( ShaderParamList::iterator iter( paramGroup.paramList.begin() ), 
			                            itEnd( paramGroup.paramList.end() );
			iter != itEnd ; ++iter )
		{
			switch( iter->content )
			{
			case SP_WORLD:
				input->setUniform( iter->varName.c_str() , getWorldMatrix() );
				break;
			case SP_VIEW :
				input->setUniform( iter->varName.c_str() , getViewMatrix() );
				break;
			case SP_PROJ :
				input->setUniform( iter->varName.c_str() , getProjectMatrix() );
				break;
			case SP_WORLD_INV :
				input->setUniform( iter->varName.c_str() , getInvWorldMatrix() );
				break;
			case SP_VIEW_PROJ :
				input->setUniform( iter->varName.c_str() , getViewProjMatrix() );
				break;
			case SP_WVP :
				input->setUniform( iter->varName.c_str() , getWVPMatrix() );
				break;
			case SP_WORLD_VIEW:
				input->setUniform( iter->varName.c_str() , getWorldViewMatrix() );
				break;
			//case SP_AMBIENT_LIGHT:
			//	input->setUniform( iter->varName.c_str() , scene->setAmbientLight() );
			}
		}
	}
Exemplo n.º 2
0
	Matrix4 const& ShaderParamSet::getWVPMatrix()
	{
		if ( mDirtyBit & DIRTY_WVP )
		{
			mWVP = getWorldViewMatrix() * getProjectMatrix();
			mDirtyBit &= ~DIRTY_WVP;
		}
		return mWVP;
	}
Exemplo n.º 3
0
 //-----------------------------------------------------------------------------
 const Matrix4& AutoParamDataSource::getInverseWorldViewMatrix(void) const
 {
     if (mInverseWorldViewMatrixDirty)
     {
         mInverseWorldViewMatrix = getWorldViewMatrix().inverseAffine();
         mInverseWorldViewMatrixDirty = false;
     }
     return mInverseWorldViewMatrix;
 }
Exemplo n.º 4
0
 //-----------------------------------------------------------------------------
 const Matrix4& AutoParamDataSource::getWorldViewProjMatrix(void) const
 {
     if (mWorldViewProjMatrixDirty)
     {
         mWorldViewProjMatrix = getProjectionMatrix() * getWorldViewMatrix();
         mWorldViewProjMatrixDirty = false;
     }
     return mWorldViewProjMatrix;
 }