Hola!
Despues de la mala experiencia q tuve con vector y SDL, me canse y me paso a openGL pero para seguir en 2D, o al menos intentarlo. Ya estube echando un ojo a algun tutorial sobre matrices y demas, y me pase a los tutos del NeHe (se que alguno le odiais). Lo que pasa q yo no se donde tengo las librerias del ogl. supuestamente, segun lei por ahi, ya vienen con windows, pero si hago una busqueda de opengl32.lib o glu32.lib na de na, no aparece. Lo mismo si hago gl.h, que si me aparece por el Dev-C++ y el Borland C++, pero con el VS.Net no viene na de na.
Hay algun pack, o SDK de ogl pa bajarselo y empezar ya con el tema?
Saludos!
Las librerías de OpenGL deberían venir con el Visual C++ (a mí sí me venían). De todas formas te las puedes bajar de
aquí mismo.
Saludos.
Weno, he pegado el codigo que viene de prueba en Dev-C++ en un proyecto de VC y compila bien, lo que pasa que cuando lo intento construir (build) me salen errores de esta guisa:
Citar
OGL error LNK2019: unresolved external symbol __imp__glBegin@4 referenced in function _WinMain@16
eso salia cuando faltaba agregar algun .lib o algo asi no?
efectivamente, tienes que añadir los .lib al proyecto.
Saludos!
Generalmente hay que incluir unos 3 o 4 libs para que funce ogl ... lo mas facil copia todas las libs que añade algun proyecto que ande ...
Saludos
Ya que estamos, glut para que sirve? lo usais? es necesario? :P
Glut es una libreria que vendria a ser "gl utilitys" o algo así, la idea es una libreria multiplataforma que permite hacer un programa para windows y linux con el mismo codigo ... por eso hay ports de glut para aquí y para halla, el tema es que hace tiempo que esta discontinuado.
Glut simplifica y porta el tema de crear una ventana a modo ventana o fullscreen, manejo de entrada de teclado y de mouse, dejandote opengl para dibujar haciendo que programas sean sencillos de portar, generalmente los ejemplos de gl vienen escritos usando esta libreria.
No conozco muchos juegos que lo utilizen y definitivamente no es necesario.
Saludos
Si has utilizado SDL quiza lo que busques no sea OG, pues con este ultimo te tendras que hacer una libreria propia para trabajar con tus juegos 2D.
Lo digo mas que nada por que quiza te interese la libreria de Loover, LooverLib, que se basa en OGL, pero tiene sus clases para trabajar con animaciones y demas elementos mas apropiados para juegos, mas en su foro(esta en stratos).
Saludos.
PD: De paso si quieres le agregas algun objeto para trabajar con teclado, gamepad's y demas que buena falta le hace.... :P
si vas a usar glut, mejor usa este:
http://freeglut.sourceforge.net/
Wenas.
Yo al principio tuve problemas con eso de las librerias >_<
No tengo ni idea de como meterlas en el proyecto....ademas q algunas veces cojo los archivos de codigo y creo proyecto de cero.........para q todo esto funione sin q tengas q incluir nada en proyecto, puedes meter la siguiente cabecera en tu .c principal :)
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glaux.lib")
#include <windows.h>
#include <stdio.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
Creo q con esto tengo activado el GLUT del q hablais.....la verdad no lo uso para nada, pero como demomento me funciona todo......
Cuidado con usar glaux porque es una librería de MS. Es mucho mejor usar glut o SDL para hacerlo multiplataforma.
saludos
Cuidado con usar glaux porque es una librería de MS. Es mucho mejor usar glut o SDL para hacerlo multiplataforma.
saludos
Al final ya consegui hacer que funcione el tema, agregando los lib en las opciones de proyecto en link, input, additional no se que :P
Citar
Si has utilizado SDL quiza lo que busques no sea OG, pues con este ultimo te tendras que hacer una libreria propia para trabajar con tus juegos 2D.
Lo digo mas que nada por que quiza te interese la libreria de Loover, LooverLib, que se basa en OGL, pero tiene sus clases para trabajar con animaciones y demas elementos mas apropiados para juegos, mas en su foro(esta en stratos).
Es que yo tengo una mania, no se si para bien o para mal, q es que no me gusta usar cosas hechas :P prefiero al menos intentarlo yo. Ademas seguro q asi aprendo mas. A mi me pasa como esos qe estan todo el dia con motores y no hacen juegos, casi me gusta mas probar cosas q hacer un juego en si ;)
Ahora de momento estoy a ver si me entero de que va eso de los DCs de las ventanas y luego buscare sobre como hacer cosas en 2D, que algo oi por ahi de quads y cosas asi. De todas formas si no encuentro lo que busco o no me queda algo claro os lo pregunto, q sois la caña :P
Saludos y Gracias!
PD: Felicidades Sacrifai si lo lees, que hoy parece ser tu cumpleaños ;)
En opengili para hacer gráficos en 2d "simplemente" tomas un cuadrado o un poligono con la forma que busques que esté definido solo con coordenadas x-y y texturizalo implementando transparencias (en el caso de un cuadrado).
Pienso yo vamos xD.
Xq 2d existiendo 3d? tichichinchiiiiinn.. Un saludo
el 3D lo veo muy jodido aun xDD
ademas si en el fondo quiero hacer algun juego seguro me sera mas facil con 2d y me quedara mejor :P
De todas formas no creo q tarde mucho en pegar el salto a 3D, todo sera ponerse ;)
Saludos!
Hacer un motor 3d es mas sencillo que hacer un motor 2d ... aun que no lo creas, pero resulta que hacer una aplicación especifica 2d es mas sencillo (por lejos) que hacer una aplicación especifica 3d. Lo que si el 3d es mucho mas portable, en dx puedes terminar cortando del motor de alguíen y pegando en el tuyo y listo, en openGl esto se complica un poco mas y la desventaja mas grande que tiene es la falta de libreria matematica (para los que empiezan, una vez implementada es lo mismo).
Saludos
Ya q esta abierto este post ya, planteo aqui algunas dudas q tengo asi no abro mas.
¿Que tengo q saber de programacion en win32 para hacer motor/juego/pruebas en ogl? nada de visor de modelos con botones y demas, solo quiero una ventana q se vea lo q dibujo y punto. ¿Solo necesitaria lo que viene siendo la creacion y destruccion de la ventana no? ¿o tb los controles de teclado y raton sobre esa ventana?
¿De no ser asi el control de teclado y raton que liberia puedo usar? ¿SDL? ¿De ser SDL, q deberia inicializar el modulo de video aunq no cree con SDL la ventana?
De momento se me ocurren esas, pero tenia mas, segun me acuerde las pongo a ver si sabeis :P
Gracias por la ayuda y Saludos chicos! B)
si usas glut u otro parecido no debes de saber nada de win32 ya que te cubren todo lo relacionado con la plataforma
saludos
pd:
http://nehe.gamedev.net/lesson.asp?index=01
Glut esta hecho para que no tengas que saber nada.
Para la entrada de teclado y raton solo basta con responder a algunos mensajes de windows, no es para nada dificil, tambien existe la posibilidad de usar dinput (lo cual lo haria mucho mas profecional), que es lo que yo uso, esto no se interpone con opengl para nada, el tema es que se pierde la portabilidad de la aplicación.
Mi recomendacion es que busques un tutorial o un ejemplo que inicialize opengl en ventana o pantalla completa y que borres lo que no te sirve y de ahí hagas lo tuyo ... miralo un poco que no es complicado
Aca hay un tut:
http://www.nullterminator.net/opengl32.htmlEn nehe tenes tutoriales de sobra...
Tut de nehe
Gracias por la info, le echo un ojo y os comento ;)
El de nehe es que me echo un poko para atras por eso de que usa GLaux, pero mas adelante para empezar a mirar cosas de texturizar y todo eso los seguire :P
Para aprender y empezar con opengl usa glut. Abre y gestiona ventanas, tiene funciones para entradas de teclado y de ratón, funciones de inicio, y de loop para animaciones.
Si quieres te mando luego un pequeño código (aunque no deberia, que tas aprendiendo :P) que lo único que haga es abrir una ventana glut y las funciones de loop.
Un saludor
en nehe tienes codigo con glut, sin glut y hasta con pedigri jeje, para bajarte el codigo con glut busca en el propio tutorial el download que pone esto:
DOWNLOAD GLUT Code For This Lesson
lo bueno de nehe es que si estas aprendiendo te puedes bajar el tutorial de inicializar la ventana o tu primer triangulo y ver las diferencias en diferentes lenguajes como plataformas
saludos