Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - Tarzan

#1
Programación gráfica / Dudas de conceptos en Ogre3D
28 de Enero de 2008, 06:24:52 PM
Ok chicos!!

Muchas gracias!!

Ya tengo una buena dósis de lectura pendiente..jeje.
#2
Programación gráfica / Dudas de conceptos en Ogre3D
28 de Enero de 2008, 02:57:01 PM
Buenas a todos,

He empezado a leer el Libro: "Pro Ogre3D Programming" y me han surgido algunas dudas básicas.

En el Capítulo 4 habla sobre la inicialización de la variable root.
Este objeto principal, ¿Qué es exactamente?.
En el constructor del mismo puedo pasarle un par de archivos de configuración del propio Ogre ("plugins.cfg" y "Ogre.cfg") y un archivo de Log propio para registrar errores de compilación o fallos durante la ejecuciónd e la aplicación.

En los archivos .cfg parece que puedo configurar características propias del hardware de vídeo y mostrar una ventana inicial para que el usuario elija la tarjeta y el modo de vídeo.
Mi pregunta es por esa instancia root, (parece un objeto muy poderoso pero no entiendo muy bien qué representa en el Ogre3D).

Por otra parte, he llegado a la parte en la que se crea una ventana y aparecen dos líenas de código básicas:

root->initialise(true, "My Render Window");
RenderWindow *window = root->getAutoCreatedWindow();


Deduzco que la ventana se crea en la segunda línea con el método getAutoCreatedWindow(). Para qué sirve la función initialise entonces?
Me gustaría saber qué hacen exactamente estas dos funciones para entender mejor el funcionamiento de Ogre.

Saludos
#3
Programación gráfica / Introducción a Ogre3D
28 de Enero de 2008, 12:01:54 AM
Buenas Tamudo!!

Pues sí que era eso!!... Esas 3 líneas estaban mal escritas en el fichero winnt.h... Pero ¿Cómo es posible que vengan mal como quien dice "de fábrica"?... Lo nunca visto como tú bien dices...

Te escribo como estaban por si alguien que sigue los pasos de tu guía se encuentra con el mismo problema:

typedef void *PVOID;
typedef void *POINTER_64 PVOID64;


Esto el compilador de Visual C++ 2005 no lo entiende bien y se queja...

Yo escribí esto:
typedef void *PVOID;
typedef void *POINTER_64;
typedef void *PVOID64;


y la aplicación compila de maravilla... sin errores ni nada...

No sé si Microsoft no comprueba las cosas o utilizan el compilador de Borland... en cualquier caso... ya está arreglado.

Por cierto Tamudo, he observado que el ejecutable está dentro de la carpeta debug (en el interior del proyecto) y, al iniciarlo, me indica que debo copiar alguna dll del Ogre3D (ogreMain_d.dll)... Ya había leído yo que esto pasaría..jeje... Voy a buscarlas y probarlo de una vez que tengo muchas ganas de iniciar mi primera aplicación en Ogre3D..

Muchísimas gracias por todo, de verdad!!

Un saludo.
#4
Programación gráfica / Introducción a Ogre3D
27 de Enero de 2008, 11:09:22 AM
Buenos días,


Teniais razón!! lo había incluído todo en el apartado de ejecutables y por eso no lo encontraba... Lo he cambiado todo según el ejemplo de tamudo... Creo que ahora está bien porque sí encuentra los archivos pero cuando compilo el ejemplo (es simplemente el código generado por el Visual cuando creo un proyecto tipo Ogre3D), me avisa de un error con el archivo winnt.h.

Este error no es porque no lo localice sino que me dice error de sintaxis o falta el especificador de tipo ";".

------ Operación Generar iniciada: proyecto: Prueba1, configuración: Debug Win32 ------
Compilando...
Prueba1.cpp
c:\utilidades\programacion\microsoft sdk\include\winnt.h(222) : error C2146: error de sintaxis : falta ';' delante del identificador 'PVOID64'
c:\utilidades\programacion\microsoft sdk\include\winnt.h(222) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
c:\utilidades\programacion\microsoft sdk\include\winnt.h(5940) : error C2146: error de sintaxis : falta ';' delante del identificador 'Buffer'
c:\utilidades\programacion\microsoft sdk\include\winnt.h(5940) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
c:\utilidades\programacion\microsoft sdk\include\winnt.h(5940) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
El registro de generación se guardó en el "file://c:\Utilidades\Programacion\MVC++ 8\Proyectos\Prueba1\Prueba1\obj\Debug\BuildLog.htm"
Prueba1 - 5 errores, 0 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========


Son 5 errores de sintaxis en el fichero winnt.h de SDK de Microsoft.
Uff... ¿Cómo es posible que falle ése archivo si yo no lo he tocado?


Lo único que he hecho ha sido abrir el Visual, darle a un proyecto nuevo tipo :Ogre3D Application" y compilar. No he incluído ninguna línea ni modificado nada.

¿Hay alguna incompatibilidad con algo?


Os agradezco muchísimo vuestra ayuda...

Un saludo.
#5
Programación gráfica / Introducción a Ogre3D
26 de Enero de 2008, 11:40:44 AM
Hola Tamudo,

He seguido los 5 pasos al pie de la letra y sigo teniendo problemas al compilar la aplicación. El compilador no encuentra el fichero windows.h.
Te explico un par de cosas en las que dudo que estén bien:

Por una parte, he comentado como decía en tu Post las 4 líneas del fichero AppSettings.htm (líneas 441-444) con los caracteres // al principio de cada línea. Imagino que estos serán los caracteres correctos para comentar esas líneas y no <!-- --> por ser un fichero html, verdad?

Y por otra parte, lo que pienso que no he hecho bien es el tema de los directorios. Herramientas->Opciones->Proyectos y Soluciones->Directorios.... Aquí tengo las siguientes líneas y en este orden:

C:\Utilidades\Programacion\SDK903\Include
C:\Utilidades\Programacion\SDK903\Lib

Estas dos son para las librerías DirectX que, como decías en tu Post, deben estar al Principio.

C:\Utilidades\Programacion\Microsoft SDK\Include
C:\Utilidades\Programacion\Microsoft SDK\Lib
C:\Utilidades\Programacion\Microsoft SDK\Include\mfc
C:\Utilidades\Programacion\Microsoft SDK\Bin

Estas son las que añadí para que capturara las librerías del SDK de Microsoft. He comprobado que dentro de la carpeta include se encuentra el fichero windows.h del cual, el compilador se queja.

$(VCInstallDir)bin
$(VCInstallDir)PlatformSDK\bin
$(VCInstallDir)Common7\Tools\bin
$(VCInstallDir)Common7\Tools
$(VCInstallDir)Common7\ide
$(ProgramFiles)\HTML Help Workshop
$(FrameworkSDKDir)bin
$(FrameworkDir)$(FrameworkVersion)
$(VSInstallDir)
$(PATH)


Estos se crearon de forma automática al instalar el Visual c++ 2005 y no los he tocado. No sé si están bien o si debo modificarlos, si sobran o qué.... El caso es que pienso que algo está mal en estas especificaciones de Directorios porque no encuentra el windows.h que se encuentra en:
C:\Utilidades\Programacion\Microsoft SDK\Include

La ruta de instalación del Visual c++ 2005 Express es:
C:\Utilidades\Programacion\MVC++ 8

¿Ves algo erróneo?... Sabes qué puedo estar haciendo mal...

Gracias por todo.

Saludos.
#6
Programación gráfica / Introducción a Ogre3D
24 de Enero de 2008, 09:45:51 AM
Hola tamudo,


Te agradezco que hayas publicado esta ayuda de una forma tan ordenada... Me ha venido genial tener los links de ciertas herramientas y las anotaciones sobre la configuración son excelentes.

He seguido las instrucciones al pie de la letra, o eso creo.
Tengo instalado el Visual c++ express 2005 con el service Pack 1.
Me he descargado el sdk de Microsoft Platform, el sdk de las directX y el Ogre3D.
Lo he instalado todo y me he descargado finalmente el plugin que indicas para habilitar la opción de crear un Proyecto de Ogre3D con el VisualC++ 2005.

He registrado el Visual y modificado los archivos de configuración como explicas. También he añadido rutas de includes y ficheros binarios a los Directorios en el menú de herramientas.

Sin embargo, cuando creo un proyecto nuevo (Ogre3D Application) me genera un código automático y, si le doy a compilar me lanza un error:

windows.h such file or directory.

Es como si no encontrar ese archivo .h, pero he comprobado que está en el directorio INCLUDE del sdk Platform de Microsoft que he instalado y AÑADIDO a las rutas de Directorios en: Herramientas->Opciones->Soluciones y Proyectos->Directorios

¿Qué puedo estar haciendo mal para que no encuentre esa librería si está en la ruta de directorios añadida?
#7
Programación gráfica / Configuración Ogre3D con Dev-cpp
24 de Enero de 2008, 09:39:45 AM
Hola Martínez,

creo que tienes razón, también he estado leyendo en varios foros y parece ser que, Ogre3D y Dev-Cpp no son compatibles.

He instalado el Visual C++ Express que es gratuito... Espero que pueda hacerlo funcionar con todos los paquetes muy pronto..jeje

Muchísimas gracias por tu ayuda

Un saludo.
#8
Programación gráfica / Configuración Ogre3D con Dev-cpp
22 de Enero de 2008, 08:45:52 AM
Uff... Martínez no sé qué hago mal pero no consigo compilar el ejemplo que me diste, te explico:

He añadido la palabra -lOgreMain en dos sitios,

Herramientas->Opciones del Compilador
He activado la casilla:
Añadir estos comandos a la línea de comandos del linker
He escrito en el campo de texto -lOgreMain


Y también lo añadí como bien dices en :
Proyecto->Opciones del proyecto->Parámetros->Linker
Añadí -lOgreMain

Cuando compilo el main.cpp me dice lo siguiente:
Cannot find -lOgreMain
Id returned 1 exit status
[Build Error] [Prueba1.exe] Error


He tratado de añadir el archivo, los únicos archivos que he encontrado y que se llamen así son
//OgreSDK/bin/debug/OgreMain_d.dll
//OgreSDK/bin/release/OgreMain.dll

También los he añadido (no sé si son estos), como me dijiste en:
Proyecto->Opciones del proyecto->Parámetros->Linker
Añadir archivo

pero nada de nada.. me sigue dando el mismo error...
He mirado el post que me pusiste pero no saco nada en claro pues parece que he seguido los pasos...

Uff... estoy más perdido que un caracol en la playa....
¿Sabes qué puedo estar haciendo mal?

De nuevo te agradezco la ayuda prestada....
Un saludo.
#9
Programación gráfica / Configuración Ogre3D con Dev-cpp
21 de Enero de 2008, 08:32:04 AM
Buenas martínez,

Gracias por tu ayuda, te cuento hasta donde he llegado.
He creado el proyecto como dijiste y he copiado el código que indicabas... He guardado el archivo como Main.cpp y he copiado los includes de los samples en el directorio de Ogre (Este directorio está añadido en las Opciones del Dev-Cpp para que sean accesibles desde cualquier aplicación).

Mi problema está ahora en el linker. He compilado y me da varios errores de linker.. En herramientas->Opciones del Compilador hay una campo de texto con una casilla que dice: "Añadir estos comandos a la línea de comandos del linker". Esto me imagino que son opciones de ejecución, no?.. para ejecutar la aplicación pasándole unos parámetros... ¿Es así?.
Cómo debo configurar las opciones del linker?.. qué debo escribir?

Muchas gracias por la ayuda.

Saludos.
#10
Programación gráfica / Configuración Ogre3D con Dev-cpp
18 de Enero de 2008, 12:22:38 PM
Gracias Martinez por tu rapidez en contestarme,

He ejecutado el dev-cpp y he abierto el fichero ExampleApplication.h. Ahora bien, Dónde está el .cpp para que pueda compilarlo y lo que es más importante, que archivos de pluggins y configuración debo meter junto al ejecutable que obtenga una vez compilados ambos archivos (.h y .cpp).

Saludos.
#11
Programación gráfica / Configuración Ogre3D con Dev-cpp
18 de Enero de 2008, 08:33:50 AM
Buenás a tod@s!!

Tengo instalado en mi equipo el Dev-cpp 4.9.9.2 y también he instalado el Ogre3D SDK 1.4.6 for Code::Blocks + MinGw C++ Tools.

He seguido las instrucciones de la Wiki de Ogre3D y, en el panel de configuración del Dev-Cpp he añadido las siguientes líneas de Directorios:

Herramientas->Opciones del Compilador
en Librerías: (Lib)
\\Dev-cpp\Ogre3D\Lib

en Includes c++
\\Dev-cpp\Ogre3D\Include

No sé si me falta algo más... Tampoco he podido compilar ningún ejemplo.
Podíes decirme donde conseguir un cpp sencillito que utilice las funciones de Ogre para que pueda compilarlo y ejecutarlo?

Las de la página oficial de Ogre3D no me valen porque son demasiado complejos y no consigo compilarlos...

Un saludo.
#12
Programación gráfica / Comparativa de Engines
11 de Enero de 2008, 02:46:38 PM
Buenas a todos/as,

He estado leyendo muchos post y en muchos foros sobre engines comerciales y de licencia libre, algunos verdaderamente sorprendentes, caros, completos, otros con limitaciones, más baratos, etc...

Creo que no estaría mal agrupar conocimientos sobre todas estas herramientas con el fin de que cada uno pueda elegir sabiamente según sus necesidades.
Casi todos los comentarios sobre unos y otros están repartidos por la web y, estoy seguro, de que muchos de nosotros conocemos engines desconocidos para otros.

Me gustaría que agrupáramos toda la información posible y plasmarla de una forma estructurada para que todos podamos identificar y reconocer las ventajas y desventajas de cada uno.

He leído los post de tamudo y he de reconocer que hay información muy buena sobre Ogre3D pero, tal vez podríamos avanzar un poco más si lo comparamos con las características que presentan otros engines: irrlicht, TrueVision3D, etc..)

Propongo escribir un post (dentro de este mismo) cuyo título sea Engine1 VS Engine2 y cuyo contenido hable únicamente de esos dos engines.
Evidentemente si alguien tiene más información sobre los mismos puede escribir otro post incluyéndola. (Es una idea, no quiero que nadie piense que trato de forzar un sistema)... Tal vez lo suyo sería tener un tema general titulado Engines y dentro del mismo hablar sobre unos y otros...

La idea de comparar de 2 en 2 me parece muy buena puesto que, de esta forma, se reconocen mejor las características de uno y otro.

Lista de Engines posibles a comparar:

Ogre3D
Irrlicht
TrueVision3D
3D Game Studio
C4 Engine
XNA (Wrapper en c#)
GDK (Wrapper en C++ para Visual c++ 8)
Blender3D
Torque (distintas herramientas que tiene)
Blade3D
DarkBasic Pro
GameMaker 6
Unity 3d
RealmForge
Crystal Space

etc...

Podría ser interesante que los post siguieran una estructura o forma:

características Engine1

1
2
3
'
N

características Engine2

1
2
3
'
N

y a continuación las ventajas y desventajas de uno respecto al otro.


Bueno, si algunos estáis interesados en esta idea me complacerá participar con vosotros.

Un saludo ;)
#13
Me apunto!!

Estoy muy interesado en aprender a programar escenarios interactivos en 3D. Hace poco estuve llamando e informándome sobre el curso de CREAVIDEOJUEGOS online pero, aunque no era caro, ando un poco escaso de presupuesto este año.

Conozco el lenguaje c/c++ bastante bien y he hecho alguna cosilla en DirectX.... En OpenGL sólo he llegado a  mostrar polígonos por pantalla y a entender un poquito algunas funciones empleadas.

Podría dedicarle unas 7-10 horas semanales y vivo en España.

Espero que la iniciativa siga adelante y podamos iluminarnos en este complicado camino tan duro, original y creativo.

Mi mail es bast13@hotmail.com


Un saludo.
#14
He reinstalado la aplicación de nuevo.
Esta vez lo he instalado todo y sigue dándome el mismo error.

Pienso que no creo bien la base de Datos.
A ver, yo he creado un alias en el BDE que hay en Inicio->Configuración->Panel de Control->BDE ADMINISTRATOR

En el Administrador BDE creo una nueva base de datos con las siguientes opciones:

type: standard
driver: paradox
enabled bdc: false
path:  c:\....


y dentro del Builder sigo los pasos que he citado en el post anterior...

¿Alguien ha creado usado alguna vez Builder C++ para enlazar formularios con una base de datos?
#15
Jooo....

Swapd0, nunca has tenido este problema?
Usas también el Builder 6.0?

Yo sé que es la versión Enterprises porque lo dice el software instalado...
Podrías decirme que pasos sigues tú para crear un Módulo de Datos y enlazarlo con un formulario de la aplicación principal?

Yo he seguido estos pasos:

1. Crear un Proyecto aplicación win32... (Main.cpp)
2. Asignar componentes al form de la aplicación (labels, edits, botonesetc...) para crear el formulario
3. Crear un Módulo de Datos dentro del Proyecto
4. Incluir el Módulo en el Main.cpp (#include "Datos.h")

HASTA AQUÍ COMPILA Y SE EJECUTA PERFECTAMENTE

4. Añadir un TDataSource y una tabla al Módulo de Datos

Al compilar funciona bien. Pero al ejecutar el Main.cpp me informa del error:

"Application is not licensed to use this feature"

Por favor, si alguien ha seguido estos pasos y no obtiene este error ¿Puede decirme qué versión tiene?... ¿Alguna diferecia?... ¿Hago algo mal?...

Saludos