Sábado, Junio 5th, 2010

Ogre3D es un motor multiplataforma para trabajar con gráficos de forma profesional y fácil. Se puede utilizar con el lenguaje de programación C++ o con el lenguaje Python. Hay que mencionar también que Ogre3D es un proyecto de código abierto por lo que puedes usarlo para tus proyectos sin pagar absolutamente nada. El proyecto tiene más de 9 años por lo que resulta una alternativa inteligente a OpenGL, que también es de licencia libre y multiplataforma.
Ogre3D ha sido diseñado para minimizar el esfuerzo que requiere programar videojuegos o trabajar con gráficos complejos, pero sin perder la potencia que se requiere, por lo que es ideal para renderizar escenas en 3D
Implementación de Ogre3D en Python
Ogre3D se puede trabajar con C++, sin embargo existe un implementación que no se debe menospreciar llamada PyOgre, que es un proyecto que busca implementar la potencia de este motor de renderizado y trabajo con gráficos, con la sencillez del lenguaje de programación Python. Actualmente existe poca documentación, pero la que hay es realmente la necesaria para poder introducirse en el mundo de la programación de juegos 3D con Python y Ogre. Puedes encontrar la documentación en la Wiki oficial y una completa gama de tutoriales para programar juegos con python y Ogre.
Ogre3D es un motor realizado en realidad para trabajar con gráficos, sin embargo, en la industria, se ha usado mucho para la realización de videojuegos comerciales, claro está, Ogre3D está bajo licencia LGPL, lo que quiere decir que usted puede usarlo y modificarlo siempre y cuando muestre o libere los cambios realizados.
Sitio oficial | Motor Ogre3D
Web | Implementación de Ogre en Python
Miércoles, Marzo 3rd, 2010
El Api de Windows son librerías que contienen funciones ya definidas que permiten trabajar con ciertas funciones del sistema operativo Windows y así hacer que nuestro código sea más liviano y de cierta forma que trabaje más a bajo nivel. Existen distintas versiones de Api de Windows (WinAPI) 16, 32 y 64 bits que es la más reciente. En Windows de 32 bits estas funciones se encuentran en los archivos kernel32.dll y advapi32.dll, para los conocedores de Visual Basic es importante saber esto ya que para llamar las Api se requiere conocimiento de donde se encuentran estas funciones.
Api de Windows en C
El Api de Windows se puede acceder desde la librería windows.h en el lenguaje de programación C, esto lo hacemos como un simple include:
#include<windows.h>
int main(){
MessageBox(0,"Esta advertencia hace uso del MessageBox, que proviene del Api de Windows","Titulo del mensaje",MB_OK);
}
El ejemplo anterior, si prueban ejecutarlo, les muestra un mensaje en pantalla a través de un cuadro de dialogo, este cuadro de dialogo hace uso directo del Api de Windows, que en este caso hace uso de la función MessageBox.
Si miramos el MSDN de Microsoft, esta función tiene ciertos parámetros que son:
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
El primer parámetros es Hwnd, que representa el “manejador de la ventana” y que por defecto es Null o cero (0). El segundo parámetro hace referencia al contenido o mensaje que llevará el cuadro de texto (lpText), el tercer parámetro representa el “caption” o título de la ventana y el último parámetro viene a ser el más completo (UINT uType) el tipo de cuadro de dialogo que queremos que se visualice. Por ejemplo si quiero un cuadro de dialogo de este tipo:

El código resultante deberá contener den de su último parámetro, el atributo correspondiente para mostrar dos botones, uno que diga aceptar y el otro botón que diga cancelar:
#include<windows.h>
int main(){
MessageBox(0,"Mensaje de programandoideas.com","Titulo del mensaje",MB_OKCANCEL);
}
Todos los parámetros del Api MessageBox los podemos encontrar en el MSDN de Microsoft, que es el sitio oficial para desarrolladores.
Sábado, Enero 2nd, 2010
Hay una función del api de Windows que nos permite obtener en una cadena con el directorio de Windows activo, el api como tal se llama GetWindosDirectory y para usarla hay que agregarle ciertos parametros:
UINT WINAPI GetWindowsDirectory(
__out LPTSTR lpBuffer,
__in UINT uSize
);
Primero una variable tipo array de caracteres que permita guardar el resultado, y el segundo parametro es la limitación de la cadena obtenida por así decirlo. Veamos un ejemplo:
#include<stdio.h>
#include<windows.h>
int main() {
char Directorio[255];
GetWindowsDirectory(Directorio,255);
MessageBox(0,Directorio,"Directorio de Windows",MB_OK);
}
Claramente primero se debe declarar la librería de Windows ( windows.h) luego declaramos el api y como está en el ejemplo anterior si lo ejecutamos podremos ver el directorio de Windows actual.
Un tip interesante es que en el segundo parametro del api en vez de poner directamente un entero podemos poner el “MAX_PATH” que es algo así como un buffer de memoria de almacenamiento cuyo equivalente es 256; Veamos un ejemplo:
GetWindowsDirectory(Directorio,MAX_PATH);
Haciendo esto podemos optimizar un poco más el código.
Enlace: Uso del API según MSDN de Microsoft