Programación Específica > DirectX
Modo Ventana O Pantalla Completa
(1/1)
yrubes:
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]:
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
--- Fin de la cita ---
Salu2...
Navegación
Ir a la versión completa