Ya sé que muchas computadoras tienen una GPU que admite DirectX y OpenGL. ¿Pero qué pasa con las computadoras que no lo hacen? ¿Puedo escribir un juego 2D simple que no dependa de la GPU, para que funcione incluso en máquinas más antiguas?
¿Existe una biblioteca de juegos multiplataforma C o C ++ que me permita hacer esto? Idealmente, una biblioteca de este tipo me permitiría alternar la aceleración de hardware con muy pocas líneas de código.
c++
2d
c
cross-platform
hardware-acceleration
user999687
fuente
fuente
Respuestas:
Ciertamente, puede usar SDL y creo que hace todo en la CPU de forma predeterminada. En realidad, puede obtener un rendimiento bastante bueno si administra bien su código.
fuente
¿Crees que Pong usó una GPU?
Los juegos Flash que juegas en la web todo el tiempo, ¿crees que usan una GPU?
(Solo en estas últimas semanas se pueden desarrollar juegos Flash para utilizar la GPU. Y Flash ha existido por más de una década).
Por supuesto que es posible. Había estado jugando juegos durante una década antes de que existiera incluso una tarjeta gráfica acelerada para el mercado de consumo, y mucho menos procesadores completos de Turing dedicados a los gráficos (y más específicamente, a los gráficos de juegos).
fuente
¡No olvides que los videojuegos de primera generación se escribieron para un osciloscopio! Y por videojuegos de primera generación quiero decir pong. Recuerde que una GPU es un procesador matemático, que también es una CPU. Es solo que más especializado.
fuente
Es absolutamente posible: los primeros juegos de computadora existieron antes de las GPU, que como usted señala, son hardware diseñado para acelerar las matemáticas 3D. Todo lo que se está haciendo en la GPU también se puede hacer en la CPU, aunque generalmente a una velocidad general más lenta. (La versión inicial de Quake, por ejemplo, solo utilizaba la representación de software [1] )
Mesa3D es una implementación de OpenGL que afirma ser compatible con la representación de software completo. (Sin embargo, no lo he usado más que como implementación de referencia).
fuente
si es sólo unos 2d juegos, le sugiero que utilice cualquiera
flash 10
oSDL
, pero si usted piensa que su juego puede contener activos 3d y renderizado también se puede utilizar Irrlicht . Básicamente es un motor 3D multiplataforma de código abierto con soporte para renderizado de hardware y software:de wiki:
fuente
Si bien lo que pides es posible, vale la pena señalar que generalmente no hay prácticamente ninguna ventaja en descartar la aceleración 3D. Todas las PC modernas han incorporado aceleración 3D. Las pocas máquinas antiguas sin esta característica constituyen un mercado de juegos extremadamente pequeño, y probablemente también tenga otros problemas de compatibilidad con ellos.
Me temo que está haciendo esta pregunta por la razón equivocada.
fuente