Autor Tema: Un dcb, dos areas de juego  (Leído 1520 veces)

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5682
  • Karma: 128
    • GECA soft
Un dcb, dos areas de juego
« en: Noviembre 11, 2011, 03:08:19 pm »
Hola.
 
Seria posible poder permitir 2 contextos de set_mode rulando al mismo tiempo en la misma aplicación ?
 
Hace tiempo cuando hice pruebas de OpenGL, en el mismo programa creaba 2 regiones de pintado, una la de SDL de bennu, y la otra en una ventana separada, la de OpenGL.
 
Queria saber si era posible poder tener 2 contextos de pintado usando SDL, o sea, en este caso, imaginate un juego con resolucion 1200*800 y dentro de su area, tener definida una nueva region, por ejemplo de 320*240 en la cual tendriamos funciones que solo pintasen en esa region, con esto se podria tener 2 juegos en 1 rulando al mismo tiempo, parecido a lo de definir una region de scroll, pero en este caso toda esa region tendria procesos que solo pintaran en esa region, y podriamos por ejemplo al jugar, controlar 2 personajes, uno en la pantalla grande principal y otro en la pequeña.
 
Ya se que consumiria mas recursos pero en PC no habria problema.
 
La SDL permite algo asi ?

KeoH

  • Hero Member
  • *****
  • Mensajes: 1170
  • Karma: 17
Re: Un dcb, dos areas de juego
« Respuesta #1 en: Noviembre 11, 2011, 03:22:35 pm »
yo estaría mas interesado en controlar en un PC con dos pantallas xD, y poner resoluciones y cosas distintas en cada pantalla xD

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12894
  • Karma: 377
Re: Un dcb, dos areas de juego
« Respuesta #2 en: Noviembre 11, 2011, 03:24:09 pm »
con las funciones nativas no se puede, por lo menos no con la SDL 1.2

la 1.3 no se...

pero supongo que si configuras tus 2 monitores como 1 solo escritorio extendido y a la misma resolucion, quizas podrias hacer un set_mode del tamaǹo del escritorio, y ahi manejas vos 1 mitad para una cosa y otra mitad para otra, pero la verdad no se si esto funciona... deberias probarlo.
« última modificación: Noviembre 11, 2011, 03:27:26 pm por SplinterGU »
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5682
  • Karma: 128
    • GECA soft
Re: Un dcb, dos areas de juego
« Respuesta #3 en: Noviembre 11, 2011, 03:25:29 pm »
Tambien lo considero como opcion, o sea screen outside crearia una pantalla fuera y screen inside crearia una pantalla en una region dentro de la primera xD
 
En ambos casos podriamos controlar cosas de una y de otra xD

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Un dcb, dos areas de juego
« Respuesta #4 en: Noviembre 15, 2011, 07:46:18 pm »
A menos que necesites forzosamente dos ventanas ¿qué problema hay con la clásica "pantalla partida"?
Por lo que entiendo, no es nada que no se pueda hacer usando dos regiones y modificando la variable local REGION, salvo eso, que tengan que estar en ventanas separadas.

Sólo lo veo útil para usar dos pantallas de distinta resolución, porque si son de la misma (o se pueden poner a la misma) se puede extender el escritorio a la pantalla secundaria y hacer un juego con SET_MODE(2048,768) por ejemplo (Pixel lo hizo a 4 pantallas con su Pix Pang).

Otra opción es que arranques dos juegos distintos y los comuniques con alguna librería de red, usando la IP de localhost (la misma máquina).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5682
  • Karma: 128
    • GECA soft
Re: Un dcb, dos areas de juego
« Respuesta #5 en: Noviembre 15, 2011, 07:58:38 pm »
A mi me interesa mas la opcion de 2 juegos en una misma ventana.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12894
  • Karma: 377
Re: Un dcb, dos areas de juego
« Respuesta #6 en: Noviembre 15, 2011, 09:09:31 pm »
2 juegos en un entorno totalmente aislado, aun no es posible... el runtime deberia ser totalmente thread-safe, cosas que ahora mismo no lo es...

y obviamente necesitarias tirar el runtime desde un bgdi especial y un juego no se comunicaria con el otro... quizas mas simple es tirar 2 bgdi y listo, el tema es que cada uno trabaje con una pantalla.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2