MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / initTexter

Method initTexter

physx/samples/sampleframework/renderer/src/Renderer.cpp:1294–1347  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1292
1293
1294bool Renderer::initTexter()
1295{
1296 if(gFntData)
1297 return true;
1298
1299 char filename[1024];
1300 Ps::strlcpy(filename, sizeof(filename), getAssetDir());
1301 Ps::strlcat(filename, sizeof(filename), "fonts/arial_black.bin");
1302
1303 gFntData = new FntData;
1304 if(!gFntData->Load(*this, filename))
1305 {
1306 closeTexter();
1307 return false;
1308 }
1309
1310 {
1311 RendererMaterialDesc matDesc;
1312 matDesc.alphaTestFunc = RendererMaterial::ALPHA_TEST_ALWAYS;
1313 matDesc.alphaTestRef = 0.0f;
1314 matDesc.type = RendererMaterial::TYPE_UNLIT;
1315 matDesc.blending = true;
1316 matDesc.srcBlendFunc = RendererMaterial::BLEND_SRC_ALPHA;
1317 matDesc.dstBlendFunc = RendererMaterial::BLEND_ONE_MINUS_SRC_ALPHA;
1318 matDesc.geometryShaderPath = NULL;
1319 matDesc.vertexShaderPath = "vertex/text.cg";
1320 matDesc.fragmentShaderPath = "fragment/text.cg";
1321 PX_ASSERT(matDesc.isValid());
1322
1323 m_textMaterial = createMaterial(matDesc);
1324 if(!m_textMaterial)
1325 {
1326 closeTexter();
1327 return false;
1328 }
1329
1330 m_textMaterialInstance = new RendererMaterialInstance(*m_textMaterial);
1331 if(!m_textMaterialInstance)
1332 {
1333 closeTexter();
1334 return false;
1335 }
1336
1337 const RendererMaterial::Variable* var = m_textMaterial->findVariable("diffuseTexture", RendererMaterial::VARIABLE_SAMPLER2D);
1338 if(!var)
1339 {
1340 closeTexter();
1341 return false;
1342 }
1343 m_textMaterialInstance->writeData(*var, &(gFntData->mTexture));
1344 }
1345
1346 return true;
1347}
1348
1349void Renderer::closeTexter()
1350{

Callers 1

onInitMethod · 0.45

Calls 6

strlcpyFunction · 0.85
strlcatFunction · 0.85
findVariableMethod · 0.80
LoadMethod · 0.45
isValidMethod · 0.45
writeDataMethod · 0.45

Tested by

no test coverage detected