DirectX initialisierungs verwirrung

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von mrmoor.

    DirectX initialisierungs verwirrung

    Ich versuche geraden einen Screenshot mit Directx zu machen, nur hab ich ein problem.
    Als Tutorial hab ich mich mit dem hier beschäftigt, soweit ist mir des auch alles klar aber im Header der Function hab ich ein Problem beim späteren Aufruf.
    Das hier ist der Header:

    VB.NET-Quellcode

    1. Public Function SaveScreenShot3D(dev As Direct3DDevice8, d3dx
    2. As D3DX8, strFileName As String) As Boolean


    und hier der Aufruf:

    VB.NET-Quellcode

    1. SaveScreenShot3D(*----*, *----*,"myscreen.bmp")


    Mein Problem besteht darin, dass ich kein plan hab was ich da "*----*" angeben soll, weil beim Device des wird doch dadurch erst Initalisiert und D3DX8 auch oder? 8|
    du musst dir schon das DirectX SDK laden und dann die Verweise von Dx hinzufügen und dann das Device erstellen ;). Obeowlh das Tut sehr veraltet ist ;). Ich glaube da musst du schon lange in der Ms Download Datenbank suchen um ein Dx 8 SDK zu finden ;). Außerdem ist das VB6 ;).

    progglord schrieb:

    du musst dir schon das DirectX SDK laden und dann die Verweise von Dx hinzufügen und dann das Device erstellen ;). Obeowlh das Tut sehr veraltet ist ;). Ich glaube da musst du schon lange in der Ms Download Datenbank suchen um ein Dx 8 SDK zu finden ;). Außerdem ist das VB6 ;).
    ja ach braucht man da das sdk bzw. die dlls und ja es sind alle verweise (DxVBLibA) hinzugefügt und es ist auch nichts und nein es ist nicht vb6 sondern vb.net bzw. hab ichs auf vb.net modifiziert, ich poste hier auch mal den code: :P ;)

    VB.NET-Quellcode

    1. Public Function SaveScreenShot3D(ByVal dev As Direct3DDevice8, ByVal d3dx As D3DX8, ByVal strFileName As String) As Boolean
    2. MsgBox(1)
    3. Dim Surf As Direct3DSurface8
    4. Dim Palette As PALETTEENTRY
    5. Dim r As RECT
    6. Dim DispMode As D3DDISPLAYMODE
    7. MsgBox(2)
    8. On Error GoTo errOut
    9. dev.GetDisplayMode(DispMode)
    10. MsgBox(3)
    11. Surf = dev.CreateImageSurface(DispMode.Width, DispMode.Height, CONST_D3DFORMAT.D3DFMT_A8R8G8B8)
    12. dev.GetFrontBuffer(Surf)
    13. With r
    14. .left = 0
    15. .top = 0
    16. .right = DispMode.Width
    17. .bottom = DispMode.Height
    18. End With
    19. d3dx.SaveSurfaceToFile(strFileName, CONST_D3DXIMAGE_FILEFORMAT.D3DXIFF_BMP, Surf, Palette, r)
    20. SaveScreenShot3D = True
    21. Exit Function
    22. errOut:
    23. SaveScreenShot3D = False
    24. MsgBox("error")
    25. End Function