Main Menu

SDL 1.3

Started by SplinterGU, July 18, 2011, 05:08:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Estoy leyendo la información que han puesto sobre actualización de SDL 1.2 a 2.0 (http://wiki.libsdl.org/moin.fcg/MigrationGuide) y hay un punto que, creo, es muy interesante:
* El API de renderizado basicamente elimina la necesidad de todo el código de escalado por software en BennuGD. Y, si es posible, escala los gráficos usando la GPU.

Hay un montón de cambios muy interesantes más, pero ese creo que ayudará mucho con los juegos que usen scale_resolution.

SplinterGU

sin dudas...

es hora de migrar.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Quote from: SplinterGU on August 13, 2013, 02:08:36 PM
hay rotaciones?
Pues yo diría que sí:
http://wiki.libsdl.org/moin.fcg/SDL_RenderCopyEx?highlight=%28%5CbCategoryRender%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29

Habría que cambiar algo la forma de funcionar del blitter, pero aquí tienes una guía muy interesante de cómo funciona el nuevo sistema de vídeo y hay cosas que son directamente aplicables a Bennu, creo.

Si usamos el API de renderizado, puede que incluso consigamos renderizado acelerado por GPU "gratis" (seguro que tiene sus pegas, claro).

SplinterGU

la idea que tengo es tirar el blitter y pasar directamente a SDL 2.0, con sprites controlados por la SDL, y dejar de hacer el blitter por software, tengo que ver si no me quita cosas, como renderizado sobre mapas, y demas.

esto implica un cambio grande, y no se si ya deberia ser mas bien una version 2.0 de bennugd.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

emov2k4

pues mucho animo !!  :D

Outlaw

La verdad que sería genial, ¡sinceramente espero que se pueda hacer!
"Life is cheap when the bounty is high"

josebita

Quote from: SplinterGU on August 13, 2013, 03:06:48 PM
la idea que tengo es tirar el blitter y pasar directamente a SDL 2.0, con sprites controlados por la SDL, y dejar de hacer el blitter por software, tengo que ver si no me quita cosas, como renderizado sobre mapas, y demas.

esto implica un cambio grande, y no se si ya deberia ser mas bien una version 2.0 de bennugd.
Creo que esa es la mejor opción. SDL primero intenta crear renderizadores por hardware (OpenGL, OpenGL ES, DirectX...) y, si no lo consigue, tiene su propio renderizador por software.
Lo suyo sería que a cada proceso, en lugar de asignársele un GRAPH * se le asignara una SDL_Texture* (representación en la RAM de la tarjeta gráfica del bitmap) y trabajar con el renderer de SDL y las texturas. Y lo que ahora es el blitter sólo se encargaría de decirle a SDL que pinte las texturas por orden de Z.
Incluso puede que los dirty rectangles ya ni hagan falta.

Sobre lo de renderizar las cosas a una textura, en ppio. debería poder hacerlo con cosas como SDL_SetRenderTarget


Es más (y es sólo mi opinión) yo mataría incluso el soporte para las distintas densidades de color. Hace mucho que no veo juegos que anden jugando con la paleta y la gente -creo- sólo usa los 16bpp cuando el juego es muy pesado para 32bpp por software o por compatibilidad con Fenix. Seguro que quitarlo te reducirá mucho la complejidad del código y dudo que afecte realmente a nadie.


PD: Cuando vayas a echarle un ojo a migrar a SDL2, es mejor que no mires mi código. Ahora mismo está escrito de forma que el número de cambios respecto del BennuGD oficial sean mínimos, pero no es la mejor forma, ni mucho menos, de hacer la inicialización gráfica.

JaViS

WOW q interesante :D
Working on Anarkade. A couch multiplayer 2D shooter.

KeoH

Creo q en otro hilo se comento la idea de romper con el pasado xDD Splinter .. si tienes que hacer cambios gordos, incluso en el lenguaje de Bennu .. que no te dé miedo xDD Hazlo  xD

SplinterGU

Quote from: josebita on August 13, 2013, 06:36:02 PM
Quote from: SplinterGU on August 13, 2013, 03:06:48 PM
la idea que tengo es tirar el blitter y pasar directamente a SDL 2.0, con sprites controlados por la SDL, y dejar de hacer el blitter por software, tengo que ver si no me quita cosas, como renderizado sobre mapas, y demas.

esto implica un cambio grande, y no se si ya deberia ser mas bien una version 2.0 de bennugd.
Creo que esa es la mejor opción. SDL primero intenta crear renderizadores por hardware (OpenGL, OpenGL ES, DirectX...) y, si no lo consigue, tiene su propio renderizador por software.
Lo suyo sería que a cada proceso, en lugar de asignársele un GRAPH * se le asignara una SDL_Texture* (representación en la RAM de la tarjeta gráfica del bitmap) y trabajar con el renderer de SDL y las texturas. Y lo que ahora es el blitter sólo se encargaría de decirle a SDL que pinte las texturas por orden de Z.
Incluso puede que los dirty rectangles ya ni hagan falta.

Sobre lo de renderizar las cosas a una textura, en ppio. debería poder hacerlo con cosas como SDL_SetRenderTarget


Es más (y es sólo mi opinión) yo mataría incluso el soporte para las distintas densidades de color. Hace mucho que no veo juegos que anden jugando con la paleta y la gente -creo- sólo usa los 16bpp cuando el juego es muy pesado para 32bpp por software o por compatibilidad con Fenix. Seguro que quitarlo te reducirá mucho la complejidad del código y dudo que afecte realmente a nadie.


PD: Cuando vayas a echarle un ojo a migrar a SDL2, es mejor que no mires mi código. Ahora mismo está escrito de forma que el número de cambios respecto del BennuGD oficial sean mínimos, spero no es la mejor forma, ni mucho menos, de hacer la inicialización gráfica.

exacto, esa es la idea, usar texturas sdl en lugar de graph.

si, luego de comentar, vi lo del target para dibujar sobre otra textura...

lo de la profundidad no quiero limitar, sera lo que permita sdl
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Erkosone

Ojalá lo cojas con ganas y te duren hasta terminarlo Splinter, mucho animo, menudo notición para bennu, la mejor noticia que podría leer hoy.  :)

SplinterGU

mas que noticion esto es un deseo...

veremos de donde saco tiempo... estoy en demasiadas cosas y realmente no doy abasto.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Erkosone

Del deseo a la realidad solo hay un paso entre medio jeje, si el cuerpo te pide marcha, dasela!


osk