Example #1
0
TextSprite::TextSprite(MaterialPtr material, const std::string &text, FontPtr font, PropertiesPtr	properties)
	: Sprite(), _text(text), _font(font)
{
	// Create geometry
	createGeometry();

	// Add atlas texture to the material
	material->setTexture(bRenderer::DEFAULT_SHADER_UNIFORM_CHARACTER_MAP(), font->getAtlas());

	setMaterial(material);
	setProperties(properties);
}
Example #2
0
TextSprite::TextSprite(ObjectManager *o, const std::string &name, vmml::Vector3f color, const std::string &text, FontPtr font, PropertiesPtr properties)
	: Sprite(), _text(text), _font(font)
{
	// Create geometry
	createGeometry();

	// Create shader and material
	ShaderPtr shader = o->generateShader(name, { 0, false, true, false, false, true, false, false, false, false, false, false, true });
	MaterialPtr material = o->createMaterial(name, shader);
	
	// Add atlas texture to the material
	material->setTexture(bRenderer::DEFAULT_SHADER_UNIFORM_CHARACTER_MAP(), font->getAtlas());
	// Pass color to material (don't pass texture, has to be treated separately to bind right tex unit)
	material->setVector(bRenderer::WAVEFRONT_MATERIAL_DIFFUSE_COLOR(), color);

	setMaterial(material);
	setProperties(properties);
}