• Sábado 5 de Octubre de 2024, 20:33

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.


Mensajes - Ruben3d

Páginas: 1 ... 16 17 [18] 19 20 ... 30
426
Programación de Videojuegos / Re: 3dmax Estudios O Malla
« en: Martes 22 de Junio de 2004, 12:51 »
Hola.

Yo te recomendaría 3dsmax, que es el que uso. Sin embargo, no he usado Maya así que no te puedo decir uno de los dos. Lo que sí tiene muy bien el 3dsmax es la interfaz de usuario, que se aprende muy rápido. Si te quieres ahorrar dineros usa el Blender, que ya está a un nivel bastante bueno (aunque es un poco más complicado de manejar al principio).

A la hora de decidirte por uno, piensa que con todos se pueden conseguir imágenes excelentes, de calidad fotorrealista, y ya depende de la habilidad de cada uno con el programa. Por ello, consigue versiones de evaluación de los programas de pago y mira cuál se ajusta más a tu manera de trabajo, qué interfaz te gusta más, etc, para poder decidirte por uno.

Un saludo.

Ruben3d

427
OpenGL / Re: Urgente!! Laberinto En Opengl
« en: Martes 22 de Junio de 2004, 01:29 »
Bueno. Se me ha ocurrido que también puedes usar este otro, aunque no te puedes dar contra las paredes y las atraviesas, pero bueno. Y tampoco tiene bichos que te atacan, como los dos anteriores:
Laberinto no tan bueno - Código fuente

Un saludo.

Ruben3d

428
OpenGL / Re: Urgente!! Laberinto En Opengl
« en: Martes 22 de Junio de 2004, 01:17 »
Hola.

Aunque la gente no suele hacerle las prácticas a otros, estás de suerte, porque me he acordado de que unos tipos tienen hechos un par de laberintos con OpenGL y lo dan gratis para que la gente como tú aprenda. Tienes que tener cuidado, porque les salen bichos que te atacan. También soportan pintar sin usar OpenGL, pero ya tú le quitas el código que veas que sobra. Es cuestión de ponerse :rolleyes:

Código fuente del primer laberinto:
Laberinto - Código fuente

Código fuente del segundo (aunque sin John Romero el estilo pasa a ser demasiado 'tecnológico', será por Carmack, se pierde la esencia del anterior. Sin embargo, el aspecto visual mejora mucho):
Laberinto con mejores gráficos - Código fuente

Yo creo que con cualquiera de estos dos laberintos te pondrán buena nota.

Un saludo.

Ruben3d

PD: Mirate bien la parte del árbol BSP con el PVS precalculado, que es el secreto de que vaya muy rápido. Si no lo ves claro, en este breve PDF viene muy bien explicado.

429
C/C++ / Re: Variable Del C++
« en: Martes 22 de Junio de 2004, 00:45 »
Hola.

Para los que usen el Turbo C sigue siendo de 16 bits :D Además, los procesadores de 64 bits empiezan a aparecer ya en el ámbito doméstico, fíjate en el AMD Athlon 64: Artículo en Tom's Hardware.

Un saludo.

Ruben3d

430
C/C++ / Re: Convercion De Datos
« en: Martes 22 de Junio de 2004, 00:39 »
Citar
Me ganaste por segundo

B) Uno que es rápido :jumpie:

Un saludo.

Ruben3d

431
C/C++ / Re: Convercion De Datos
« en: Lunes 21 de Junio de 2004, 23:45 »
Código: Text
  1.  
  2. float r = 30.4f;
  3. double d = 75.447;
  4. int ir = (int) r;
  5. int id = (int) d;
  6.  
  7.  

Un saludo.

Ruben3d

PD: NO ESCRIBAS ASÍ

432
Oracle / Re: Diagama Entidad Relacion,...
« en: Lunes 21 de Junio de 2004, 21:47 »
Hola.

Citar
NO SE COMO SACAR LAS ENTIDADES Y RELACIONARLAS

3.2. Construyendo el diagrama E-R y además el código es para postgreSQL, que es gratuito.

Un saludo.

Ruben3d

PD: NO ESCRIBAS TODO EN MAYÚSCULAS:

433
La taberna del BIT / Re: A Quien Le Vas En La Euro??
« en: Lunes 21 de Junio de 2004, 21:40 »
Como soy español pongo España, claro. Pero las cosas no nos han muy ido bien.

Un saludo.

Ruben3d

434
GNU/Linux / Re: Grafico
« en: Lunes 21 de Junio de 2004, 21:37 »
Hola.

Con esa licencia diría que es el K-3D, o tal vez Blender, aunque Blender me parece bastante poco intuitivo de manejar. Por otro lado la gente del K-3D está desarrollandole una nueva interfaz del estilo del 3dsmax que lo va a hacer más simple de manejar.

Dentro del software de modelado que no se paga, aunque no sea con licencia GNU, creo que el mejor es Milkshape3D (aunque la licencia trial dura 30 días). Además, el soporte para hacer personajes de juegos es bastante bueno.

Habrá otros, pero he citado los que he probado y más me han llamado la atención.

Un saludo.

Ruben3d

435
OpenGL / Re: Libglu.so.1
« en: Lunes 21 de Junio de 2004, 21:14 »
Yo tampoco creo que sea de la tarjeta, sino de los drivers. Aunque funcionen los gráficos sin instalarlos, para tener aceleración 3D con OpenGL sí hay que bajarlos y hacerlo (al menos con tarjetas de nVidia).

Si estás seguro de que esto no es y sí tienes en algún sitio la librería de OpenGL, hazle un link al archivo con el nombre que te está pidiendo en el directorio de librerías compartidas.

Un saludo.

Ruben3d

436
Pascal / Re: Turbo Pascal y XP
« en: Lunes 21 de Junio de 2004, 19:25 »
Hola.

Te recomiendo que uses FreePascal, que es gratuito, tiene un interfaz casi idéntico al de TurboPascal, se puede configurar para que funcione igual, y es nativo Win32, por lo que no hay que hacer cosas raras para que funcione bien en Windows. Además, tiene muchísimas librerías de las que carece TurboPascal (comunicaciones, bases de datos, OpenGL, etc).

Un saludo.

Ruben3d

437
GNU/Linux / Re: Mandrake, Suse, Slackware,FreeBSD,QNX,Mac;windows
« en: Lunes 21 de Junio de 2004, 17:21 »
Poner como opción Windows en un foro de Linux... Creo que debería haber sólo distribuciones de Linux, por eso de que la población de la encuesta debe estar por aqui polarizada hacia Linux.

De todas formas, mi voto es para Windows.

Un saludo.

Ruben3d

438
OpenGL / Re: Libglu.so.1
« en: Lunes 21 de Junio de 2004, 11:50 »
Hola.

Lo normal es que las librerías compartidas de OpenGL te las instale el driver de la tarjeta gráfica.

Un saludo.

Ruben3d

439
Programación de Videojuegos / Re: Juego Asteroides
« en: Lunes 21 de Junio de 2004, 00:03 »
Hola.

OpenGL utiliza la aceleradora gráfica para dibujar. Es un API para gráficos 3D así que estoy pintando polígonos en 3D (solo que la proyección hace parecer que es 2D).

Si tu ordenador no tiene aceleradora gráfica todos estos cálculos han de hacerse por software, así que el rendimiento desciende muchísimo. Además, creo recordar que excepto el fondo todo usa alpha blending, para peor rendimiento sin aceleradora.

Un saludo.

Ruben3d

440
C/C++ / Re: Consultas De Archivos
« en: Domingo 20 de Junio de 2004, 14:44 »
Hola.

Puede que los caracteres raros donde deberían estar los números sean los números en formatos binario, y los cuadrados después de las cadenas un '\0'. Lo de las tildes puede ser debido a diferentes páginas de código ASCII, ya que los valores >=128 varían de región a región, porque son una extensión para incluir tildes y demás. Tal vez el que hizo el programa guardaba internamente los datos en un struct y lo graba a disco tal cual. Como bien ha dicho Geo, prueba a ver los datos con un editor hexadecimal.

Un saludo.

Ruben3d

441
La taberna del BIT / Re: Recordando Viejos Tiempos Con Midis
« en: Domingo 20 de Junio de 2004, 14:34 »
Gracias! Los añado a mi colección de bandas sonoras de juegos (que no es pequeña).

Por si a alguen le gustan también las bandas sonoras de juegos, aqui hay bastantes:
mirsoft.info. World of game music

Un saludo.

Ruben3d

442
GNU/Linux / Re: Juegos
« en: Sábado 19 de Junio de 2004, 17:01 »
Hola.

Hay versiones para Linux de bastantes juegos, como Doom, Quake, Return to Castle Wolfenstein... También puedes descargarte juegos bastante buenos de código abierto en sourceforge.net.

Respecto a OpenGL, te tienes que descargar los drivers para Linux del fabricante de tu tarjeta gráfica. Yo tengo los de nVidia en RedHat 9 y funciona muy bien.

Deberías pensar en actualizar tu distribución, suse ya va por la versión 9.1. Tienes links a las descargas de las ISOs aqui: SUSE Linux.

Un saludo.

Ruben3d

443
C/C++ / Re: Transmision Por El Pto Serial En C
« en: Sábado 19 de Junio de 2004, 13:45 »
Hola.

Hace tiempo remodelé el código que ha indicado -SB- para que estuviera un poco más claro. Aqui está:

Código: Text
  1. /*
  2.  *  AUTHOR: Sven Goldt (goldt@math.tu-berlin.de)
  3.  *
  4.  *  This program is free software; you can redistribute it and/or
  5.  *  modify it under the terms of the GNU General Public License
  6.  *  as published by the Free Software Foundation; either version 2
  7.  *  of the License, or (at your option) any later version.
  8.  *
  9.  *  This program is distributed in the hope that it will be useful,
  10.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  *  GNU General Public License for more details.
  13.  *
  14. */
  15.  
  16. //
  17. // miniterm.c
  18. //
  19.  
  20. #include <termios.h>
  21. #include <stdio.h>
  22. #include <unistd.h>
  23. #include <fcntl.h>
  24. #include <sys/signal.h>
  25.  
  26. #define TXRXDEVICE "/dev/ttyS0"    // COM1
  27. //#define TXRXDEVICE "/dev/ttyS1"    // COM2
  28.  
  29. #define BAUDRATE B38400      // Las ctes. estan definidas en asm/termbits.h
  30. #define ENDMINITERM 2      // Ctrl+B para salir de miniterm
  31.  
  32. #define _POSIX_SOURCE 1     // Fuente compatible POSIX
  33.  
  34. #define FALSE 0
  35. #define TRUE 1
  36.  
  37. #define STDIN 0
  38. #define STDOUT 1
  39.  
  40. volatile int STOP = FALSE;    // flag de salida
  41.  
  42. // Esta funcion recibe el numero de senyal que emita el proceso hijo. Como la unica que va a emitir
  43. // es la de finalizar, siempre va a poner STOP a TRUE
  44. void child_handler(int s)
  45. {
  46.   STOP = TRUE;
  47. }
  48.  
  49. // Punto de entrada del programa
  50. int main(int argn, char *argv[])
  51. {
  52.   int   fd,  // Descriptor del dispositivo de E/S
  53.     c;  // Lectura de caracteres del teclado
  54.   struct termios oldDevice, newDevice, oldStdin, newStdin, oldStdout;
  55.  
  56.   struct sigaction sa;  // Para manipular el proceso hijo
  57.  
  58.   /*
  59.   =================================================
  60.   APERTURA DEL DISPOSITIVO DE TRANSMISION/RECEPCION
  61.   =================================================
  62.   */
  63.   // Abre el dispositivo de transmision para lectura y escritura y no como controlador tty, ya
  64.   // que no queremos cortar si el ruido de la linea envia un Ctrl+C
  65.   fd = open(TXRXDEVICE, O_RDWR | O_NOCTTY);
  66.   if (fd < 0)
  67.   {
  68.     perror(TXRXDEVICE);
  69.     exit(-1);
  70.   }
  71.  
  72.   /*
  73.   ============================================
  74.   GUARDAR TODAS LAS CONFIGURACIONES ANTERIORES
  75.   ============================================
  76.   */
  77.   // Lo primero es guardar todas las configuraciones anteriores de los dispositivos
  78.   tcgetattr(fd, &oldDevice);  // Guarda la configuracion actual del dispositivo de transmision
  79.   tcgetattr(STDIN, &oldStdin);  // Guarda la cfg de STDIN
  80.   tcgetattr(STDOUT, &oldStdout);  // Guarda la cfg de STDOUT
  81.  
  82.   /*
  83.   ===============================
  84.   CONFIGURA EL DISPOSITIVO DE E/S
  85.   ===============================
  86.   */
  87.   // Configura el ratio de bps, el flujo de control por hardware y 8n1 (8 bits, sin paridad,
  88.   // 1 sopbit). Tambien no colgar automaticamente e ignorar el estado del modem. Finalmente
  89.   // habilita la recepcion de caracteres.
  90.   newDevice.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
  91.  
  92.   // Ignora bits con errores de paridad
  93.   newDevice.c_iflag = IGNPAR;
  94.  
  95.   // Salida
  96.   newDevice.c_oflag = 0;
  97.   //                                                               ,
  98.   // No hacer eco con caracteres, ya que si te conectas a un host, el o el modem lo hara por ti.
  99.   // No generar senales.
  100.   newDevice.c_lflag = 0;
  101.  
  102.   // Bloquea la lectura hasta que un caracter llega
  103.   newDevice.c_cc[VMIN]=1;
  104.   newDevice.c_cc[VTIME]=0;
  105.  
  106.   // Ahora limpia la linea del modem y activa su configuracion
  107.   tcflush(fd, TCIFLUSH);
  108.   tcsetattr(fd, TCSANOW, &newDevice);  // Aplica la nueva cfg
  109.  
  110.   /*
  111.   =======================
  112.   CONFIGURACION DE STDOUT
  113.   =======================
  114.   */
  115.   tcsetattr(STDOUT, TCSANOW, &newDevice); // Configura stdout como si fuera el dispositivo de E/S
  116.  
  117.   /*
  118.   ======================
  119.   CONFIGURACION DE STDIN
  120.   ======================
  121.   */
  122.   tcgetattr(STDIN, &newStdin);     // obtengo la cfg de stdin
  123.   newStdin.c_lflag &= ~(ICANON | ECHO);  // la modifico para detener el eco por pantalla y el buffering
  124.   tcsetattr(STDIN, TCSANOW, &newStdin);  // y la aplico
  125.  
  126.   /*
  127.   =========================
  128.   MANEJAR LA ENTRADA/SALIDA
  129.   =========================
  130.   */
  131.   switch (fork())  // Crea un proceso hijo que es instancia de este. Retorna 0 si estamos en el hijo, -1 si hubo error o el PID del hijo si estamos en el padre
  132.   {
  133.   case 0:  // ==== Si ahora estamos en el hijo ====
  134.     //close(STDOUT);
  135.     for (c=getchar(); c!=ENDMINITERM&#59; c=getchar())  // Lee los caracteres desde el usauario hasta que se introduzca Ctrl+B (ENDMINITERM)
  136.       write(fd,&c,1);        // Los va escribiendo en el dispositivo de salida
  137.     tcsetattr(fd, TCSANOW, &oldDevice);  // Restaura la antigua configuracion del dispositivo de E/S
  138.     tcsetattr(STDIN, TCSANOW, &oldStdin);  // Restaura la antigua cfg de Stdin
  139.     close(fd);        // Cierra el dispositivo E/S
  140.     exit(0);        // envia SIGCHLD al padre
  141.     break;
  142.  
  143.   case -1:// ==== Si hubo un error y no fue creada la instancia ====
  144.     perror("fork");
  145.     tcsetattr(fd, TCSANOW, &oldDevice);  // Restaura la cfg del dispositivo
  146.     close(fd);        // Lo cierra
  147.     exit(-1);
  148.  
  149.   default:// ==== Si ahora estamos en el padre ====
  150.     //close(STDIN);
  151.     sa.sa_handler = child_handler;  // Puntero a la funcion de manipulacion de senyales del hijo
  152.     sa.sa_flags = 0;    // No son necesarias ninguna flag en especial
  153.     sigaction(SIGCHLD, &sa, NULL);  // Aplica la cfg de la manipulacion del proceso hijo
  154.     while (STOP==FALSE)    // Mientras que la funcion child_handler no indique que el hijo ha finalizado
  155.     {
  156.       read(fd, &c, 1);  // Lee desde el dispositivo
  157.       write(STDOUT, &c, 1);  // Lo escribe por pantalla
  158.     }
  159.     tcsetattr(STDOUT, TCSANOW, &oldStdout);  // Restauro la cfg de STDOUT
  160.     wait(NULL);  // Espera a que el proceso hijo sea matado o quede zombi
  161.     break;
  162.   }
  163.   return 0;
  164. }
  165.  

Se ve mejor con tamaño de tabulación 8.

Un saludo.

Ruben3d

444
La taberna del BIT / Re: Historia De Los Gui
« en: Sábado 19 de Junio de 2004, 13:39 »
Citar
Que No Se supone que esta parte del foro era para cosas distintas

Pues dime dónde pondrías este post.

Un saludo.

Ruben3d

445
Programación de Videojuegos / Quake 2 En Java
« en: Viernes 18 de Junio de 2004, 16:29 »
Hola.

Hace tiempo había por aqui una discusión sobre si se podían hacer juegos en Java, o era demasiado lento. Pues bien, aqui está portado Quake 2 a Java y va a más velocidad de la que me esperaba:
Jake2 - Java port of the Quake2 game engine

Un saludo.

Ruben3d

446
C/C++ / Re: ¡¡free Me Cambia Cosas!!
« en: Jueves 17 de Junio de 2004, 20:24 »
Hola.

free no pone a NULL ningún puntero, simplemente marca la memoria a la que apuntaba como 'sin usar'. Es buena costumbre poner a NULL un puntero tras llamar a free. Si pones un puntero a NULL sin llamar a free estás dejando la memoria a la que apuntaba ocupada sin posibilidad de liberación.

Un saludo.

Ruben3d

447
ASM (Ensamblador) / Re: Instrucciones En Assembler
« en: Jueves 17 de Junio de 2004, 19:32 »
Hola.

Deja que te diga, joajavi, que Eternal Idol te ha rebatido bastante bien todo lo que le has dicho, y tiene razón en todas las correcciones que te ha hecho.

¿Qué pasa si es sudamericano? Aqui en España se emplean exactamente los mismos términos que él ha empleado para referirse a lo que tú estabas nombrando erróneamente. Desde luego no le encargaría un código a alguien que no sabe la diferencia entre compilar y ensamblar y lo intenta justificar diciendo que se trata de "distinta terminología".

Lo que no se ha de hacer es empezar a insultar, y eso te lo he de reprochar Eternal Idol. Argumentar sí, pero insultar no.

Por otro lado, tal vez la reacción contra ti haya sido un poco exagerada joajavi, pero ya cansa que te dediques a criticar las ayudas que presta la gente desinteresadamente sin esperar nada a cambio y encima tú pretendas cobrar. Es más, no me parece nada bien que pongas un post dedicado exclusivamente a criticar la escasez de conocimientos de los que están empezando. Si fueras con buena fe deberías haber hecho un post de 'errores de principiantes' con fines educativos, para que se corrijan. Pero claro, si aprenden tú no ganas dinero, ¿verdad?

Que tengas suerte con tu negocio de realización de programas.

Un saludo.

Ruben3d

448
Programación de Videojuegos / Re: Busqueda De Tema...!
« en: Jueves 17 de Junio de 2004, 19:13 »
Yo a ese juego lo conocía con el nombre de Pong.

Un saludo.

Ruben3d

449
Programación de Videojuegos / Re: Pack Man
« en: Jueves 17 de Junio de 2004, 19:07 »
Hola.

No sé si será por ejecutarlo en Windows, pero se me hace bastante difícil meterme por los desvios. Además, ¡cuando empiezas a moverte no puedes parar!

Un saludo.

Ruben3d

450
C/C++ / Re: Ayuda
« en: Jueves 17 de Junio de 2004, 12:24 »
Citar
pues no te he entendido ni 5

 :lol: jajaja, yo tampoco. Parece que esté cifrado  :P

Un saludo.

Ruben3d

Páginas: 1 ... 16 17 [18] 19 20 ... 30