16,472
社区成员
发帖
与我相关
我的任务
分享
ID2D1GeometrySink *pSink = NULL;
hr = pMesh->Open(&pSink);
for (UINT i = 0; i < grdfile.m_grdFile.vMeshIndex.size(); i++)
{
n = grdfile.m_grdFile.vMeshIndex[i].nV1Index - 1;
pt1 = vPreparedpts[n].pt;
n = grdfile.m_grdFile.vMeshIndex[i].nV2Index - 1;
pt2 = vPreparedpts[n].pt;
n = grdfile.m_grdFile.vMeshIndex[i].nV3Index - 1;
pt3 = vPreparedpts[n].pt;
pSink->BeginFigure(pt1, D2D1_FIGURE_BEGIN_HOLLOW);
pSink->AddLine(pt2);
pSink->AddLine(pt3);
pSink->EndFigure(D2D1_FIGURE_END_CLOSED);
}
pSink->Close();
SAFE_RELEASE(pSink);
hr = pD2DFactory->CreateTransformedGeometry(
pMesh,
D2D1::Matrix3x2F::Scale(
D2D1::SizeF(1.f, 1.f),
D2D1::Point2F(0.0f, 0.0f)),
&m_pTransformedGeometry
);
pRenderTarget->BeginDraw();
pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));
DMatrix scale = DMatrix::Scale(g_ScreenPara.scalePara.fScale,g_ScreenPara.scalePara.fScale,
D2D1::Point2F(g_ScreenPara.initPara.fXCenter,g_ScreenPara.initPara.fYCenter));
CRect rc;
GetClientRect(hwnd,rc);
DMatrix pan = DMatrix::Translation(-g_ScreenPara.scalePara.ScrollPT.x,-g_ScreenPara.scalePara.ScrollPT.y);
pRenderTarget->SetTransform(scale*pan);
pRenderTarget->DrawGeometry(m_pTransformedGeometry, pBlackBrush);
pRenderTarget->EndDraw();