// NOTE: this is a simplified version
int WINAPI QERApp_HasShader( const char *pName )
{
	CShaderInfo *pInfo = hasShader( pName );
	if (pInfo)
		return 1;
	return 0;
}
Example #2
0
void OsgProgram::clearShader(int shaderType)
{
	if (hasShader(shaderType))
	{
		m_program->removeShader(m_osgShaders[shaderType]);
		m_osgShaders[shaderType] = nullptr;
	}
}
Example #3
0
bool OsgProgram::getShaderSource(int shaderType, std::string* source) const
{
	if (hasShader(shaderType))
	{
		*source = m_osgShaders[shaderType]->getShaderSource();
		return true;
	}
	else
	{
		*source = "";
		return false;
	}
}
Example #4
0
osg::ref_ptr<osg::Shader> OsgProgram::getOrCreateOsgShader(int shaderType)
{
	osg::ref_ptr<osg::Shader> result;
	if (!hasShader(shaderType))
	{
		result = new osg::Shader(OsgShaderTypes[shaderType]);
		m_program->addShader(result);
		m_osgShaders[shaderType] = result;
	}
	else
	{
		result = m_osgShaders[shaderType];
	}
	return result;
}
Example #5
0
bool OsgProgram::hasGeometryShader() const
{
	return hasShader(SHADER_TYPE_GEOMETRY);
}
Example #6
0
bool OsgProgram:: hasVertexShader() const
{
	return hasShader(SHADER_TYPE_VERTEX);
}
Example #7
0
bool OsgProgram::hasFragmentShader() const
{
	return hasShader(SHADER_TYPE_FRAGMENT);
}