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

Method drawLines2D

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

Source from the content-addressed store, hash-verified

1582}
1583
1584bool Renderer::drawLines2D(PxU32 nbVerts, const PxReal* vertices, const RendererColor& color)
1585{
1586 RendererMaterial* screenquadMaterial;
1587 RendererMaterialInstance* screenquadMaterialInstance;
1588 screenquadMaterial = m_screenquadOpaqueMaterial;
1589 screenquadMaterialInstance = m_screenquadOpaqueMaterialInstance;
1590 if(!screenquadMaterialInstance || !screenquadMaterial)
1591 return false;
1592
1593 screenquadMaterial->bind(RendererMaterial::PASS_UNLIT, screenquadMaterialInstance, false);
1594 if(!m_useShadersForTextRendering)
1595 screenquadMaterial->unbind();
1596
1597 setupScreenquadRenderStates();
1598
1599 TextVertex* verts = new TextVertex[nbVerts];
1600
1601 PxU32 renderWidth, renderHeight;
1602 getWindowSize(renderWidth, renderHeight);
1603 const PxReal xCoeff = PxReal(renderWidth);
1604 const PxReal yCoeff = PxReal(renderHeight);
1605
1606 const PxU32 convertedColor = convertColor(color);
1607
1608 for(PxU32 i=0;i<nbVerts;i++)
1609 {
1610 verts[i].p.x = vertices[i*2+0] * xCoeff;
1611 verts[i].p.y = vertices[i*2+1] * yCoeff;
1612 verts[i].p.z = 0.0f;
1613 verts[i].rhw = 1.0f;
1614 verts[i].color = convertedColor;
1615 verts[i].u = 0.0f;
1616 verts[i].v = 0.0f;
1617 }
1618
1619 renderLines2D(verts, nbVerts);
1620
1621 DELETEARRAY(verts);
1622
1623 resetScreenquadRenderStates();
1624 if(m_useShadersForTextRendering)
1625 screenquadMaterial->unbind();
1626
1627 return true;
1628}
1629
1630bool Renderer::drawLines2D(PxU32 nbVerts, const PxReal* vertices, const RendererColor* colors)
1631{

Callers 2

drawHudMethod · 0.80

Calls 2

bindMethod · 0.45
unbindMethod · 0.45

Tested by

no test coverage detected