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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con opengl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: problema con opengl  (Leído 3,935 veces)
ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
problema con opengl
« en: 22 Julio 2016, 15:26 pm »

hola muy buenas tardes miren mi opengl no me va bien  hago un cubo y me da error y no puedo hago un simple cuadrado i se ve muy cerca o simplemente no sale nada en la pantalla no entiendo que pasa no  me sale nada por favor me podrían ayudar busco información y no encuentro si me ayudaran podría seguir con mis practicas lo que quiero es hacer un vídeo juego poco a poco practicando pero no va esto  


« Última modificación: 22 Julio 2016, 15:41 pm por ahigor » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re:Problema con OpenGL
« Respuesta #1 en: 22 Julio 2016, 15:30 pm »

Cual es tu codigo?

Para ver cual es el error

Y trata de poner titulos mas descriptivos de tu problema por ejemplo:

Problema con OpenGL

Si puedes modifica tu tema

Saludos


En línea

ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: hola
« Respuesta #2 en: 22 Julio 2016, 15:37 pm »

glLoadIdentity();

glBegin(GL_QUADS);

//Cara de Frente

glColor3f(1.0f, 0.0f, 0.0f); //Color Rojo
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, 1.0f);
glVertex3f(1.0f, -1.0f, 1.0f);


//Cara de Detras

glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f(1.0f, -1.0f, -1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f);
glVertex3f(1.0f, 1.0f, -1.0f);

glEnd();
 

intento hacer un cubo y me sale muy cerca y solo se ve la cara amarilla o esque no sale
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problema con opengl
« Respuesta #3 en: 22 Julio 2016, 16:33 pm »

Está claro que solo se ve la cara amarilla, pues es la última que dibujas y es la que tiene la profundidad más pequeña (-1.0) según indicas. El cuadrado amarillo se ve grande porque ocupas toda la pantalla. Tienes que tener en cuenta que las coordenadas de cortado están en el rango [-1.0, 1.0], es decir, toda coordenada dentro de este rango será dibujada, y si la coordenada es -1.0 o 1.0, eso significa que está en un extremo de la zona de dibujado.

Si lo que quieres es añadir perspectiva, tendrás que jugar con las matrices. En OpenGL antiguo, existen 2 matrices fundamentales para transformar las posiciones de los vértices, está la matriz de modelado y visionado, y está la matriz de proyección. La matriz de modelado y visionado sirve fundamentalmente  para "modelar" tus vértices, es decir, trasladarlos, rotarlos, escalarlos, además sirve para el manejo de la cámara... y la matriz de proyección sirve para delimitar el área visible de tu programa. Por ejemplo, puedes crear una matriz ortográfica usando librerías como glu, para crear un juego 2D, o puedes usar la matriz de proyección en perspectiva para crear un juego tridimensional.

Aun diciendo todo esto, no estoy acostumbrado al OpenGL antiguo porque en las versiones más recientes de este, se han descatalogado la mayoría de funcionalidades de las versiones de OpenGL 3.0 hacia atrás. Por esto mismo te aconsejo aprender OpenGL 3.3 en su perfil core (es decir, en modo moderno). Es más complicado de aprender, pero te enteras mucho mejor de lo que estás haciendo y es mucho más optimizable.
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: problema con opengl
« Respuesta #4 en: 22 Julio 2016, 16:42 pm »

muchas gracias una pregunta glPerspetive que ha pasado lo pongo y me da error
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problema con opengl
« Respuesta #5 en: 22 Julio 2016, 16:53 pm »

No es 'glPerspective', es 'gluPerspective'. Esta función no es de OpenGL, sino que es de una librería llamada glu:

https://www.opengl.org/sdk/docs/man2/xhtml/gluPerspective.xml
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problema con opengl
« Respuesta #6 en: 22 Julio 2016, 16:59 pm »

Por cierto, te aconsejo este tutorial. Usa OpenGL moderno, así que si quieres pasar del OpenGL antiguo al relativamente moderno, te aconsejo seguir este tutorial:

http://learnopengl.com/
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: problema con opengl
« Respuesta #7 en: 22 Julio 2016, 18:18 pm »

void CALLBACK EscalaVentana(GLsizei w, GLsizei h)
{
// Evita una división por cero
if (h == 0) h = 1;
// Ajusta la vista a las dimensiones de la ventana
glViewport(0, 0, w, h);
// Reinicia la matriz de proyección
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
// Establece el volumen de trabajo
aspecto = (GLfloat) w / h;
gluPerspective (60,aspecto,1,400);
100   1   C:\Users\edu\Documents\main.cpp   [Error] expected initializer before 'if'
102   18   C:\Users\edu\Documents\main.cpp   [Error] 'w' was not declared in this scope
102   21   C:\Users\edu\Documents\main.cpp   [Error] 'h' was not declared in this scope
107   1   C:\Users\edu\Documents\main.cpp   [Error] 'aspecto' was not declared in this scope
}108   33   C:\Users\edu\Documents\main.cpp   [Error] 'gluPerspective' was not declared in this scope

me da estos errores me puedes explicar por favor o ayudarme a solucionarlos
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: problema con opengl
« Respuesta #8 en: 22 Julio 2016, 18:53 pm »

La mayoría de errores parecen ser porque en alguna parte olvidaste un punto y coma. Lo único que te puedo decir es que te asegures de incluir la librería GLU y que declares globalmente o localmente la variable 'aspecto'. Sin tener el código fuente completo, es lo máximo que puedo decir.
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
ahigor

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: problema con opengl
« Respuesta #9 en: 22 Julio 2016, 19:00 pm »

la libreria glut no me va he echo de todo y me dado por vencido ahora estoy con window.h que es mucho mas dificil pero almenos va tampoco me va sdl i no se como solucionarlo por lo visto se me complica el sueño de hacer mi propio videojuego jeje
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con OpenGL en Enemy Territory
Juegos y Consolas
Kasswed 5 4,293 Último mensaje 12 Marzo 2006, 09:38 am
por Kasswed
Problema OpenGL y glut.h (Libreria)
Programación C/C++
totolia 1 5,519 Último mensaje 13 Mayo 2012, 20:50 pm
por totolia
c++ Opengl problema no puedo hacer un correcto movimiento de cámara con rotación
Programación C/C++
zargonori 2 2,924 Último mensaje 13 Noviembre 2015, 22:26 pm
por 6666
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines