User Tag List

Página 1 de 4 1234 ÚltimoÚltimo
Resultados 1 al 15 de 52

Tema: Biblioteca 3D

  1. #1

    Fecha de ingreso
    Dec 2005
    Mensajes
    71
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    Biblioteca 3D

    Estoy escribiendo una mini-biblioteca para gráficos 3D. Mi intención es que sea rápida, flexible, y sobre todo fácil de usar. De momento, sirve para renderizar modelos poligonales. Las características que tengo implementadas son:

    • Número de vértices por polígonos arbitrario, la biblioteca se encarga de descomponerlos en triángulos.
    • Renderizado de 16 bits.
    • Funciones básicas de álgebra lineal para trabajar con vectores y matrices.
    • Sombreado de polígonos.
    • Back-face culling.
    • Algoritmo del pintor.


    Y lo que queda por implementar:

    • Iluminación.
    • Mapeado de texturas.
    • Posibilidad de mover la cámara.
    • Funciones para trabajar con cuaterniones.
    • Frustum culling.
    • Clipping.
    • Cálculos en aritmética de punto fijo.
    • Funciones para cargar modelos desde ficheros.
    • Portarlo a ensamblador y usar el segundo procesador.
    • Y algo que seguro que se me olvida...


    De momento, os subo una mini-demo de dos cubos girando, me va a unos 48 fps.
    Archivos adjuntados Archivos adjuntados

  2. #2

    Fecha de ingreso
    Dec 2005
    Mensajes
    66
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Muy buena idea!

  3. #3

    Fecha de ingreso
    Aug 2005
    Mensajes
    9,461
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    ¡Diosss que maravilla! Acabo de ejecutar la version amd64 me ha impresionado

    EDITO: y la version para gp2x es hasta mejor! Como mola ver dos cubos 3D rotando en la consola a un buen framerate

    ¿Oye que licencia tiene? Porque integrarlo en el menú que estoy haciendo para conseguir efectos 3D tiene que ser la leche

    EDITO2: demasiado dificil para mi, como no sea con un tutorial no tengo ni idea de como usar la libreria
    Última edición por efegea; 13/02/2006 a las 23:43

  4. #4

    Fecha de ingreso
    Sep 2005
    Ubicación
    /home/malaga
    Mensajes
    26
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Ponnos una captura, hombre!!

  5. #5

    Fecha de ingreso
    Dec 2004
    Ubicación
    Alicante
    Mensajes
    591
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    5
    Thanked in
    Agradecido 3 veces en [ARG:2 UNDEFINED] posts
    de fabula, a ver si con proyectos tan buenos como este y el de archer nos animamos al 3d, que de momento es demasiado complejo para muchos de nosotros

  6. #6

    Fecha de ingreso
    Dec 2005
    Mensajes
    71
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Me alegra que os guste. Hacía años que tenía ganas de escribir un motor 3D por software (es lo que tiene aprender a programar antes de que existieran las tarjetas 3D), y la GP2X era la excusa perfecta :P

    Efegea, la licencia será GPL o alguna similar, se me ha olvidado ponérsela. En cuanto al tutorial, tienes razón, tengo que escribir uno en cuanto la haya depurado un poco más...

    Murdok, adjunto una captura.
    Imágenes adjuntadas Imágenes adjuntadas  

  7. #7

    Fecha de ingreso
    Mar 2003
    Ubicación
    Cerdanyola
    Mensajes
    3,846
    Mencionado
    46 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    38
    Agradecer Thanks Received 
    1,887
    Thanked in
    Agradecido 614 veces en [ARG:2 UNDEFINED] posts
    Tiene muy buena pinta esto, si necesitas ayuda para pasar todo a asm de arm a lo mejor puedo ayudarte.

  8. #8

    Fecha de ingreso
    Aug 2004
    Ubicación
    en las nubes
    Mensajes
    1,027
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Kudos!! Muy bueno
    Solo tengo algunos escasos conocimientos teoricos acerca de la renderizacion por software, pero te recomiendo que algunas operaciones basicas las hagas por ensablador, la velocidad podria aumentar aun mas.
    Respect!
    .: kmkzk

  9. #9

    Fecha de ingreso
    Aug 2005
    Mensajes
    3,385
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    2
    Thanked in
    Agradecido %1$s veces en 1 post
    Qué currada, Pezezin. Mola ver 3D en la consola...

    Hum... Hablas de la posibilidad de mover la cámara. ¿Eso significa que ya lleva incorporada la gestión de cámaras? Me refiero a algo parecido a lo que te permite hacer OpenGL del tipo: el observador está aquí, el punto de referencia es éste, la cámara está inclinada tantos grados, el ángulo de visión es tal, ... Creo (y hablo algo vagamente porque hace años que no toco GL) que me refiero a lo que hacían gluLookAt, glOrtho, etc.

  10. #10

    Fecha de ingreso
    Dec 2005
    Mensajes
    71
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Bueno, subo una nueva versión. Le he añadido iluminación mediante sombreado Goraud, funciones para manipular cuaterniones, y reorganizado el código. Mañana si me pongo le añadiré mapeado de texturas. En cuanto a lo que me comentais:

    • miq01: sí, quiero hacer algo similar a OpenGL, aunque más sencillo de usar. Ahora mismo el programa define una matriz de transformación para la cámara, pero no la usa. Mi idea es añadir algunas funciones del tipo coloca_la_cámara_aquí_mirando_p'alla() y que sea la biblioteca la que se encargue de todo.
    • kmkzk: desde luego que habrá que usar ensamblador, y a ser posible el coprocesador. Pero el código está muy verde aún, y como dijo Donald Knuth: "la optimización prematura es la raíz de todos los males".
    • Wave: no me vendría nada mal un poco de ayuda Si quieres (y sabes como hacerlo), puedes echarle un vistazo al rasterizador, o a la aritmética de punto fijo...
    Archivos adjuntados Archivos adjuntados

  11. #11

    Fecha de ingreso
    Mar 2003
    Ubicación
    Cerdanyola
    Mensajes
    3,846
    Mencionado
    46 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    38
    Agradecer Thanks Received 
    1,887
    Thanked in
    Agradecido 614 veces en [ARG:2 UNDEFINED] posts
    En cuanto termine los examenes (mañana es el ultimo), me pondre a mirarlo.

  12. #12

    Fecha de ingreso
    Dec 2005
    Mensajes
    71
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Ay los exámenes...

    Míralo cuando puedas, pero antes de escribir código avísame, que posiblemente ya haya modificado algo Estoy ahora mismo liado con el rasterizador, es más lento de lo que pensaba. He estado leyendo como optimizarlo, y posiblemente limite cada objeto a 256 colores (aunque luego el framebuffer sea de 16 bits).

    Lo que si que puedes ir mirando es la parte de álgebra lineal, que esa casi seguro que no cambia, y ahora mismo es muy lenta.

  13. #13

    Fecha de ingreso
    Jul 2003
    Ubicación
    Cerca de BCN ...
    Mensajes
    8,465
    Mencionado
    10 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Wave
    En cuanto termine los examenes (mañana es el ultimo), me pondre a mirarlo.
    ***** aún tienes exámenes? Ufff como pringas tio . Suerte!




    La libreria 3D tiene una pinta impresionante .

    Por favor, cúrrate una documentación y unos buenos ejemplos, para que la gente se anime a usarla, que sinó va a pasar como con las Yeti ...
    "No hay malos alumnos, sino malos profesores" | "Humor = Tragedia + Tiempo" (by Joan Pera)
    (NGP Platinum)(Cy) ¡¡El Mercata AOJtil!!

  14. #14

    Fecha de ingreso
    Mar 2003
    Ubicación
    Cerdanyola
    Mensajes
    3,846
    Mencionado
    46 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    38
    Agradecer Thanks Received 
    1,887
    Thanked in
    Agradecido 614 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por pezezin
    Ay los exámenes...

    Míralo cuando puedas, pero antes de escribir código avísame, que posiblemente ya haya modificado algo Estoy ahora mismo liado con el rasterizador, es más lento de lo que pensaba. He estado leyendo como optimizarlo, y posiblemente limite cada objeto a 256 colores (aunque luego el framebuffer sea de 16 bits).

    Lo que si que puedes ir mirando es la parte de álgebra lineal, que esa casi seguro que no cambia, y ahora mismo es muy lenta.
    Si, ya he mirado la multiplicacion de matrices y es un poco jodidilla, en cuanto al punto fijo, quiza podriamos usar las librerias sll de chui.

  15. #15

    Fecha de ingreso
    Dec 2005
    Mensajes
    71
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Bueno, esto va progresando. He limpiado bastante el código (aunque aún falta) y le he añadido mapeado de texturas, aunque sin corrección de perspectiva.
    Imágenes adjuntadas Imágenes adjuntadas  
    Archivos adjuntados Archivos adjuntados

Página 1 de 4 1234 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •