"Ningún juego dura tanto hasta que te lo terminas como el que te programas tú mismo,
ninguno te absorbe tanto y ninguno te produce tanta satisfacción cuando lo has acabado"
Programacion de videojuegos
Inicio Foro Último post
Viernes 26 de Febrero del 2021

Menu principal
Colaborar (con PayPal)

Para continuar con el trabajo de esta Web y poder pagar el hosting, viene bien la ayuda que sea. Gracias a todos.

Importe: 

Ultimas descargas
19.Jan

Clase que permite dibujar texto en OpenGL con mucha facilidad.Usa FreeType2.Para ver que hace y c...


 Foro de UnSitioWeb
Bienvenido/a Visitante   
Normas del foro   por Vicengetorix el 04-10-2009 02:30
« InicioAnterior12345678910SiguienteFin »
 Asunto :problemas al compilar.. 26-01-2010 03:11 
Ezequiel
Incorporado: 26-01-2010 01:55
Posts: 5
Localización
  
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

hola que tal Vicengetorix?
Un gusto haber llegado a tu web, te felicito nuevamente (como lo hice anteriormente en algún comentario). Realmente parece mucho el esfuerzo y dedicación que das por brindar el mejor material en tu web. Estoy interesado en estudiar tu fuente de ladrillos 2d, pero surgió un error al linkear y al parecer no es de librerías ni de sintaxis, ya que compila con 0 errores, pero al ejecutar surge este msje:

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/MuroUSW.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

¿cómo podré revertir esto para lograr correr el programa? desde ya muchas gracias!
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 13-01-2010 11:53 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Muchas gracias a ti por tu confianza.
Ahora estoy en una época difícil en cuanto a trabajo (no me sobra el tiempo) pero espero retomar una actividad más continua de actualizaciones en cuanto este un poco más liberado.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 13-01-2010 03:24 
Victor
Incorporado: 29-11-2009 06:13
Posts: 5
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

acabo de donar a tu pagina porque realmente me ayudaste mucho, muchas gracias por tu ayuda disculpa que hasta apenas lo hice pero no tenia una tarjeta con cual hacerlo, gracias y nuevamente felicidades por tu pagina y por la dedicacion que le pones.
Ps. Yo se que no es mucho lo que done pero lo doy con todo corazon y de antemano gracias por tu ayuda.
IP Logged
 Asunto :Respuesta:Proyeccion Perspectiva.. 19-12-2009 06:55 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Foro : Sobre el curso de programación de juegos
Tema : Proyeccion Perspectiva

Hola,

Gracias por tu respuesta.

He probado ese parametro de la apertura es como la "lejania/cercania" de la camara. Si mando el cubo mas al fondo se ve como un cubo normal mas al frente se deforma y se ve anormal, pero como mencionas, depende de que tan cerca este de la camara.

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Proyeccion Perspectiva.. 15-12-2009 02:05 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Sobre el curso de programación de juegos
Tema : Proyeccion Perspectiva

Efectivamente, has llegado a la conclusion correcta. La camara esta en el punto 0,0,0 mirando hacia el eje de coordenadas Z.
En el capitulo 10 se empieza a mover la camara, en el capitulo 6 se deja la camara por defecto que esta en el centro del eje de coordenadas.
En esta situacion, la coordenada Y es la altura por lo que si aumentas la posicion de los cubos en el eje Y los veras mas altos. Si la reduces los veras mas bajos.
Lo de la deformacion es por la cercania a la camara. Cuando esta muy cerca puede aparecer algo deformado pero nada anormal. Prueba cambiando el primer parametro de la funcion gluPerspective, que es la apertura y veras que cambia el aspecto de los cubos.
IP Logged
 Asunto :Proyeccion Perspectiva.. 14-12-2009 08:17 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Foro : Sobre el curso de programación de juegos
Tema : Proyeccion Perspectiva

Hola,

He estado modificando el programa de el capitulo 6 Proyección Perspectiva y agrego mas cubos pero todos rotados unicamente en X, 30 grados, por lo que únicamente veo 2 caras esto estando en (0, 0, z) donde z puede ser cualquier valor, pero cuando modifico por ejemplo el valor de Y veo alguna cara de arriba o abajo esto no se por que pasa exactamente, es como si la camara fuera un único punto ubicada en el centro de pantalla.

Pero el mayor problema viene cuando pongo varios cubos alineados en Z y entre mas cerca de la pantalla el cubo el cubo se deforma cuando únicamente debería de aparecer mas grande pero bien proporcionado.

Saben que es lo que esta sucediendo???

Gracias
Saludos
IP Logged
 Asunto :Respuesta:Aprender Visual C++.. 13-12-2009 06:47 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Otros temas
Tema : Aprender Visual C++

Bienvenido y gracias por el elogio.
Respecto a aprender C-C++ tres cosas:
Si quieres comprarte un libro, adelante. Hace mucho que no estoy al tanto de este asunto editorial pero supongo que cualquiera sera bueno. Solo hay que ojearlo un poco antes para ver si esta explicado con claridad.
Mi recomendacion es que te bajes algo de internet, que es gratis y hay muchas cosas.
En UnSitioWeb hay varios manuales pero yo recomendaria estos.
Primero C con "Ansi C como si estuviera en primero" - http://unsitioweb.com/manuales/programacion/8-c-como-si-estuviera-en-primero
Luego C++ con "C++ como si estuviera en primero" - http://unsitioweb.com/manuales/programacion/9-c-como-si-estuviera-en-primero
los dos manuales en PDF.

Respecto al compilador a usar. He investigado el paso del codigo del curso de VC a DEV-C y he descubierto con agradable sorpresa que es bastante compatible (casi por completo).
Asi pues, para aprender, suguiero que instales el DEV-C, que es mas pequeño (unos 8 Mb) y mas facil de usar y empieces con el. Sera mas facil que funcione en un PC menos potente.
http://unsitioweb.com/programas-del-creador-de-juegos/93-bloodshed-devc

En cuanto a VC, para evitar problemas, he pensado en subir a UnSitioWeb un proyecto que a mi me funcione y que cualquiera pueda adaptar simplemente añadiendo los ficheros de codigo. De esta forma se evitaran los problemas derivados de los multiples parametros que trae el VC en cada proyecto.
En los proximos dias hare esto ultimo.
IP Logged
 Asunto :Aprender Visual C++.. 12-12-2009 18:14 
Nico
Incorporado: 12-12-2009 16:58
Posts: 3
Localización
Foro : Otros temas
Tema : Aprender Visual C++

Bueno, recién me presenté en el foro. Ahora estube viendo los primeros capítulos del curso. Veo que hay que tener un fuerte conocimiento en el lenguaje C++. Tambíen en el uso del visual C++
Yo por lo pronto conozco muy poco de C, algo de C++ pero todos los programas que he hecho para la facultad son completamente inútiles. Con decirte que ni siquiera cramos archivos -.-
La pregunta es esta: ¿que libro de visual c++ me recomendas? vi que en la sección de manuales hay un archivito tipo de ayuda que explica c++ pero no me anda :( Como en unos días me voy a pasar unos meses en lo de mis viejos y la pc de mi mamá es bastante lerda y siempre la está ocupando necesitaria que me recomiendes algún libro para poder aprender lo necesario para arrancar el curso de programación de juegos.
Muchas Gracias por leer! y la web es fantásica!
IP Logged
 Asunto :Presentacón.. 12-12-2009 18:06 
Nico
Incorporado: 12-12-2009 16:58
Posts: 3
Localización
Foro : Presentación de nuevos foreros
Tema : Presentacón

Hola me llamo Nico soy estudiante de ingeniería en sistemas de información. Después de tantos años estudiando y viendo la orientación de la carrera, me veo algo frustrado porque en la universidad en la que estudio no está nada orientado a la programación. Mucho menos a los videos juegos.Por eso decidí seguir estudiando, pero aprender por mi cuenta y topé con esta web que me pareció maravillosa, después de haber pasado muchos años buscando alguna explicación sobre programación de juegos. Por lo que lei todos tienen un conocimiento avanzado sobre programación asi que voy a hacer mi mayor esfuerzo para aprender lo necesario para poder llegar a hacer mi propio juego.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 01-12-2009 03:37 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Respecto a los warning, no le des mas vueltas (en todo caso ademas de las definiciones estan los cast o conversiones explicitas).

Respecto a corona y la carga de graficos.
En el segundo post indicas una funcion "LoadTexBMP". Eso no es de OpenGL. Se habra definido en otro punto del programa o sera de otra libreria. OpenGL no implementa la carga de graficos.
Yo he usado corona porque es facil de usar, acepta los formatos que quiero (PNG y JPG) y es gratuita. Hay muchas otras librerias y muy buenas y se puede usar cualquiera. Aqui hay algunas - http://unsitioweb.com/librerias-utiles-para-programar-juegos
En cuanto a usar tus propios diseños ... ¡ Pues claro !; solo tienes que hacer el dibujo en un programa de graficos y salvarlo con el formato que puedas cargar en tu programa.
El PNG es util porque acepta imagenes con transparencia. JPG no admite transparencia pero ocupa menos.

La carga de imagenes se hace en la funcion "CargaTextura" (como no).
Dentro de esta funcion te indico las lineas de corona en negrita:

corona::Image* imagen=NULL;
imagen = corona::OpenImage(fichero, corona::PF_R8G8B8A8);
if (!imagen) return;

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imagen->getWidth(),
imagen->getHeight(),0, GL_RGBA, GL_UNSIGNED_BYTE,
imagen->getPixels());

if(imagen!=NULL) delete imagen;

En todo caso, y a riesgo de ser pesado, insisto que en anteriores capitulos del curso de programacion de juegos se explican muchas de estas cosas.

Saludos.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 01-12-2009 03:14 
Victor
Incorporado: 29-11-2009 06:13
Posts: 5
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

acabo de ver un programa que tiene este metodo para cargar imagenes, me preguntaba si es el mismo que utilizas, o talves no el mismo pero si se puede utilizar en lugar de corona


este lo carga en el main:

texture[0] = LoadTexBMP("crate.bmp");

y luego lo utiliza en la funcion de Pintar()

glColor3f(1,1,1);
glBindTexture(GL_TEXTURE_2D,texture[0]); <
texture
glBegin(GL_QUADS);
glNormal3f( 0, 0, 1);
glTexCoord2f(0,0); glVertex3f(-1,-1, 1);
glTexCoord2f(1,0); glVertex3f(+1,-1, 1);
glTexCoord2f(1,1); glVertex3f(+1,+1, 1);
glTexCoord2f(0,1); glVertex3f(-1,+1, 1);
glEnd();

Entonces si este es el caso, sabes donde podria substituir este codigo en tu programa?

Porque segun lo que veo en el programa que te estoy enseñando utiliza una textura en un cubo que el mismo programador diseño, pero no se si eso puede hacerse tambien para un fondo por ejemplo como el que tienes tu.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 01-12-2009 03:01 
Victor
Incorporado: 29-11-2009 06:13
Posts: 5
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

gracias por la ayuda!
acabo de declarar todos los doubles como GLfloat y me sigue saliendo los warnings, queria saber si es al reves? tengo que declarar los GLfloat como doubles en lugar de como lo hice.
warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'
warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'

acabo de solucionar el problema de la libreria .dll (fue una tonteria) ya habia copiado el archivo al directorio de el proyecto pero era otro archivo me parece que era un corona.obj o algo parecido, me habia confundido perdon..

Asi que ya corre el programa solo no carga las imagenes y se que es porque no copie as imagenes al directorio de el proyecto, pero tambien lo hice intencionalmente porque queria tratar de usar una funcion como la de corona para cargar imagenes pero que ya este implementada en OpenGL, porque me imagino que corona.dll es una libreria externa.
Y tambien te queria preguntar cuales son las funciones que utiliza la libreria corona en tu proyecto, asi puedo borrarlas y tratar de sustituirlas por otra funcion para cargar imagenes.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 30-11-2009 05:52 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Corona es la libreria que uso para cargar los graficos. Si la quitas tendrias que usar otro metodo para cargar las imagenes.
El fichero corona.dll debe ir en el directorio de la aplicacion, normalmente el directorio del ejecutable. Si ejecutas desde VC, el directorio actual cuando ejecutas es en el que esta el proyecto.
En linux no se como va porque no he trabajado con el. En todo caso OpenGL no va instalado en ninguna parte, no es como DirectX. Es implementado por los fabricantes de hardware de video en sus drivers. Lo unico que te hace falta tener para programar con OpenGL son las librerias del compilador que uses.
Vease: http://unsitioweb.com/videojuegos/27-3-empezamos-con-opengl
Mi sugerencia, de nuevo, es que vayas poco a poco (no lento pero si desde el principio).

El tema de los warning es por dejadez. Cuando metes un numero en coma flotante del tipo double a un GLfloat, el compilador debe despreciar una parte ya que el primero es mas grande que el segundo. Se arreglaria definiendo los doubles como GLfloat. Yo no me preocuparia de eso.
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2.. 30-11-2009 05:05 
Victor
Incorporado: 29-11-2009 06:13
Posts: 5
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Asunto :Respuesta:COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Gracias Vicengetorix! creo que estoy a punto de poder correr el codigo, lo ultimo que se ve que le molesta es que no puede encontrar la libreria corona.dll, despues de que me sale esto en la ventana de compilacion:
Linking...
Embedding manifest...
me sale una ventana de windows de esas de stop y dice This application has failed because corona.dll was not found. Re-installing the application may fix this problem.
ya intente copiando el archivo en el directorio de opengl pero no me sigue dando ese mismo error.

Me preguntaba si tambien puedo omitir el archivo de corona como el archivo de glaux.h de alguna forma porque el problema es que cuando lo quiero correr en linux tendria que pasar el archivo corona.h y corona.lib y pues es un gran problema en linux buscar la carpeta en donde esta instalado opengl y copiarlo ahi.

Ademas tambien te queria preguntar si sabias como puedo resolver este warning que me sale como 80 veces: porque cuando cambio GLfloat a double me sale otro warning.
warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'
warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'

Muchas gracias por la ayuda!
IP Logged
 Asunto :Respuesta:COmo pasar el codigo de ..... 29-11-2009 17:21 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Veo que no quieres usar GLaux de ninguna manera.
Esta libreria nunca fue parte de OpenGL, es una libreria auxiliar, como indica su nombre.
Que no venga por defecto en VC 2008 no quiere decir que no se pueda usar.
Si la he usado en el rompeladrillos 3D es porque es mas rapido usarla que cargar un modelo de bola desde disco(todavia no habia llegado en el curso a eso) o mas rapido que calcular las coordenadas de una esfera y usar glVertex (vertex buffer no se habian visto en el curso todavia).
No es necesario usar Glaux para hacer juegos profesionales. Se puede usar para ir haciendo cosas y aprender (como es el caso que nos ocupa). Te la puedes bajar de UnSitioWeb, esta dentro de este fichero:
http://unsitioweb.com/descargas?func=fileinfo&id=10

Si de todas formas tienes una especial alergia a GLaux puedes hacer lo mismo usando la libreria GLU (otra libreria auxiliar) y quadrics, es decir debes cambiar el codigo.

Para dibujar la bolita tandrias que borrar la linea que lo hace con GLaux:

auxSolidSphere((8.0f*20.0f)/(double)rect.right);

e incluir este codigo (esta sin probar):

GLUquadricObj *q;
q=gluNewQuadric();
gluQuadricNormals(q, GLU_SMOOTH);
gluQuadricTexture(q, GL_FALSE);
gluSphere(q,(8.0f*20.0f)/(double)rect.right,32,32);
gluDeleteQuadric(q);


Como he dicho antes, si quieres hacerlo de una manera mas profesional y nueva o actual, puedes ir al capitulo 15 y modificar el programa para cargar un modelo desde disco, aunque para ir aprendiendo no creo que haga falta por ahora.

Seria mejor ir poco a poco, capitulo por capitulo, que no se tarda tanto.
IP Logged
 Asunto :COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008.. 29-11-2009 07:21 
Victor
Incorporado: 29-11-2009 06:13
Posts: 5
Localización
Foro : Sobre el curso de programación de juegos
Tema : COmo pasar el codigo de el rompe ladrillos a Visual Studio 2008

Eh intentado utlimamente pasando el codigo que tienes del Rompeladrillos 3d al visual studios 2008 y me salen muchos errores quisiera saber como se puede hacer para no depender del archivo glaux.h porque ese ya no viene en la nueva version del opengl.
Borre la cabecera donde dice glaux.h pero pues la verdad no se como resolver esos errores. Alguien que me pueda ayudaR?
IP Logged
 Asunto :programa auto.. 27-11-2009 02:55 
cristiaan3003
Incorporado: 12-11-2009 06:22
Posts: 14
Localización
Foro : Presentación de trabajos
Tema : programa auto

Hola este el autito desde donde se saco la idea y se fue modificando, tambien uso zinjai, freeglut. Se maneja directamente con el raton y aparecen alguna opciones mas si hacen click derecho

http://www.filefactory.com/file/a1e1ga5/n/f1.rar
dibujonn.jpg
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 26-11-2009 03:32 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Otros temas
Tema : Configuracion Visual C++

Si en debug funciona y en release no, habra que revisar la configuracion del proyecto en cada caso, librerias, optimizacion, ... hay muchos parametros. A mi nunca me ha pasado algo asi, aunque yo suelo trabajar con la version release desde el principio.

Si no consigues nada puedes intentar compilar con otro compilador a ver si se reproduce el error, en cuyo caso seria un tema del codigo (no se si es posible por las librerias que hayas usado).

Suerte.
IP Logged
 Asunto :Respuesta:programa avioncito.. 26-11-2009 02:55 
Vicengetorix
Incorporado: 27-12-2008 18:54
Posts: 99
Localización
Foro : Presentación de trabajos
Tema : programa avioncito

Esta muy bien el programa, con un poco mas de trabajo sera un nuevo "Flight simulator".

El fichero es muy grande para ponerlo en el hosting.
Lo que si se puede hacer es poner unas imagenes del programa:
avion1.jpg
avion2.jpg

Enhorabuena.
IP Logged
 Asunto :Respuesta:Configuracion Visual C++.. 25-11-2009 21:12 
Cesar Himura
Incorporado: 17-11-2009 22:47
Posts: 9
Localización
Foro : Otros temas
Tema : Configuracion Visual C++

Hola,

Hice lo que me dijiste de pasar el exe a donde esta el archivo .vcproj pero sigue igual.

Ahora construi en modo debug también me genera un exe y ese funciona bastante bien (ejecutando el exe, desde fuera), pero con ese tengo el problema de que no corre en otras computadoras. ¿No sabes que tengo que hacer para distribuirlo de manera correcta?

Si contruyo en modo release viene el problema de la textura de fondo. Y creo que esta liberación sería la correcta.

Gracias
Saludos
IP Logged
Página #  « InicioAnterior12345678910SiguienteFin »


Powered by ccBoard




Banner