Pages

Tuesday, August 16, 2011

3D laberinth with opengl and c++ builder


This is a sample of a 3D laberinth with binary collision, fog and other stuff, here is the download link of the project, any questions, post it here
http://www.megaupload.com/?d=1SPN9BQS

12 comments:

  1. I am really interested in this, can you please upload it to another site? Megaupload is FBI seized.

    Thanks,

    ReplyDelete
  2. Here is the new download link, the sources are in borland c++ 6
    http://fbe.am/b1J
    If you have any question please let me know

    ReplyDelete
  3. Muchas gracias por contestar tan rápido. Veo que el código está comentado en español, supongo que no te importará que hablemos en español :D

    Estoy empezando con esto de OpenGL en C++ Builder. Tienes más proyectos de este tipo? Igual alguno más simple...

    Toda ayuda se agradecería.

    Saludos,
    Guillermo

    ReplyDelete
  4. Buenas
    Tengo mas proyectos de este tipo, tratare de subirlos la semana entrante, te recomiendo que veas los tutoriales de NEHE pues estos estan en c++ builder y cubren muchas areas del 3D, tambien puedes copiar codigo de los ejemplos de opengl que viene preinstalados en c++ builder 6 pues las funciones de inicializacion grafica estan mas sencillas. Eso es todo, no dudes en preguntar por aqui cualquier duda que tengas.
    Saludos
    Vasily
    PD: Ayudaria mucho que te hicieras seguidor(FOLLOWER) de este blog

    ReplyDelete
  5. Si subieses más proyectos de OpenGL en C++ Builder te lo agradecería mucho!

    Estaba justo ahora echándoles un vistazo a los tutos de NeHe que tienen buena pinta.

    Un saludo!

    PD: Ya me he hecho seguidor :)

    ReplyDelete
  6. He estado mirando los tutos de NeHe y sus correspondientes códigos de Builder y tengo una duda.

    OpenGL abre una ventana auxiliar donde se crean los gráficos, pero si quiero que se pinten las cosas sobre el propio Form en lugar de sobre una ventana distinta, cuáles son los pasos a seguir?

    ¿Cómo se ha de modificar el código para que se pinte sobre el fondo del Form directamente?

    ReplyDelete
  7. Opengl solo necesita el handle de un contexto grafico, generalmente puede ser casi cualquier componente que tenga eso por ejemplo, form->HANDLE() o panel->Handle() yo creo que los samples del buider vienen con eso, ademas el del laberinto tambien, el unico que te levanta una ventana grafica sola es si lo creas con el GLUT, pues este es multisistema y no relega la creacion de un contexto de opengl solo con ventanas de windows.

    ReplyDelete
  8. Los tutoriales de NeHe que están "traducidos" a C++ Builder no pintan sobre el formulario, pero eso lo decía, pero ahora ya lo tengo claro. Ya me he aclarado con el Handle para pasarselo y que trabaje sobre él.

    Ahora el problema que tengo es que creo una superficie con glTexCoord2f y glVertex3f y cuando pongo la cámara al otro lado de la superficie no se ve. Es decir, creo una superficie, muevo la cámara, atravieso la superficie, doy la vuelta y no la veo. Es como si solo se viese por el lado de delante (que tiene sentido al ser una superficie) pero no sé cómo arrelgar eso... a ver si me puedes echar una mano.

    Saludos.

    ReplyDelete
  9. Eso es una opcion configurable en opengl, generalmente los juegos la tienen deshabilitada, para renderizar mas rapido, seguro te has metido adentro de algo por accidente y has podido ver para afuera.
    te dejo este link para que lo averigues porque no me acuerdo ahora, si mas no recuerdo es solo una linea de codigo

    http://www.google.com.cu/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CHYQFjAJ&url=http%3A%2F%2Fforums.codeguru.com%2Fshowthread.php%3F219044-OpenGL-How-to-render-both-sides-of-a-polygon&ei=PoQyULiQA6uP0QGb_oHoCA&usg=AFQjCNEc4YJXrMD9hanMluwaXdp4gPmhsw&cad=rja

    ReplyDelete
  10. glEnable(GL_CULL_FACE);
    ya me acuerdo, es esta
    tienes que deshabilitarla
    glDisable(GL_CULL_FACE);

    ReplyDelete
  11. Una sola línea de código y todo solucionado jejeje

    Muchas gracias por todo, si tengo alguna duda te lo haré saber.

    Un saludo,
    Guillermo

    ReplyDelete
  12. Thank you for sharing this code.

    ReplyDelete