FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
OpenGL
Hola Gente!
Soy nuevo en el foro y en OpenGL. Extoy intentando dibujar una plano pseudo-infinito pero no he podido saber como debo encararlo o conseguir un ejemplo. Agradezco vuestra ayuda y les envío un saludo. Mirko. |
#2
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Y recuerda poner títulos descriptivos en tus preguntas, gracias
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Si ya las he leido y si alguien me podria orientar se los agradeceria. He leido varios tutoriales y libritos (ademas de foros en otros idiomas) pero no le encuentro solución. Gracias y saludos.
|
#4
|
||||
|
||||
A que no le encuentras solucion? No presupongas que es obvio lo que preguntas. Haz de cuenta que cuando se hace una pregunta es a niños de 6 años, que , coincidencialmente, sabemos programar.
Haz intentado escribir algun codigo? Sino, ese es el PRIMER paso. Recuerdo que para cierto proyecto en el que estoy llevaba varios *meses* preocupado como rayos lo haria, y mucho se resolvio cuando abri el IDE, y empece a escribir codigo. Aun cuando este errado, la sola tarea de empezar a trabajar aclara mucho la mente.
__________________
El malabarista. |
#5
|
||||
|
||||
Si es OpenGL tienes que tener en cuenta que es digamoslo asi otro lenguaje, confuso extenso, que tendras que aprender, nada que ver con Object Pascal.
Tienes varios libros y a alguno de ellos tendras que echar mano, el libro rojo de OpenGL, el azul, etc, etc. Todo lo que puedas escribir en OpenGL, sirve para cualquier lenguaje, con eso te dije todo. Si te interesa, de echo que lo vas a hacer. Tambien puedes probar con GLScene, una gran libreria de componentes VCL, que esta a un nivel mayor que OpenGL. Me gusto una libreria que se llama ZenGL. http://zengl.org/ y al parecer a la gente de Big Fish Games http://www.bigfishgames.es/ les gusta usarla. http://zengl.org/projects.html Date una vuelta por: http://www.pascalgamedevelopment.com/content.php Saludos. Última edición por fenixariel fecha: 20-03-2013 a las 06:43:51. |
#6
|
||||
|
||||
Cita:
En Pascal Game Development hay varios expertos, pero quizá también te merezca la pena visitar NeHe, en GameDev. |
#7
|
||||
|
||||
Cita:
En un nuevo formulario añade el uses "OpenGL" y a partir del codigo que muestro tendras que trabajar un poco, pero la base ya te la doy echa. Basicamente lo que hace es iniciar el contexto opengl, cerrando y diseñar el "cubo" de trabajo, espero que te sirva.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
#8
|
|||
|
|||
Muchas gracias por sus respuestas... No es exactamente lo buscado pero me ha sido de mucha utilidad... Me interesaria reiterar la pregunta a nivel conceptual... Imaginen que soy un objeto que se encuentra en el centro de la pantalla y a su alrededor un plano pseudoinfinito que llega hasta el horizonte... como hago para saber en los extremos de la pantalla a que punto de este plano pertenecen? De esta forma podria hacer un bucle que dibuje hasta ahi.... gracias.
|
#9
|
||||
|
||||
Cita:
Pero si te lo dado escrito En OpenGL necesitas un cubo que es el area tridimensional de dibujo. Pero tu pantalla es 2D, ose un formulario. Las funciones Glinicia y Glacaba, son para crear y quitar el contexto OpenGL. La funcion AjustaVentana crea ese cubo de trabajo en un formulario de las dimensiones que tu quieras. Y para dibujar el plano que quieres tendrias que usar las siguientes funciones (donde x,y,z es la posicion del plano dentro del cubo tridimensional)
Mas claro no lo puedo dejar, pero ten en cuenta que como te han dicho antes, tienes que trabajar y aprender sobre la marcha. Con el codigo que he puesto tienes la base para trabajar en opengl con delphi y lo hago porque se lo mucho que me costo a mi comenzar, la proxima consulta que sea con algo de codigo porfa Saludos.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
#10
|
|||
|
|||
Muchas gracias... Es cierto hay muy poca info sobre esto... Voy a estudiar y luego comento...
|
#11
|
|||
|
|||
OpenGL
cesarsoftware:
Me parecio muy interesante el codigo que posteaste lo trate de probar pero no me funciono use D7 Tengo varias preguntas 1- Que version de delphi usaste para el codigo que posteaste 2- Tengo que tener instalado el opengl que version, o solo funciona con agregar al uses opengl. 3- Que tipo de variables son h_DC y h_RC de el procedimiento glInicia; 4- Que tipo de componente es el SpinZoom y SimCfg 5- Que procedimiento es el glIniciaLuz(); De antemano muchas gracias |
#12
|
||||
|
||||
Delphi 2007
Cita:
Son handles, necesitas la unidad windows en el uses en mi caso son globales h_DC : HDC; // handle del contexto del formulario h_RC : HGLRC; // handle del contexto OpenGL SpinZoom: TUpDown; SimCfg es un formulario que contiene la configuracion base
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
#13
|
||||
|
||||
He grabado un pequeño video de lo que hacen esas funciones que he publicado.
Espero que os aclaren algo. Un saludo.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. Última edición por Casimiro Notevi fecha: 19-04-2013 a las 12:26:03. |
#14
|
|||
|
|||
OpenGL
Muchas gracias cesarsoftware por aclarar estas dudas que tenia, has sido claro y especifico, gracias por el video.
Se llego a tener otra duda aqui mismo posteare. Salu2 |
#15
|
|||
|
|||
Realmente no sería más interesante utilizar GLScene. Una gran parte de las funciones de OpenGL están encapsuladas en sus componentes, siendo muy facil realizar un primer programa, ya que la programación es mediante componentes visibles.
Un saludo |
#16
|
|||
|
|||
Es muy interesante lo publicado... Pero igual sigo sin entender cual seria la forma de generar el plano pseudo infinito...
|
#17
|
||||
|
||||
Cita:
Cita:
El concepto es algo dificil de explicar en un post, pero lo intentare. A ver, opengl tiene como escenario un cubo tridimensional infinito y este se representa en una pantalla bidimensional finita, y te he enseñado como dibujar un plano que cubra ese infinito en cualquiera de sus tres ejes y te he mostrado como crear un objeto en el centro de ese cubo (ademas de la iluminacion que es MUY importante en las tres dimensiones para, por ejemplo, saber que esta delante de otra cosa, porque produce, entre otras cosas, sombras) Y por otro lado y no menos importante es que parte del cubo estas viendo, osea lo que en opengl se denomina "camara del observador", no es lo mismo mirar desde arriba, desde abajo o desde un angulo. Vale, Tu NO tienes que saber que puntos de la pantalla corresponden a ese cubo infinito. Tu YA sabes que puntos son porque TU los has puesto ahi. Si lo que quieres es un efecto de movimiento tipo navegador, lo que tienes que hacer es crear un cubo de tamaño concreto, digamos un kilometro (luego podras hacer zoom), le haces un plano sobre el eje vertical (que puede ser X,Y o Z, tu mismo), dibujas un cochecito (con glbegin(quads)), colocas la camara del observador sobre la cara sur del cubo (osea tus ojos) y segun se va moviendo el cochecito desplazas el cubo hacia el norte. Si con esto no entiendes "el concepto", quizas tengas que recurrir a otro porque a mi no se me ocurre como explicarlo mas sencillo.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Opengl??? | craven | Gráficos | 13 | 21-02-2007 18:25:29 |
opengl | juanperalta | Gráficos | 4 | 11-09-2006 17:11:43 |
SIG opengl | cecitt | Gráficos | 0 | 27-04-2005 17:47:58 |
OpenGL | Sotrono | Varios | 2 | 27-02-2005 00:57:49 |
Opengl | jose_2057111 | Gráficos | 0 | 14-12-2004 05:06:48 |
|