Improved the Text::_shaderTechnique default setting using OSG_TEXT_SHADER_TECHNIQUE env var, options are ALL_FEATURES, GREYSCALE, SIGNED_DISTANCE_FIELD, SDF, NO_TEXT_SHADER, NONE.

This commit is contained in:
Robert Osfield
2017-10-24 12:34:48 +01:00
parent c162a091fe
commit 1ecae6d33a

View File

@@ -48,19 +48,16 @@ Text::Text():
_supportsVertexBufferObjects = true;
char* ptr = 0;
if ((ptr = getenv("OSG_SDF_TEXT")) != 0)
if ((ptr = getenv("OSG_TEXT_SHADER_TECHNIQUE")) != 0)
{
_shaderTechnique = ALL_FEATURES;
}
else if ((ptr = getenv("OSG_GREYSCALE_TEXT")) != 0)
{
_shaderTechnique = GREYSCALE;
}
else if ((ptr = getenv("OSG_NO_TEXT_SHADER")) != 0)
{
_shaderTechnique = NO_TEXT_SHADER;
if (strcmp(ptr,"ALL_FEATURES")==0) _shaderTechnique = ALL_FEATURES;
else if (strcmp(ptr,"GREYSCALE")==0) _shaderTechnique = GREYSCALE;
else if (strcmp(ptr,"SIGNED_DISTANCE_FIELD")==0 || strcmp(ptr,"SDF")==0) _shaderTechnique = SIGNED_DISTANCE_FIELD;
else if (strcmp(ptr,"NO_TEXT_SHADER")==0 || strcmp(ptr,"NONE")==0) _shaderTechnique = NO_TEXT_SHADER;
}
OSG_NOTICE<<"Text::Text() "<<_shaderTechnique<<std::endl;
assignStateSet();
}