• Viernes 19 de Abril de 2024, 18:23

Autor Tema:  Modo Ventana O Pantalla Completa  (Leído 3455 veces)

yrubes

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Modo Ventana O Pantalla Completa
« en: Lunes 12 de Junio de 2006, 19:08 »
0
Tengo un problema: tengo q crear una clase q me permita crear una ventana 3d en modo ventana o pantalla completa. La cuestion, es q no tengo ni idea de como hacerlo. Me podeis echar una mano??

Gracias

[EX3]

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
    • http://dxlib32.se32.com
Re: Modo Ventana O Pantalla Completa
« Respuesta #1 en: Martes 13 de Junio de 2006, 02:07 »
0
Te paso un codigo en VB6 para la parte de creacion y configuracion de la ventana, ya sea ventana o pantalla completa:

Citar
Dim Dx As DirectX8 '// Objeto DirectX.
Dim D3D As Direct3D8 '// Objeto DirectGraphics (D3D)
Dim D3DDevice As Direct3DDevice8 '// Objeto Device de D3D.

Sub Initialize()
    Dim DispMode As D3DDISPLAYMODE '// Define el modo de video.
    Dim D3DWindow As D3DPRESENT_PARAMETERS '// Define los parametros de la ventana en D3D.

    Set Dx = New DirectX8  '// Creamos el objeto DirectX.
    Set D3D = Dx.Direct3DCreate() '// Creamos el objeto D3D.

    '// Leemos los valores actuales del modo de pantalla para almacenar informacion:
    D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode

    If ModoVentana Then
        D3DWindow.Windowed = 1 '// Indicas que el modo es en ventana.
        D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '// Refresca la ventana cuando lo hace el monitor.
        D3DWindow.BackBufferFormat = DispMode.Format '//Formato del modo de video del escritorio.

    ElseIf ModoPantallaCompleta Then
        DispMode.Format = D3DFMT_X8R8G8B8 '// 32 bits de color.
        DispMode.Width = 640 '// Ancho del modo de video.
        DispMode.Height = 480 '// Alto del modo de video.

        D3DWindow.SwapEffect = D3DSWAPEFFECT_FLIP '// Sincronizacion vertical activada.
        D3DWindow.BackBufferCount = 3 '// TripleBuffer
        D3DWindow.BackBufferFormat = DispMode.Format
        D3DWindow.BackBufferHeight = DispMode.Height
        D3DWindow.BackBufferWidth = DispMode.Width
        D3DWindow.hDeviceWindow = Form1.hWnd '// Handle de la ventana.

    End If

    '// Inicializamos D3D:
    Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Form1.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DWindow)

End Sub
Salu2...