Anuncios Google

Hola, estoy creando una aplicacion y tengo problemas del 3D

Hola, ¿ay algun coder que sepa programacion en 3D con palib? Es que estoy creando una aplicacion y cuando la compilo me sale esrror. Les dejo aqui el codigo (son 123 lineas de codigo) de mi aplicacion. Haver si alguin me la puede revisar:

// Aquí es donde se pinta todo
int DrawGLScene()
{
// Activa la matriz de modelos de escena
glMatrixMode(GL_MODELVIEW);
// Inicializa la matriz activa
glLoadIdentity();
// Mueve 1.5 unidades a la izquierda y 6.0 hacia la pantalla
glTranslatef(-1.5f,0.0f,-6.0f);
// Gira el triángulo en el eje Y
glRotatef(rtri,0.0f,1.0f,0.0f);
// Formato de polígonos, establece alpha a 31 (desactivado
// transparencias) y el modo de procesado de
// superficies ocultas a none
glPolyFmt(POLY_ALPHA(31) | POLY_CULL_NONE);
// Dibuja triángulos
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f); // Rojo
glVertex3f( 0.0f, 1.0f, 0.0f); // Vértice superior (Frente)
glColor3f(0.0f,1.0f,0.0f); // Verde
glVertex3f(-1.0f,-1.0f, 1.0f); // Vértice inferior
// izquierdo (Frente)
glColor3f(0.0f,0.0f,1.0f); // Azul
glVertex3f( 1.0f,-1.0f, 1.0f); // Vértice inferior derecho
// (Frente)
glColor3f(1.0f,0.0f,0.0f); // Rojo
glVertex3f( 0.0f, 1.0f, 0.0f); // Vértice superior
// (Derecha)
glColor3f(0.0f,0.0f,1.0f); // Azul
glVertex3f( 1.0f,-1.0f, 1.0f); // Vértice inferior
// izquierdo (Derecha)
glColor3f(0.0f,1.0f,0.0f); // Verde
glVertex3f( 1.0f,-1.0f, -1.0f); // Vértice inferior derecho
// (Derecha)
glColor3f(1.0f,0.0f,0.0f); // Rojo
glVertex3f( 0.0f, 1.0f, 0.0f); // Vértice superior (Atrás)
glColor3f(0.0f,1.0f,0.0f); // Verde
glVertex3f( 1.0f,-1.0f, -1.0f); // Vértice inferior
// izquierdo (Atrás)
glColor3f(0.0f,0.0f,1.0f); // Azul
glVertex3f(-1.0f,-1.0f, -1.0f); // Vértice inferior derecho
// (Atrás)
glColor3f(1.0f,0.0f,0.0f); // Rojo
glVertex3f( 0.0f, 1.0f, 0.0f); // Vértice superior
// (Izquierda)
glColor3f(0.0f,0.0f,1.0f); // Azul
glVertex3f(-1.0f,-1.0f,-1.0f); // Vértice inferior
// izquierdo (Izquierda)
glColor3f(0.0f,1.0f,0.0f); // Verde
glVertex3f(-1.0f,-1.0f, 1.0f); // Vértice inferior derecho
// (Izquierda)
// Fin Triángulo
glEnd();
// Reinicia la actual matriz Modelview
glLoadIdentity();
// Mueve 1.5 unidades a la derecha y 6.0 hacia la pantalla
glTranslatef(1.5f,0.0f,-6.0f);
// Gira el cuadrado en el eje X
glRotatef(rquad,1.0f,1.0f,1.0f);
// Dibuja un Quad
glBegin(GL_QUADS);
glColor3f(0.0f,1.0f,0.0f); // Verde
glVertex3f( 1.0f, 1.0f,-1.0f); // Vértice superior derecho
// (Arriba)
glVertex3f(-1.0f, 1.0f,-1.0f); // Vértice superior
// izquierdo (Arriba)
glVertex3f(-1.0f, 1.0f, 1.0f); // Vértice inferior
// izquierdo (Arriba)
glVertex3f( 1.0f, 1.0f, 1.0f); // Vértice inferior derecho
// (Arriba)
glColor3f(1.0f,0.5f,0.0f); // Color naranja
glVertex3f( 1.0f,-1.0f, 1.0f); // Vértice superior derecho
// (Abajo)
glVertex3f(-1.0f,-1.0f, 1.0f); // Vértice superior
// izquierdo (Abajo)
glVertex3f(-1.0f,-1.0f,-1.0f); // Vértice inferior
// izquierdo (Abajo)
glVertex3f( 1.0f,-1.0f,-1.0f); // Vértice inferior derecho
// (Abajo)
glColor3f(1.0f,0.0f,0.0f); // Rojo
glVertex3f( 1.0f, 1.0f, 1.0f); // Vértice superior derecho
// (Frente)
glVertex3f(-1.0f, 1.0f, 1.0f); // Vértice superior
// izquierdo (Frente)
glVertex3f(-1.0f,-1.0f, 1.0f); // Vértice inferior
// izquierdo (Frente)
glVertex3f( 1.0f,-1.0f, 1.0f); // Vértice inferior derecho
// (Frente)
glColor3f(1.0f,1.0f,0.0f); // Amarillo
glVertex3f( 1.0f,-1.0f,-1.0f); // Vértice superior derecho
// (Atrás)
glVertex3f(-1.0f,-1.0f,-1.0f); // Vértice superior
// izquierdo (Atrás)
glVertex3f(-1.0f, 1.0f,-1.0f); // Vértice inferior
// izquierdo (Atrás)
glVertex3f( 1.0f, 1.0f,-1.0f); // Vértice inferior derecho
// (Atrás)
glColor3f(0.0f,0.0f,1.0f); // Azul
glVertex3f(-1.0f, 1.0f, 1.0f); // Vértice superior derecho
// (Izquierda)
glVertex3f(-1.0f, 1.0f,-1.0f); // Vértice superior
// izquierdo (Izquierda)
glVertex3f(-1.0f,-1.0f,-1.0f); // Vértice inferior
// izquierdo (Izquierda)
glVertex3f(-1.0f,-1.0f, 1.0f); // Vértice inferior derecho
// (Izquierda)
glColor3f(1.0f,0.0f,1.0f); // Violeta
glVertex3f( 1.0f, 1.0f,-1.0f); // Vértice superior derecho
// (Derecha)
glVertex3f( 1.0f, 1.0f, 1.0f); // Vértice superior
// izquierdo (Derecha)
glVertex3f( 1.0f,-1.0f, 1.0f); // Vértice inferior
// izquierdo (Derecha)
glVertex3f( 1.0f,-1.0f,-1.0f); // Vértice inferior derecho
// (Derecha)
// Fin Quad
glEnd();
// Aumenta la rotación variable para el triángulo
rtri+=0.9f;
// Decrementa la rotación variable para el triángulo
rquad-=0.75f;
return TRUE;
}

Os pongo aqui el error que me sale:

main.c
c:/devkitPro/proyectos/3Dbasic/source/main.c: In function 'DrawGLScene':
c:/devkitPro/proyectos/3Dbasic/source/main.c:5: warning: implicit declaration of function 'glMatrixMode'
c:/devkitPro/proyectos/3Dbasic/source/main.c:5: error: 'GL_MODELVIEW' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:5: error: (Each undeclared identifier is reported only once
c:/devkitPro/proyectos/3Dbasic/source/main.c:5: error: for each function it appears in.)
c:/devkitPro/proyectos/3Dbasic/source/main.c:7: warning: implicit declaration of function 'glLoadIdentity'
c:/devkitPro/proyectos/3Dbasic/source/main.c:9: warning: implicit declaration of function 'glTranslatef'
c:/devkitPro/proyectos/3Dbasic/source/main.c:11: warning: implicit declaration of function 'glRotatef'
c:/devkitPro/proyectos/3Dbasic/source/main.c:11: error: 'rtri' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:15: warning: implicit declaration of function 'glPolyFmt'
c:/devkitPro/proyectos/3Dbasic/source/main.c:15: warning: implicit declaration of function 'POLY_ALPHA'
c:/devkitPro/proyectos/3Dbasic/source/main.c:15: error: 'POLY_CULL_NONE' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:17: warning: implicit declaration of function 'glBegin'
c:/devkitPro/proyectos/3Dbasic/source/main.c:17: error: 'GL_TRIANGLES' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:18: warning: implicit declaration of function 'glColor3f'
c:/devkitPro/proyectos/3Dbasic/source/main.c:19: warning: implicit declaration of function 'glVertex3f'
c:/devkitPro/proyectos/3Dbasic/source/main.c:53: warning: implicit declaration of function 'glEnd'
c:/devkitPro/proyectos/3Dbasic/source/main.c:59: error: 'rquad' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:61: error: 'GL_QUADS' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:122: error: 'TRUE' undeclared (first use in this function)
c:/devkitPro/proyectos/3Dbasic/source/main.c:123: warning: control reaches end of non-void function
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

Por favor, si ahy alguien en scenebeta con conocimientos de 3D que me ayude


I like:


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de sarutoby

pos parece ser que la cosa va mejorando

aora solo me sale este error:


make[1]: *** No rule to make target `c:/devkitPro/proyectos/3Dbasic/source/main.c', needed by `main.o'.  Stop.
make: *** [build] Error 2


olo queda esto por resolber y la piramide 3D ya será visible en la pantalla de DS. Gracias a todos lo que me haveis ayudado.

Gracias, adios.


I like:

Imagen de sarutoby

por cierto

para ayudar un poco os dejo aqui el error en castellano:


«uso (primera RTRI 'no declarado en esta función)
(Cada identificador no declarado se reporta sólo una vez
para cada función que aparece pulgadas)
«uso (primera rquad 'no declarado en esta función)

I like:

No uses el traductor del

No uses el traductor del google XDDD.

 

Yo por lo que se, ese error ocurre cuando has escrito mal una funcion o no has incluido la libreria que lo usa. En casi de que sea el primero basta con mirar la linea donde estan y corregirlo.

Imagen de sarutoby

Ya pero en este

caso no se donde está el error por eso use el traductor de Goolge

Imagen de sarutoby

Creo que teniais razon

aora el error que me sale es mas pequeño:


main.c
c:/devkitPro/libnds/include/nds/arm9/3Dbasic/source/main.c: In function 'DrawGLScene':
c:/devkitPro/libnds/include/nds/arm9/3Dbasic/source/main.c:12: error: 'rtri' undeclared (first use in this function)
c:/devkitPro/libnds/include/nds/arm9/3Dbasic/source/main.c:12: error: (Each undeclared identifier is reported only once
c:/devkitPro/libnds/include/nds/arm9/3Dbasic/source/main.c:12: error: for each function it appears in.)
c:/devkitPro/libnds/include/nds/arm9/3Dbasic/source/main.c:60: error: 'rquad' undeclared (first use in this function)
make[1]: *** [main.o] Error 1
make: *** [build] Error 2


Si alguno save como solucionar lo que queda, por favor que no se corte y que me ayude.


I like:

Imagen de best_guitar

Yo habia usado la opengl

Yo habia usado la opengl para pc hace tiempo (un par de cubos girando...). Por los errores que te da creo que tendrias que añadir la libreria videoGL, en ~\devkitPro\libnds\include\nds\arm9, donde estan definidas GL_TRIANGLES, GL_QUADS.... Haber si asi te funciona...

Imagen de sarutoby

ok gracias

Lo de las #incloudes lo estoy revisando.

Lo de la libreria pos que puede ser buena idea pero el problema es que en que carpeta las incluyo.

Gracias, adios.


I like:

Imagen de best_guitar

Además creo que return

Además creo que return TRUE; debería ser return GL_TRUE;

Imagen de exterminator

Buenas

Antes de nada, te aviso que no tengo ni idea de OpenGl ni de 3D. Sin embargo, por la estructura del error, me da que te has dejado alguna libreria sin incluir. Revisa los #include de tu proyecto.

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.