elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  cómo se hacen las rejas 3D en glut y opengl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: cómo se hacen las rejas 3D en glut y opengl  (Leído 8,782 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #10 en: 17 Marzo 2017, 15:43 pm »

Puedes hacer lo que quieras, pero ve por partes. No empieces haciendo un juego; un juego requiere más que solo gráficos.

Te diría que hagas un tutorial de OpenGL, como es: http://www.opengl-tutorial.org/es/
El OpenGL moderno es más complicado que el antiguo (Ese que utiliza glbegin, glvertex, glEnd, etc... para dibujar). Por esa razón, poco a poco.


En línea

integeroverflow

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #11 en: 17 Marzo 2017, 16:22 pm »

para hacer un juego estilo age of empires podes utilizar la libreria allegro o la libreria SDL. te vas a ahorrar un monton de trabajo, y va a ser mucho mas simple el manejo de graficos, entonces te podes centrar en programar el motor isometrico.

tambien deberas investigar sobre el dibujado de tiles isometricas, que es la forma en la que se dibujan los mapas en AOE, y algoritmos de pathfinding para que los personajes encuentren la ruta a su destino, como pueden ser el A*, depth first, breadth first, etc...

una vez que tengas una base funcional, recien ahi debes meterte a programar la logica del juego, la IA, etc..


En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #12 en: 17 Marzo 2017, 16:35 pm »

Muchas gracias a los dos de verdad me quedo con la biblioteca y los nuevos conceptos y tenéis razón quiero ir muy rápido y todavía no se nada
En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #13 en: 17 Marzo 2017, 18:52 pm »

una pregunta como se cargan texturas en opengl quiero pintar hierva en mi proyecto
mi codigo es este:
                        #include<GL/glut.h>
#include <GL/glu.h>
#include <GL/gl.h>
#include <iostream>

#include <gl/glaux.h>

#include <GL/glut.h>

float tamanno = 1.0f;
int up, down;
int alto, ancho;

void IniciarGLUT() {
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
  glutInitWindowSize(600,600);
  glutInitWindowPosition(100,100);
  glutCreateWindow("Practica III,1 de OpenGL");
}






void PintarEscena() {
   glMatrixMode(GL_MODELVIEW);
   glClear(GL_COLOR_BUFFER_BIT);
   glLoadIdentity();


    glFlush();

glBegin (GL_LINES);
 glVertex2i(-8,6);
 glVertex2i(8,6);

 glVertex2i(-8,5);
 glVertex2i(8,5);

 glVertex2i(-8,4);
 glVertex2i(8,4);

 glVertex2i(-8,3);
 glVertex2i(8,3);

 glVertex2i(-8,2);
 glVertex2i(8,2);

 glVertex2i(-8,1);
 glVertex2i(8,1);


 glVertex2i(-8,0);
 glVertex2i(8,0);

 glVertex2i(-8,-1);
 glVertex2i(8,-1);

 glVertex2i(-8,-2);
 glVertex2i(8,-2);

 glVertex2i(-8,-3);
 glVertex2i(8,-3);

 glVertex2i(-8,-4);
 glVertex2i(8,-4);

 glVertex2i(-8,-5);
 glVertex2i(8,-5);

 glVertex2i(-8,-6);
 glVertex2i(8,-6);

 glVertex2i(-8,6);
 glVertex2i(-8,-6);

 glVertex2i(-7,6);
 glVertex2i(-7,-6);

 glVertex2i(-6,6);
 glVertex2i(-6,-6);

 glVertex2i(-5,6);
 glVertex2i(-5,-6);

 glVertex2i(-4,6);
 glVertex2i(-4,-6);

 glVertex2i(-3,6);
 glVertex2i(-3,-6);

 glVertex2i(-2,6);
 glVertex2i(-2,-6);

 glVertex2i(-1,6);
 glVertex2i(-1,-6);

 glVertex2i(0,6);
 glVertex2i(0,-6);

 glVertex2i(1,6);
 glVertex2i(1,-6);

 glVertex2i(2,6);
 glVertex2i(2,-6);

 glVertex2i(3,6);
 glVertex2i(3,-6);

 glVertex2i(4,6);
 glVertex2i(4,-6);

 glVertex2i(5,6);
 glVertex2i(5,-6);

 glVertex2i(6,6);
 glVertex2i(6,-6);

 glVertex2i(7,6);
 glVertex2i(7,-6);

 glVertex2i(8,6);
 glVertex2i(8,-6);


   glEnd();

   glutSwapBuffers();
}

void ReProyectar(int w, int h) {
   ancho = w;
   alto = h;
   GLfloat formato;

   if(h == 0) h = 1;

    glViewport(0, 0, w, h);

   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();

   formato = (GLfloat)w / (GLfloat)h;
    if (w <= h) glOrtho (-10.0f*tamanno, 10.0f*tamanno, -10.0f*tamanno / formato, 10.0f*tamanno / formato, 1.0f, -1.0f);
    else glOrtho (-10.0f*tamanno * formato, 10.0f*tamanno * formato, -10.0f*tamanno, 10.0f*tamanno, 1.0f, -1.0f);
}

void Zoom(int value) {
   if (up) tamanno = tamanno * 1.01f;
   if (down) tamanno = tamanno / 1.01f;

   ReProyectar(ancho,alto);
    glutTimerFunc(33,Zoom,1);
    glutPostRedisplay();
}

void Flechas(int key, int x, int y) {
   if (key==GLUT_KEY_UP) up = 1;
   if (key==GLUT_KEY_DOWN) down = 1;
}

void FlechasUp(int key, int x, int y) {
   if (key==GLUT_KEY_UP) up = 0;
   if (key==GLUT_KEY_DOWN) down = 0;
}

int main(int argc, char **argv)
{
   glutInit(&argc,argv); //Solo necesario en Linux
  IniciarGLUT();

  glutReshapeFunc(ReProyectar);
  glutDisplayFunc(PintarEscena);
  glutTimerFunc(33,Zoom,1);
  glutSpecialFunc(Flechas);
  glutSpecialUpFunc(FlechasUp);

  glutMainLoop();
    return 0;
}
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #14 en: 17 Marzo 2017, 23:22 pm »

En primer lugar, trata de no poner varios includes iguales.
Luego, trata de poner los glvertex con un for en vez de ponerlos todos seguidos.

Sobre texturas, es un pelín más coñazo. YO te recomendaría dejarlo para un poco más adelante, y acostumrbarte primero a OpenGL (puedes hasta simular hierba con triangulitos de diversas variedades de verde). Realmente no son <necesarias> las texturas al principio, y lían de más, sobre todo si el proyecto no está bien organizado.

Ahora bien, si quieres proseguir con texturas, pues bueno. Yo te diría que busques por Google, que algo encontrarás (Hace mucho que no utilizo OpenGL antiguo para cargar texturas).
En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #15 en: 18 Marzo 2017, 00:26 am »

Muchas gracias por los consejos eres un crack
En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #16 en: 18 Marzo 2017, 15:34 pm »

Y cómo se pinta en OpenGL jajajaja no tengo ni idea de nada :rolleyes:
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #17 en: 18 Marzo 2017, 15:41 pm »

Y cómo se pinta en OpenGL jajajaja no tengo ni idea de nada :rolleyes:

Pero si ya hiciste el programa de arriba ._.

En cualquier caso, por el foro obtendrás buenas respuestas a buenas preguntas (concretas). Para aprender OpenGL, e mejor que busques un tutorial por internet. Si tienes preguntas concretas, desde luego, sé libre de ponerlas.
En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #18 en: 18 Marzo 2017, 15:48 pm »

Me refería a pintar la rejilla completamente de verde o de otro color jeje vamos lo que es pintar por completo la reja
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: cómo se hacen las rejas 3D en glut y opengl
« Respuesta #19 en: 18 Marzo 2017, 15:55 pm »

Prueba a utilizar GL_TRIANGLES (Como intuirás, cada 3 vértices, dibujará un triángulo).
Luego, para poner colores, glColor3ub(r, g, b), donde cada parámetro va de 0 a 255. También tienes glColor3f(r, g, b), donde recibe floats, y cada color va de 0.0 a 1.0 (Utiliza lo que más te interese).

Si quieres que la cuadricula tenga un fondo verde, entonces puedes dibujar por detrás 2 triangulos (para formar un cuadrado), y luego la cuadricula (no olvides cambiar el color).

Para todas las modalidades de dibujado que tiene glBegin: https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glBegin.xml.
Tienes tambien GL_QUADS, GL_POLYGON, etc. Lo que más te interese.
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como instalar la libreria "GL/glut.h"
Programación C/C++
mapers 3 13,070 Último mensaje 1 Junio 2010, 19:27 pm
por Foxy Rider
glut
Programación C/C++
mapers 0 2,363 Último mensaje 14 Septiembre 2010, 06:57 am
por mapers
Problema Dev c++ (glut) « 1 2 »
Programación C/C++
alexis33de 12 10,041 Último mensaje 8 Diciembre 2010, 23:31 pm
por alexis33de
Entre rejas por insultar al rey Mohamed VI
Noticias
wolfbcn 0 1,489 Último mensaje 17 Febrero 2012, 01:27 am
por wolfbcn
Problema OpenGL y glut.h (Libreria)
Programación C/C++
totolia 1 5,814 Último mensaje 13 Mayo 2012, 20:50 pm
por totolia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines