2009-03-22 18 views
32

Como en el título, necesito una biblioteca de gráficos 2D que es multiplataforma y proporciona funciones simples, como en Basic; esencialmente, solo necesito pintar un píxel de cierto color; no necesito aceleración de hardware ni ningún tipo de soporte en 3D. He encontrado algunos, pero no son multiplataforma.Una biblioteca de gráficos multiplataforma simple, 2d para c o C++?

¿Alguien sabe una solución para mí?

+0

"atraer spam". Veo ... – xoxox

+0

¿De qué manera es esta pregunta diferente de http://stackoverflow.com/questions/1200727/cross-platform-drawing-library?rq=1? – xoxox

Respuesta

30

¿Qué hay de SDL?

Quizás sea demasiado complejo para sus necesidades, pero ciertamente es multiplataforma.

+0

SDL es de hecho más de lo que Agasa necesita, pero debe ser lo suficientemente sencillo de usar. –

+0

Funcionó con un mínimo esfuerzo. El hecho de que sdl-config exista y que Debian haya preinstalado todas las cosas ayudó mucho. Estoy de acuerdo en que es exagerado, pero es lo suficientemente simple para lo que necesito. ¡Muchas gracias por todo! –

12

[En ningún orden en particular.] Sin embargo, si usted tiene cualquier otro requisito, informarnos . Por cierto: no solo estoy publicando los resultados de una consulta de Google aquí, he usado todos estos (y SDL - escribí mis primeros juegos en SDL :) y diría que sin un conjunto de requisitos, es muy difícil elegir entre los enumerados.

+0

¿por qué qt 4.2? la última versión de qt también es buena, reconozco :) –

+0

Tenía los enlaces de doc para 4.2 a mano, así que lo mencioné en la publicación. – dirkgently

+0

De acuerdo, Qt (4.5) es también una excelente opción. –

3

Recomendaría DISLIN. Es multiplataforma, tiene soporte para muchos idiomas y tiene un nombre muy intuitivo de rutinas.

Además, sólo se dio cuenta de que nadie mencionó PLPLOT, también es multiplataforma, multilingüe ...

+2

Si bien DISLIN parece bastante bueno, vale la pena señalar que cuesta $ 180 pr desarrollador para uso no comercial. – dagw

+1

@dagw - quiere decir para uso comercial. Es gratis para uso no comercial. – Rook

6

Heavy-peso:

  • GTK
  • QT
  • WxWidgets

ligeras:

  • FLTK
  • Fox
  • Tk
  • Lua IUP
  • último ++
  • dlib

marcos dibujo sin widgets de interfaz gráfica de usuario:

  • SDL
  • El Cairo
12

Me estoy perdiendo algo que preguntarse por qué nadie sugiere OpenGL? Usarlo para 2d sería muy simple. El OP solo quiere colorear un pixel. No es más simple que glBegin/glColor/glVertex/glEnd.

+9

OpenGL no garantiza una salida de píxeles idéntica en todas las implementaciones. –

+0

@ user82238 es correcto, pero ¿existe tal API acelerada por hardware? http://stackoverflow.com/questions/7922526/opengl-deterministic-rendering-between-gpu-vendor | http://stackoverflow.com/questions/3919307/is-there-a-2d-graphics-api-with-both-pixel-perfect-drawing-and-2d-hardware-accel (por ejemplo, permitir la rotación/escalado de sprites acelerados/blending/z-order). –

+0

Y si simplemente está haciendo píxeles RGB, sin una elegante iluminación/etc., no veo una implementación que dé una salida radicalmente diferente, si es que hay alguna diferencia. Pero, diablos, ahora, al pensar en eso, 7.5 años después, podría simplemente "blitear" una "pantalla" en la memoria, y usar OpenGL/etc. simplemente para arrojar el resultado a la pantalla. –

3

Un buen motor que encontré es Angel-Engine. Información en el sitio del proyecto:

  • funcionalidad multiplataforma (Windows y Mac)
  • Actores (objetos del juego con el color, la forma, las respuestas, los atributos, etc.)
  • Texturizado con Transparencia
  • "Animaciones" (textura swapping a intervalos definidos)
  • de cuerpo rígido Physics
    • Un programador inteligente puede hacer física suave-cuerpo con él
  • Sound
  • Representación de texto con varias fuentes
  • Sistemas de partículas
  • Algunos básica AI (máquina de estados y la búsqueda de caminos)
  • Config procesamiento de archivos de
  • registro
  • entrada de un ratón, un teclado o controlador de Xbox 360
    • entradas vinculante de un archivo de configuración
  • Python Scripting
    • Dentro de la consola de juegos

Algunos usuarios (incluido yo) han con éxito (sin mayores problemas) compilado bajo Linux.

-1

Una plataforma biblioteca de gráficos 2D cruz para .Net es The Little Vector Library se podría utilizar en conjunción con Unity 3D (recomendado) o Xamarin, por ejemplo, para crear gráficos 2D en una variedad de plataformas.

+2

Esto parece ser solo para .NET? El OP pidió C/C++ y multiplataforma. –

+2

¡Gracias, esta respuesta fue muy útil para mí! – Thomas

Cuestiones relacionadas