miércoles, 27 de octubre de 2010

Con dos... monitores. :P

music: FIVE HORSE JOHNSON -"Ten Cent Dynamite"-

Es la 01:00 a.m. y en este momento la inspiración para escribir se ha ido ya a la cama, cosa que debería hacer yo también. He logrado terminar el prototipo en el que estaba trabajando en estos días para probar el funcionamiento del juego con dos monitores.


Básicamente lo he realizado así:
  • Se crean dos ventanas que se mostrarán En Modo Ventana (no fullscreen como hasta ahora) y MAXIMIZADAS, consiguiendo así que los elementos 2D queden automáticamente escalados al tamaño adecuado y posicionados en el lugar correcto.
  • Se captura la resolución del Escritorio (del primer monitor) y, dado que al final se especifica a las ventanas que se maximicen, se logra así tener una resolución independiente en cada monitor.
  • Sólo se crea un único Render Device (no hay replicación de vertex buffers ni doble carga de recursos).
  • Existirán dos Swap Chains. La primera es creada automáticamente al crear el Render Device, y la segunda se crea mediante el método GetAdditionalSwapChain del Render Device. A cada una de ellas se le especificará un Render Target distinto.
  • Se ha creado una cámara adicional que sigue a la raqueta controlada por el ordenador, y cuya escena es mandada a pintar a la segunda Swap Chain.
  • Hay dos pasadas de Render, una para cada Adaptador.

Como prototipo que es no he prestado mucha atención a la calidad de la implementación y ciertos detalles son realmente mejorables. En especial me preocupa el hecho de abandonar el modo fullscreen y el hecho de llamar a los métodos BeginScene / EndScene dos veces, pues es un hecho que va bastante lento. Si a alguien se le ocurre o sabe una forma mejor de hacerlo que lo comente por aquí, soy todo ojos. ; )

Hasta otra. :P

2 comentarios:

  1. Esperemos que el año que viene sea mas grande y sobre todo que separen con un muro de hormigón la sala de las ponencias de las del resto de eventos, porque vaya infierno de ruido.
    A todas luces mejorable, pero para ser la primera muy correcta y con ganas de la del año que viene.

    ResponderEliminar
  2. XD El comentario va una entrada más atrás.

    Dado el éxito que han tenido seguro que el año que viene Gamefest será más grande.

    De todos modos, sigo preguntándome... ¿por qué se consideró al S2e un fracaso?.

    ResponderEliminar