Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Engine Con Varios Subsistemas De Renderizado

Iniciado por CoLSoN2, 23 de Noviembre de 2004, 07:18:14 AM

« anterior - próximo »

CoLSoN2

 Hoy en día es bastante normal que la mayoría de engines (al menos open source) tengan implementaciones (ej. clase GfxSystem) soporte para DX (DxGfxSystem) y OGL (OglGfxSystem)y al ejecutar la aplicación deciden cual cargar (de una DLL).

¿alguien sabe si el tema DLLs funciona de igual modo en Mac OSX que en Win32?

Ahora mismo necesito hacer algo así, pero me gustaría saber varias cosas:
- ¿Qué distintas posibilidades en cuanto al diseño hay? Digo esto porque no soy muy amigo de todo el tema de tener varias DLLs propias del engine por ahí pululando. Además no son partes que se deberán compilar/usar o no dependiendo de la plataforma (por ej la parte DirectX de un engine no se compilaría ni usaría en Linux) ya que mis dos subsistemas serán OpenGL y vía software (es un motor 2D), por lo que siempre existirán los dos. Lo cual me lleva a otro requisito y es que deba poder escoger cual usar en tiempo de ejecución (si no hay soporte adecuado para Ogl en la máquina pasar a modo software).

Tener clases abstractas como GfxSystem, Mesh, etc. y luego implementaciones especificas para cada API o lo que sea, es obvio, pero por ejemplo, si mi clase GfxSystem es un singleton, como indico en tiempo de ejecución a cual llamo? Debo tener por narices un método Intermediario::getGfxSystem() que me devuelva la implementacion específica o algo así? (habiendo hecho algo antes como Intermediario::setRenderer(OpenGL))
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Javi SJ Cervera

 En Mac las Dlls son ficheros .dynlib, y sí, básicamente funcionan igual k las dlls de Windows.
== Jedive ==

Pogacha

 Pero si vas a hacer algo multiplataforma te recomendaria OpenGL unicamente, que para eso se hizo!.
Saludos

DraKKaR

 Yo también implementé un sistema como el que dices. Si te interesa puedes ver el código fuente de mi motor (via WebCVS) o bajartelo como usuario anonimo de "cvs.sf.net:/cvsroot/sandra engine".

Sandra Engine
Proyecto Sandra Engine en sourceforge






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.