MCPcopy Create free account
hub / github.com/ddnet/ddnet / QuadsDrawFreeform

Method QuadsDrawFreeform

src/engine/client/graphics_threaded.cpp:940–1008  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

938}
939
940void CGraphics_Threaded::QuadsDrawFreeform(const CFreeformItem *pArray, int Num)
941{
942 dbg_assert(m_Drawing == EDrawing::QUADS || m_Drawing == EDrawing::TRIANGLES, "called Graphics()->QuadsDrawFreeform without begin");
943
944 if((g_Config.m_GfxQuadAsTriangle && !m_GLUseTrianglesAsQuad) || m_Drawing == EDrawing::TRIANGLES)
945 {
946 for(int i = 0; i < Num; ++i)
947 {
948 m_aVertices[m_NumVertices + 6 * i].m_Pos.x = pArray[i].m_X0;
949 m_aVertices[m_NumVertices + 6 * i].m_Pos.y = pArray[i].m_Y0;
950 m_aVertices[m_NumVertices + 6 * i].m_Tex = m_aTexture[0];
951 SetColor(&m_aVertices[m_NumVertices + 6 * i], 0);
952
953 m_aVertices[m_NumVertices + 6 * i + 1].m_Pos.x = pArray[i].m_X1;
954 m_aVertices[m_NumVertices + 6 * i + 1].m_Pos.y = pArray[i].m_Y1;
955 m_aVertices[m_NumVertices + 6 * i + 1].m_Tex = m_aTexture[1];
956 SetColor(&m_aVertices[m_NumVertices + 6 * i + 1], 1);
957
958 m_aVertices[m_NumVertices + 6 * i + 2].m_Pos.x = pArray[i].m_X3;
959 m_aVertices[m_NumVertices + 6 * i + 2].m_Pos.y = pArray[i].m_Y3;
960 m_aVertices[m_NumVertices + 6 * i + 2].m_Tex = m_aTexture[3];
961 SetColor(&m_aVertices[m_NumVertices + 6 * i + 2], 3);
962
963 m_aVertices[m_NumVertices + 6 * i + 3].m_Pos.x = pArray[i].m_X0;
964 m_aVertices[m_NumVertices + 6 * i + 3].m_Pos.y = pArray[i].m_Y0;
965 m_aVertices[m_NumVertices + 6 * i + 3].m_Tex = m_aTexture[0];
966 SetColor(&m_aVertices[m_NumVertices + 6 * i + 3], 0);
967
968 m_aVertices[m_NumVertices + 6 * i + 4].m_Pos.x = pArray[i].m_X3;
969 m_aVertices[m_NumVertices + 6 * i + 4].m_Pos.y = pArray[i].m_Y3;
970 m_aVertices[m_NumVertices + 6 * i + 4].m_Tex = m_aTexture[3];
971 SetColor(&m_aVertices[m_NumVertices + 6 * i + 4], 3);
972
973 m_aVertices[m_NumVertices + 6 * i + 5].m_Pos.x = pArray[i].m_X2;
974 m_aVertices[m_NumVertices + 6 * i + 5].m_Pos.y = pArray[i].m_Y2;
975 m_aVertices[m_NumVertices + 6 * i + 5].m_Tex = m_aTexture[2];
976 SetColor(&m_aVertices[m_NumVertices + 6 * i + 5], 2);
977 }
978
979 AddVertices(3 * 2 * Num);
980 }
981 else
982 {
983 for(int i = 0; i < Num; ++i)
984 {
985 m_aVertices[m_NumVertices + 4 * i].m_Pos.x = pArray[i].m_X0;
986 m_aVertices[m_NumVertices + 4 * i].m_Pos.y = pArray[i].m_Y0;
987 m_aVertices[m_NumVertices + 4 * i].m_Tex = m_aTexture[0];
988 SetColor(&m_aVertices[m_NumVertices + 4 * i], 0);
989
990 m_aVertices[m_NumVertices + 4 * i + 1].m_Pos.x = pArray[i].m_X1;
991 m_aVertices[m_NumVertices + 4 * i + 1].m_Pos.y = pArray[i].m_Y1;
992 m_aVertices[m_NumVertices + 4 * i + 1].m_Tex = m_aTexture[1];
993 SetColor(&m_aVertices[m_NumVertices + 4 * i + 1], 1);
994
995 m_aVertices[m_NumVertices + 4 * i + 2].m_Pos.x = pArray[i].m_X3;
996 m_aVertices[m_NumVertices + 4 * i + 2].m_Pos.y = pArray[i].m_Y3;
997 m_aVertices[m_NumVertices + 4 * i + 2].m_Tex = m_aTexture[3];

Callers 7

RenderProgressSpinnerMethod · 0.80
RenderHslaScrollbarsMethod · 0.80
RenderHookCollLineMethod · 0.80
RenderLaserMethod · 0.80
DoQuadEnvelopesMethod · 0.80
RenderEnvelopeEditorMethod · 0.80
ForceRenderQuadsMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected