lunes, 1 de julio de 2013

DirectX desde 0. Capitulo 1. Iniciando DirectX

Artículo perteneciente al tutorial de DirectX desde 0

Hola a todos,

Bienvenidos al primer capitulo del tutorial de DirectX 11 desde 0.

DirectX es un conjunto de funcionalidades proporcionadas por Microsoft para crear videojuegos. La ventaja principal respecto a OpenGL es que engloba muchas funcionalidades ( gráficos, sonidos, inputs, textos) que OpenGL no cubre (ya que es solo es una API gráfica). La principal desventaja de DirectX es que solo funciona en productos Microsoft ( es decir, Windows ) con lo que el tema portabilidad queda descartado.

Hay bastantes versiones de DirectX (ahora mismo van por la 11) y no son demasiado compatibles entre si, así que creo que vale la pena empezar directamente por la última versión.

Antes que nada deberemos preparar nuestro PC para que funcione con DirectX:

1. Instalar el SDK de DirectX11. Lo podéis descargar de aqui
2. Es posible que al finalizar la instalación del SDK de DirectX os salga un error s1023. Estad tranquilos que tiene solución, lo mejor que podéis hacer es ir al siguiente link.
3. Si no lo tenéis, bajaos el Visual Studio Express Edition. Para trabajar con DirectX es la mejor opción.
4. Bajaos el código de este tutorial, ya sea por svn  o por descarga.

Para realizar este tutorial me he basado en el tutorial número 3 de rastertek y lo he modificado ligeramente para que funcione en hardware que no admite directamente DirectX11. Un problema del tutorial de rastertek es que si tu tarjeta de video no soportaba nativamente DirectX11 no funcionaba nada, y no creo que sea plan que por un mero tema de hardware nos perdamos un buen tutorial no?

El código lo podéis mirar aquí y la modificación realizada solo ha sido lo siguiente:

if(FAILED(result))
{
result = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_WARP, NULL, 0, &featureLevel, 1, D3D11_SDK_VERSION, &swapChainDesc, &m_swapChain, &m_device, NULL, &m_deviceContext);
}

if(FAILED(result))
{
result = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_SOFTWARE, NULL, 0, &featureLevel, 1, D3D11_SDK_VERSION, &swapChainDesc, &m_swapChain, &m_device, NULL, &m_deviceContext);
}

Por ahora, con que miréis el código del svn y seais capaces de instalaros el SDK y compilar, suficiente.

En cuanto lo tengáis compilado, ejecutad, os debería salir una ventana en gris.

En el siguiente capítulo empezaremos ha hablar realmente de DirectX.

Espero que os haya gustado

Nos vemos


LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares