Einzelnen Beitrag anzeigen

SonnyBoyPro

Registriert seit: 9. Mai 2007
68 Beiträge
 
#4

AW: Direct2D 1.1 CreateDeviceContext

  Alt 31. Jan 2014, 21:19
hab so übersetzt:
Delphi-Quellcode:
ID2D1Factory1 = interface(ID2D1Factory)
        ['{bb12d362-daee-4b9a-aa1d-14ba401cfa1f}']

        function CreateDevice(dxgiDevice: IDXGIDevice; out d2dDevice: ID2D1Device): HResult; stdcall;
momentan kämpf ich halt auf zwei Fronten: zum einen das Framework kapieren und zum anderen übersetzen. Und bin mir momentan auch nicht sicher ob ich
falsch übersetzt oder falsch angewendet habe.

Zum Aufruf:
die Klasse vom ID2D1Device ist beim Aufruf nicht nil. GetMaximumTextureMemory z.B. liefert einen Wert zurück.


Über D2D1CreateDeviceContext schaff ich's zumindest schon mal einen ID2D1DeviceContext für eine D11-Texture zu kreieren und darauf zu zeichnen

kurzes Code-Schnippsel:
Delphi-Quellcode:
hr := DeviceD11.CreateTexture2D(texDesc, nil, m_pOffscreenTexture);
    hr := DeviceD11.CreateShaderResourceView(m_pOffscreenTexture, nil, m_pTextureRV);

    { Direct2D 1.1 }
    D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED, ID2D1Factory1, nil, gD2DFactory);
    DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, IDWriteFactory, IUnknown(gDWriteFactory));

    gDWriteFactory.CreateTextFormat('Calibri', nil, DWRITE_FONT_WEIGHT_REGULAR, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, 72.0, 'de-gr',
        FTextFormat);
    FTextFormat.SetWordWrapping(DWRITE_WORD_WRAPPING_NO_WRAP);
    lDxgiSurface := nil;
    hr := m_pOffscreenTexture.QueryInterface(IDXGISurface, lDxgiSurface);
    hr := D2D1CreateDeviceContext(lDxgiSurface, TD2D1_CREATION_PROPERTIES(nil^),m_d2dContext);
    m_d2dContext.SetTextAntialiasMode(D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE);
Ergebnis siehe Anhang. Zwar noch nicht viel aber zumindest funktioniert's mal Direct2D 1.1 in Kombination mit Direct3D11

Sobald ich mal ne halbwegs fertig übersetzte Version habe bekommt die Community natürlich das Ergebnis zur Verfügung gestellt

bg
Miniaturansicht angehängter Grafiken
directd3d11_d21_test.jpg  
  Mit Zitat antworten Zitat