Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: wendal en 24 de Julio de 2006, 04:47:09 PM

Título: Librerías
Publicado por: wendal en 24 de Julio de 2006, 04:47:09 PM
Hola

Estoy empezando a elaborar un pequeño engine genérico en c++. Me gustaría que fuese multiplataforma y que diese soporte a diferentes APIs. Es decir, que el desarrollo del cliente del engine fuese completamente independiente de la plataforma (Unix, Mac, PC) y también de las APIs (OpenGL o DirectX para el renderer,  Win32 o sdl para las ventanas, DirectInput o sdl para el sistema de entrada, etcétera). Lo he empezado a desarrollar con el visual studio 2005 y me gustaría oír sugerencias para la implementación de las librerías para cada uno de los subsistemas.

Gracias
Título: Librerías
Publicado por: tamat en 24 de Julio de 2006, 05:10:57 PM
la palabra que buscas es Wrappear!
Título: Librerías
Publicado por: sés en 25 de Julio de 2006, 03:47:36 PM
Mi librería BGL pretendía ser una base para eso. OJO, sólo la base (acceso a ratón, teclado, video, etc.), nada de motor 3D o similar.

Lamentablemente el proyecto lleva un tiempo parado. Aparte de lo que hay en la web, sólo añadí soporte para OpenGL... pero no llegué a probarlo mucho.

Si te interesa o quieres saber alguna cosilla...
Título: Librerías
Publicado por: ZeruGiran en 25 de Julio de 2006, 03:50:48 PM
Para los graficos en GL esta Glut o SDL, los dos tienen su sistema de entradas, nosotros usamos Glut pero poco a parece que la gente ha ido prefiriendo SDL. Cada vez menos proyectos usan Glut. En cuanto a DirectX solo es para Windows.

Hay quien hace que sus engines puedan usar GL o DX, nunca he entendido bien porque, dado que con GL te rulara en Windows. ¿Por que no solo hacerlo para GL?

Para Audio esta SDL Mix y tambien OpenAL. Nosotros usamos OpenAL, y Vorbis para tocar archivos OGG. Tambien esta DirectSound solo para Windows.

Puedes usar VS2005 o GCC para Windows y GCC para Linux, en mac no se.

Para el tema de Red hay varias multiplataforma, nosotros usamos una que hicimos, se llama SolarSockets. Se puede descargar gratuitamente.

Saludos
Título: Librerías
Publicado por: CoLSoN2 en 25 de Julio de 2006, 05:37:57 PM
¿Es para 2D o 3D? En cualquier caso, te recomiendo que no reinventes la rueda otra vez. Es algo que ya se ha hecho mil veces y mejor de lo que tú o yo lo podamos hacer en un tiempo razonable. Por supuesto, si es por aprender, adelante.
Título: Librerías
Publicado por: wendal en 25 de Julio de 2006, 11:20:27 PM
Lo hago para consolidar conceptos e ir incorporando ideas muy concretas relativas a un determinado tema a mi propio engine, consiguiendo así  la independencia necesaria para centrarme en la implementación de un determinado módulo usando una tecnología concreta que excite mi curiosidad Seguramente será mucho menos eficiente que otros, aunque espero que de todos modos sea funcional. Hace tiempo desarrollé un motor 2D multiplatarforma para móviles, de modo que esta vez me centraré en el 3D.

sés, he estado mirando tu librería BGL y creo que el enfoque es muy similar a lo que tengo en mente. Por ahora he desarrollado el framework, con la interfaz para las ventanas desarrollada para win32 y muy primitivamente para sdl y he conseguido el objetivo de que sea completamente plugable, que a estas alturas del proceso de desarrollo es el prioritario. Probablemente más adelante te pida ayuda.

Un saludo
Título: Librerías
Publicado por: [EX3] en 26 de Julio de 2006, 01:30:21 AM
Cita de: "ZeruGiran"Hay quien hace que sus engines puedan usar GL o DX, nunca he entendido bien porque, dado que con GL te rulara en Windows. ¿Por que no solo hacerlo para GL?
Seguramente por que DirectX aprovechara mejor las capacidades de Windows que OpenGL supongo. Puedo equivocarme ya que hablo desde la mas pura teoria pero ciertamente, para desarrollar para dos API's siendo una exclusiva de un S.O. y la otra multiplataforma mejor hacerlo con la 2º, menos trabajo en desarrollo y un resultado igual de aceptable.

Salu2...
Título: Librerías
Publicado por: zupervaca en 26 de Julio de 2006, 09:20:17 AM
Yo uso d39 y ogl, tengo las dos por que me gusta usar lo mas rapido en cada compilacion, es decir, si d39 es mas rapido en windows pues uso d3d9 en windows, si fuera ogl mas rapido en windows pues usaria ogl, pero no obstante daria posibilidad de usar d3d9 ya que ademas asi dejas tu libreria preparada para poder meterle un render nuevo sin dificultades, por ejemplo podrias tener un render para d3d7, d3d10, etc. lo mismo sucede para sistemas de ventanas, audio, etc.