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

Temas - Taris

#1
Jad Engine / Error de tutorial
08 de Octubre de 2009, 04:11:45 PM
Hola muy buenas
He posteado también en el foro oficial.
Tengo un problemilla y es que empecé hacer los tutoriales en vb.net de hecho estoy en el primero, lo tengo todo hecho pero cuando llega al comando backbuffer.Render() me sale nullreferenceexception he mirado los tutos de c# i me van correctamente incluso los he puesto en una estructura de archivos similar i continua fallando os pongo el codigo.
He ido haciendo pruebas sobre los archivos de textuar, por ejemplo cambiar nombre para ver si me decia filenotfoundexception i esto es correcto, creo que por la estructura de directorios no serà.

El caso es que hice un primer tutorial de solo mostrar la ventana, totalmente vacia i este si que va creo que el error es en el objeto cubo o malla.

Imports System.Windows.Forms
'referncias directx
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
'Referencias Jad engine
Imports JadEngine
Imports JadEngine.Scene
Imports JadEngine.Video
Imports JadEngine.Core
Imports JadEngine.Input
'Nota:*******************************************************************************************************
'Cuando sobreescribimos los metodos tenemos que comentar lo que devuelven los
'metodos padre ejemplo de la funcion IniGame tiene return MyBase.IniGame(form); Tenemos
'que devolver el valor que nosotros queramos si no si lo dejamos sin comentar devolveria
'el valor de la funcion padre i daria un error.
'Esto es para todas las funciones que sobreescribimos
'en este caso.
'************************************************************************************************************
Public Class Tuto01
    Inherits JApplication   
    'indicamos si la ayuda debe estar visible o no
    Dim showHelp As Boolean = True
    'El engine llama ha este metodo despues de haber creado el dispositivo
    Public Overrides Function InitGame(ByVal form As System.Windows.Forms.Form) As Boolean
        'Return MyBase.InitGame(form)
        ' Crea los objetos de texturas i fuentes
        Jad.AfterCreateDevice()
        'Carga las texturas por defecto, fuentes, sombras...
        Jad.LoadCreateInHouse()

        '*****************************Aquí iria el codigo para cargar i empezar la aplicación****************       
        'Nota importante en jad la distancia se mide en metros.       

        ' Creamos JMesh: este objecto contiene toda la informacion acerca de vertices e indices
        'en este ejemplo creamos un cubo de 3 metros de altura,anchura y profundidad.       
        Dim mallaCubo As JMesh
        mallaCubo = JMesh.CreateCube(3, 3, 3) 'New JMesh()       
        'Ahora utilizamos el objeto JMeshObject que contiene la informacion de las mallas y sus materiales para renderizar
        'No hace falta crear la malla porque ja lo hemos hecho
        Dim cubo As JMeshObject       
        cubo = Jad.Scene.MeshObjects.Create("cubo01", false)
        'asodiamos  la malla antes creada con el objeto malla
        cubo.Mesh = mallaCubo

        ' Creamos un array de materiales de un solo elemento.
        ' Es necesario un array porque las mallas pueden necesitar mas de un material o submaterial o subconfiguraciones:
        ' informacion para mas de 1 material.
        Dim material(1) As JMaterial
        material(0) = New JMaterial("tocho")
        'un material puede estar compuesto por varias capas, de modo que pueda contener diferentes efectos.
        'en este ejemplo nosotros usaremos solamente una capa
        'crear capa
        Dim capa As JMaterialLayer
        capa = New JMaterialLayer
        'añadimos la capa al material creado
        material(0).AddLayer(capa)
        'Configuramos la textura difusa. El engine detecta si la textura no existe y la carga.
        'Si existe, solo la referencia.
        'No debemos indicarle la extension del archivo. El engine la buscara las diferentes extensions hasta encontrar la textura.
        'Para buscar texturas el engines entrará en el directorio base/textures, y se movera recursibamente hasta encontrar
        'la textura. Gracias a esto, puedes crear subcarpetas para ordenar las texturas sin necesidad de cambiar el engine.
        capa.DiffuseMap.Texture = Jad.Video.Textures.Create2D("brick_d", True)
        'ajustamos el material al objetoMalla
        cubo.Material = material

        'Creamos una omni luz
        Dim luz As JOmniLight
        luz = CType(Jad.Scene.Lights.Create("lucecita", JLightType.Omni), JOmniLight)
        'ajustamos la posicion de la luz
        luz.Transform.Position = New Vector3(0, 0, -2.0F)
        'ajustamos intensidad de la luz
        luz.Multiplier = 1.0F
        'ajustamos tipo de atenuación de la luz
        luz.Attenuation.Type = JLightAttenuationType.DualRadius
        'ajustamos comienzo de la atenuacion
        luz.Attenuation.Start = 1.0F
        'ajustamos la distancia donde la luz esta completamenta atenuada
        luz.Attenuation.End = 2.0F
        'ajustamos color de la luz
        luz.Color = JColor.Yellow
        'hacemos que la luz afecte al componente difuso del material
        luz.AffectDiffuse = True
        'hacemos que la luz afecte al componente especular del material
        luz.AffectSpecular = True
        'quitamos sombras
        luz.CastShadows = False
        'Ponemos la luz ambiente
        Jad.Scene.Lights.Ambient = New JColor(0.4F, 0.4F, 0.4F)

        '****************************************************************************************************

        ' Cuando esta todo configurado encendemos el engine
        Jad.Begin()
        'Creamos una clase de entrada que controla el teclado i el raton
        Jad.CreateInput()

        Return True
    End Function

    'Este metodo se ejecuta cada frame y mira si se ha producido una
    'entrada(En este caso de teclado o raton)i ejecuta la accion en el juego
    Public Overrides Function Update() As Boolean
        'Return MyBase.Update()
        'Si la salida no fue creada devolvemos ok
        If Jad.InputDevices Is Nothing Then
            Return True
        End If
        ' Salir de la aplicación? Si han apretado la tecla ESC
        If Jad.Input.Keyboard(Key.Escape).Down Then
            Return False
        End If
        'ayuda
        If (Jad.Input.Keyboard(Key.F1).Pressed) Then
            showHelp = False
        End If

        ' Si todo esta correcto no salimos
        Return True
    End Function


    Public Overrides Sub Render()
        'MyBase.Render()
        'Las vistas estan renderizadas'windows'.El engine crea implicitamente
        'la vista,le 'subbuffer', por defecto.
        Dim backbuffer As JView = Jad.Video.Views(0)
        'Renderizamos la Jad.Scene usando la camara de escena
       
        backbuffer.Render()


        If showHelp Then
            'Obtenemos el acceso a la primera fuente. El engine crea una fuente por defecto
            Dim font As JFont = Jad.Video.Fonts(0)
            ' comienzo de la renderizacion de las fuentes
            Jad.Video.Fonts.Begin()
            ''Escribimos el texto en la primera linea, posicion x=0 i de color amarillo       
            font.RenderLine(Jad.Version + " Apreta ESC para salir", 0, JColor.Yellow)
            'Escribimos texto en la secunda linea, posicion x=0 de color blanco   
            font.RenderLine(Jad.Video.Views.CurrentView.Stats.Fps + " FPS", 0, JColor.White)
            'Final de la renderizacion de las fuentes
            Jad.Video.Fonts.End()
        End If
        'Mostramos lo que contiene el subbuffer.
        backbuffer.Present()
    End Sub

End Class


saludos
#2
General Programadores / Paquetes de instalación
09 de Octubre de 2007, 10:30:04 AM
Hola a todos/as:
  Mi preguntilla es la siguiente:
Tengo un proyecto de instalación creado con una ventana de opciones que segun lo se me haya seleccionado se tendria que instalar o una cosa o otra. El problema esta en que mi proyecto se instala correctament pero cuando selecciono Instalar otra opcion (Otro programa que tiene su propio paquete de instalación) en vez de ejecutar el paquete de instalación de esta aplicación me graba los archivos instalables en la carpet X i lo que quiere es que se ejecute la instalación de ese programa.

   Dicho de otra manera:
      Tengo mi aplicacion X i tengo el Paquete de instalación de MySQL, para instalar X ningun problema pero para Instalar MySQL no se ejecuta el setup sino que se graba el archivo setup en la carpeta del programa X

Otra preguntilla es si kiero configurar automaticament un origen de datos como lo hago, se k tengo que ejecutar el odbcconf.exe i pasar los paramatros necesarios pero no se como hacerlo para que se ejecute antes de la instalación i tampoco se como comprovar si existe el driver XX (en este caso el MySQL Odbc connector)

Estoy utilitzando visual estudio para montar el paquete de instalación
#3
Jad Engine / Sobre El Motor Y Dudillas
24 de Agosto de 2005, 09:19:05 PM
 Wenas yo kisiera saber k es un motor o engine exactamente, k hace, luego que pasos se ha de seguir para construir uno, puedo hacer uno con opengl (estoy comenzando con programacion grafica en opengl, antes habia hecho algo con las bgi pero nada importante). Me baje vuestro motor pero no se como utilizarlo. Si yo tengo un mapa creado con 3ds max como lo utilizo dentro del el motor o un modelo. Que me facilita un motor.


Perdonad por las molestias pero es k necesito saberlo me mata la curiosidad cuando empiezo algo nuevo y no paro asta k no lo se jejejeje perdonad.
#4
 Tengo dos tutoriales hechos. El primero se trata de hacer una ventan con un cuadrado y que si escalamos la ventana el cuadrado continuara siendo cuadrado y al mismo tiempo se escalara. Lo que passa es que no hace exactamente eso (programo en dev), cuando escalo o se hace muy grande o desaparece. En teoria el codigo tiene k estar bien pero no se k puede pasar.

1r tuto codigo:
#include "gl/glut.h"


void Renderescena(void)
{
    //Esta funcion borra un bufer determinado o conjunto de estos.
    //En opengl encontramos varios tipos de bufer (color, profundidad, plantillas y acumulacion)
    //En este caso borramos el bufer de color que es donde se encuentra la imagen guardada internamente y con esta funcion
    //borramos el ultimo dibujo de la ventana.
   glClear(GL_COLOR_BUFFER_BIT);
   //Establecer un color para dibujar, en este caso el rojo. Los parametros son RGB.
   glColor3f(1.0f,0.0f,0.0f);
   /*Dibujar el rectangulo relleno con el color de dibujo. Los parametros pasados son coordenadas de puntos en diagonal
   (x1,y1)(x2,y2) En realidad lo que le decimos al ordenador es dibujar un diagonal desde el punte superior izquierdo
   hasta el punto inferior derecho*/
   glRectf(-25.0f,25.0f,25.0f,-25.0f);
   //ejecuta todos los comandos de opengl que no se hayan ejecutado ya.
   glFlush();
}

void SetupRC(void)
{
    //Establece el color de borrado de la pantalla(pero no la borra), en este caso ventana.
    //los parametros son rojo,verde,azul,alpha son de tipos float.
    glClearColor(0.0f,0.0f,1.0f,1.0f);
   
}
/*Opengl tiene sus propias variables, como por ejemplo esta: Glsizei es una variable numero entero de 32 bits.  
He puesto de nombre W y H  anchura y altura en ingles width y height.*/
//Esta funcion recibe la anchura y la altura siempre que canvia el tamaño de la ventana. Luego manipulamos la informacion.
void ChangeTamano (GLsizei w, GLsizei h)
{
    //Variable de opengl numero de coma flotante de 32 bits.
    GLfloat aspectRatio;
    //Para evitar la division entre 0.
    if(h==0)
    {
       h=1;
       //primero llamamos a esta funcion pasandole los parametros nuevos de anchura y altura (w,h).
       /*lo parametros de esta funcion son esquina inferior izquierda del puerto de vista, no de la ventana, coordenadas X e Y
       , los otros dos son anchura y altura del puerto de vista Width y height.
       Un puerto de vista defian el area donde dentro de la ventana donde opengl puede dibujar*/
       glViewport(0,0,w,h);
       /*Establecemos el sistema de coordenadas. Aunque estemos dibujando en 2D pensar que estamos en un sistema de dibujo de 3D
       por eso lo que hacemos es dejar el valor de la coordenada z en 0 y decirle al opengl que utilizamos una projeccion*/
       glMatrixMode(GL_PROJECTION);
       /*Reestablece el sistema de coordenadas antes de qualquier operacion de matriz, como por ejemplo glOrtho*/
       glLoadIdentity();
    }    
    //Establecer el volumen de recorte (izquierda,derecha, superior, inferior, cerca, lejos).
    //Nuestro volumen de recorte es el espacio de coordenadas visible.
    //aspectRatio o ratio de aspecto es una relacion de un numero de pixels sobre una longitud horizontal.
    aspectRatio=(GLfloat)w / (GLfloat)h;
    if(w<=h)
    {
       /*Esta funcion modifica el volumen de recorte existente, los parametros son (izquierda, derecha, inferior, superior, cerca,
       lejos). Multiplica de la matriz que describe el area de recorte actual
       por la que describimos en sus parametros.*/
       glOrtho(-100.0, 100.0, -100.0 / aspectRatio, 100.0 / aspectRatio, 1.0, -1.0);
       
    }
    else
    {
       glOrtho( -100.0 * aspectRatio, 100.0 * aspectRatio, -100.0, 100.0, 1.0, -1.0);
       
       //esto indica que todas las transformaciones futuras afectaran a nuestro modelo.
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
    }//gracias a este if mantenemos el "cuadrado" cuadrado.
}
main(void)
{
         //Para establecer el modo del bufer. El bufer es donde se guardan los comandos de dibujo en este caso al ser simple
         //todos estos comandos se ejecutan en el dibujo de la ventana.
         glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
         //Crea la ventana y pone como titulo de esta simple.
         glutCreateWindow("Caudrado");
         
         //llama a la funcion que se encarga del borrado de pantalla o del bufer para ser mas exactos. Y luego dibuja la escena.
         //Bufer es una zona de almacenamiento de datos de la imagen. Los componentes de colo o de dibujo se conocen como:
         //bufer de color o bufer de pixeles.
         glutDisplayFunc(Renderescena);
         /*Detecta y controla los canvios en el tamaño en la ventana mediante otra funcion que nos devuelve el tamaño
         de la ventana (anchura y altura) para ello hemos creado la funcion que se llama ChangeTamaño (pondremos tamaño sin eñe
         para que no nos de problemas, que podria pasar)*/
         glutReshapeFunc(ChangeTamano);
         //esta funcion realiza cualquier inicializacion que deberiamos hacer de opengl antes de la presentacion.
         SetupRC();
         
         //Inicia la ejecucion de la estructura principal de la libreria glut y libera todas la s funciones de llamada y a glut.
         glutMainLoop();
     
}


El segundo tutorial se trata de reutilizar el codigo pero esta vez el cuadrado tiene k ir rebotando por los laterales de la pantalla pero si lo hace yo no lo veo. Creo que como ya falla el tutorial anterior y aprobecho casi todo el codigo tb falla este haber k me decis.

2tuto codigo:

#include "gl/glut.h"
///////////////////////////////////////////
//////         Variables            ///////
///////////////////////////////////////////  
   
//posicion y tamaño iniciales de la figura
GLfloat x1=0.0f;
GLfloat y1=0.0f;
GLfloat tamano=25;
//valores para intervenir en el movimiento del cuadrado. Numero de pixeles a mover cada vez.
GLfloat xpaso=1.0f; //esto quiere decir que se movera un pixel cada vez.
GLfloat ypaso=1.0f;
//registrar o guardar los canvios de anchura y altura en las ventanas.
GLfloat windowWidth;
GLfloat windowHeight;

/////////////////
/// Funciones ///
/////////////////

void SetupRC(void)
{
    //Establece el color de borrado de la pantalla(pero no la borra), en este caso ventana.
    //los parametros son rojo,verde,azul,alpha son de tipos float.
    glClearColor(0.0f,0.0f,1.0f,1.0f);    
}
void RenderEscena(void)
{
   //limpiar bufer
   glClear(GL_COLOR_BUFFER_BIT);
   //Seleccion del color para dibujar
   glColor3f(1.0f,0.0f,0.0f);
   //dibujar una figura rectangular con el color seleccionado.
   glRectf(x1, y1, x1+tamano, y1-tamano);
   /*Esta funcion limpia los comandos e intercanvios de dibujo al utilizar doble buffer como en este caso.
   Si utilizaramos esta funcion con un unico buffer la animacion del cuadrado parpadearia. Cuando se utiliza doble buffer
   implicitamente ya se hacer un borrado, por eso no necesitamos utilizar la funcion glFluxh() para ejecutar los comandos de
   el buffer actual, porque lo k hacemos es un intercambio.*/
   glutSwapBuffers();
}
void ChangeTamano(GLsizei w, GLsizei h)
{
   //Variable del ratio de aspecto
   GLfloat aspectRatio;
   //control de division por 0
   if(h==0)
   {
       h=1;
       //posicion del area de recorte, anchura y altura. (x,y,anchura,altura).
       glViewport(0, 0, w, h);
       //Sistema de coordenadas.
       glMatrixMode(GL_PROJECTION);
       //Reestablecer el sistema de coordenada antes de cualquier operacion.
       glLoadIdentity();
       //establecer volumen de recorte
       aspectRatio=(GLfloat)w / (GLfloat)h;
       if(w<=h)
       {
           windowWidth=100;
           windowHeight=100 / aspectRatio;
           glOrtho(-100.0, 100.0, -windowHeight, windowHeight, 1.0, -1.0);
       }
       else
       {
           windowWidth=100 * aspectRatio;
           windowHeight=100;
           glOrtho(-windowWidth, windowWidth, -100.0, 100.0, 1.0, -1.0);
       }
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
   }
   
}
void TimerFunction(int valor)
{
   //invertir la direccion de la figura en el caso que alcance el borde derecho o izquierdo
   if(x1 > windowWidth-tamano || x1 < -windowWidth)
   {
       
       xpaso=-xpaso;
   }
   //invertir la direccion de la figura en el caso que alcance el borde inferior o superior
   if(y1 > windowHeight || y1 < -windowHeight + tamano)
   {
       ypaso=-ypaso;
   }
   //mover la figura
   x1+=xpaso;
   y1+=ypaso;
   /*comprovar los limites cuando la ventan se reduzca y mientras la figura este rebotando y este se encuentre
   de repente fuera del area de recorte*/
   if(x1 > (windowWidth - tamano + xpaso))
   {
       x1=windowWidth - tamano - 1;
   }
   else if(x1 < -(windowWidth + xpaso) )
   {
       x1=-windowWidth - 1;
   }
   if(y1 < -(windowHeight - tamano + ypaso))
   {
       y1=windowHeight - tamano - 1;
   }
   else if(y1 > (windowHeight + ypaso) )
   {
       y1=-windowHeight - 1;
   }
   //volver a dibujar la figura con las nuevas coordenadas.
   glutPostRedisplay();
   glutTimerFunc(3300, TimerFunction, 1);
}
/////////////////
/// Principal ///
/////////////////

main(void)
{
   //Iniciamos el tipo de bufer esta vez sera doble.
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
   //Creamos ventana.
   glutCreateWindow("DobleBufer y animacion");
   //Llamamos a la funcion de dibujo.
   glutDisplayFunc(RenderEscena);
   //Llamamos a la funcion de control de dimensiones de la ventana
   glutReshapeFunc(ChangeTamano);
   // Llamamos a la funcion que establece la cantidad de tiempo para llamar a otra funcion en este caso la de movimiento.
   /*los parametros son (msec "milesimas de segundo que se debe esperar antes de ejecutar la funcion,
   nombre de la funcion k llamamos, valor entero especificado por el usuario que le pasamos a la funcion) */
   glutTimerFunc(33, TimerFunction, 1);
   //Funcion de incializacion antes de la presentacion.
   SetupRC();
   glutMainLoop();
}
#5
General Programadores / Editor Dev-c
22 de Agosto de 2005, 11:39:17 AM
 Wenas a ver si alguien me puede ayudar estoy haciendo unos tutoriales de opengl para posteriormente intentar hacer algun juego sencillo. Para ello utilizo el editor dev-c pero ya me desanima porque en mi primer tutorial (creacion de una ventana con opengl) ya me da un error y no se k passa e provado el mismo codigo en visual c y si va (os estareis preguntando pues, pk no lo haces en Vc? pues pk en el ordenador k tengo instalado este programa es muy viejo y intento instalar el vc en el nuevo pc pero los cd estan dañados o los archivos aunke son nuevos solo los utilice una vez hace mucho tiempo, por eso me baje este editor gratuito el dev-c. Os pongo el tuto y el error haber si me lo sabeis solucionar, creo k es pk no tengo el editor bien configurado o las librerias o algo asi.

#include "gl/glut.h"

void Renderescena(void);
void SetupRC(void);
main(void)
{
         //Para establecer el modo del bufer. El bufer es donde se guardan los comandos de dibujo en este caso al ser simple
         //todos estos comandos se ejecutan en el dibujo de la ventana.
         glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
         //Crea la ventana y pone como titulo de esta simple.
         glutCreateWindow("Simple");
         
         //llama a la funcion que se encarga del borrado de pantalla o del bufer para ser mas exactos.
         //Bufer es una zona de almacenamiento de datos de la imagen. Los componentes de colo o de dibujo se conocen como:
         //bufer de color o bufer de pixeles.
         glutDisplayFunc(Renderescena);
         
         //esta funcion realiza cualquier inicializacion que deberiamos hacer de opengl antes de la presentacion.
         SetupRC();
         
         //Inicia la ejecucion de la estructura principal de la libreria blut y libera todas la s funciones de llamada y a glut.
         glutMainLoop();
}


void Renderescena(void)
{
    //Esta funcion borra un bufer determinado o conjunto de estos.
    //En opengl encontramos varios tipos de bufer (color, profundidad, plantillas y acumulacion)
    //En este caso borramos el bufer de color que es donde se encuentra la imagen guardada internamente y con esta funcion
    //borramos el ultimo dibujo de la ventana.
   glClear(GL_COLOR_BUFFER_BIT);
   
   //ejecuta todos los comandos de opengl que no se hayan ejecutado ya.
   glFlush();
}

void SetupRC(void)
{
    //Establece el color de borrado de la pantalla(pero no la borra), en este caso ventana.
    //los parametros son rojo,verde,azul,alpha son de tipos float.
    glClearColor(0.0f,0.0f,1.0f,1.0f);
   
}


Ese es el errroooorrrr!!!!
me marca la libreria osea la primera linia del codigo y dice lo siguiente:

Compilador: Default compiler
Ejecutando  g++.exe...
g++.exe "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp" -o "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.exe"   -ansi -traditional-cpp -w -fexceptions -pg -g3 -fmessage-length=0  -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -lgmon -pg  -lobjc -g3 -fmessage-length=0
In file included from C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp:1:
C:/Dev-Cpp/include/gl/glut.h:43: error: redeclaration of C++ built-in type `short'

Ejecución Terminada


Tambien canvie alguna configuracion del editor pero el error persiste canvia algo por eso.

Compilador: Default compiler
Ejecutando  g++.exe...
g++.exe "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp" -o "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.exe"   -fexceptions -pg -g3  -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -lgmon -pg  -lobjc -g3
In file included from C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp:1:
C:/Dev-Cpp/include/gl/glut.h:43: error: redeclaration of C++ built-in type `short'

Ejecución Terminada



NO se es k me desanimo nada mas empezar haber si alguien sabe ayudarme.
#6
 Hola wenas tengo algunas dudillas k me gustaria si alguien las sabe k me contestarais. Tener en cuenta k soy muy nuevo en esto de la programacion grafica yo solo soy programador a secas jejejeje y justo empiezo ahora con la grafica.

1- Si hago un personaje en 3d con el 3d studio y le hago varias animaciones (como por ejemplo caminar, pegar una patada etc..) (en teoria con el fin que cuando un jugador presione la tecla de caminar el personaje se mueva en la direccion k esta orientado) esto se tiene k programar o son validas las animaciones que he hecho en el 3dstudio. Me refiero si es tan simple como programar que cuando se presione tal tecla se active tal animacion del personaje (en el caso de caminar se active esta y se mueva desplazando x unidades dicho personaje u objeto) o es mas complicado y se tiene k programar vertice a vertice etcc... Utilizo opengl si es mas facil directx Decidmelo gracias....


2- En k consiste un motor o engine (es para diseñar escenarios y cosas asi). Que me recomendais si tengo hecho un escenario con 3d studio se puede pasar a un engine de estos o siempre se hacen con los engines?  


3-Alguien me puede explicar como programo la deteccion de colisiones en opengl y si mas me la kieren explicar en directx pues mejor k mejor.




Perdonad per las molestias siiii soy tontin pero k le vamos hacer estoy haciendo un monton de tutoriales pero necesito ayuda ya k el año k viene kiere presentar un juego de projecto para terminar mis estudios (estoy haciendo un modulo de dessarrollo de aplicaciones informaticas jejeje osea programacion). Se k pido mucho pero con la primera y alguna breve explicacion de la ultima estaria satifecho ejejejeje gracias.


(ole)  (ole)  :lol:  :huh:  :huh:  NO me enterooooooooooo  (grrr)  





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.