//-----------------------------------------------------------------------
void HLSLProgramWriter::writeUniformParameter(std::ostream& os, UniformParameterPtr parameter)
{
	bool isHlsl4 = Ogre::RTShader::ShaderGenerator::getSingletonPtr()->IsHlsl4();

	GpuConstantType paramType = parameter->getType();

	if (isHlsl4 && paramType >= GCT_SAMPLER1D && paramType <= GCT_SAMPLERCUBE)
		os<<mGpuConstTypeMapV4[paramType];
	else
		os<<mGpuConstTypeMap[paramType];

	os << "\t" << parameter->getName();

	if (parameter->isArray() == true)
	{
		os << "[" << parameter->getSize() << "]";	
	}
	if (parameter->isSampler())
	{
		if (isHlsl4)
			os << " : register(t" << parameter->getIndex() << ")";		
		else
			os << " : register(s" << parameter->getIndex() << ")";		

	}
	else if (parameter->getType() == GCT_SAMPLER_STATE)
	{
		os << " : register(s" << parameter->getIndex() << ")";		
	}

}
//-----------------------------------------------------------------------
void HLSLProgramWriter::writeUniformParameter(std::ostream& os, UniformParameterPtr parameter)
{
	os << mGpuConstTypeMap[parameter->getType()];
	os << "\t";	
	os << parameter->getName();	

	if (parameter->isSampler())
	{
		os << " : register(s" << parameter->getIndex() << ")";		
	}

}
Exemplo n.º 3
0
//-----------------------------------------------------------------------
void CGProgramWriter::writeUniformParameter(std::ostream& os, UniformParameterPtr parameter)
{
	os << mGpuConstTypeMap[parameter->getType()];
	os << "\t";	
	os << parameter->getName();	
	if (parameter->isArray() == true)
	{
		os << "[" << parameter->getSize() << "]";	
	}
	
	if (parameter->isSampler())
	{
		os << " : register(s" << parameter->getIndex() << ")";		
	}

}