Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Duda Libreria OpenGL
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Duda Libreria OpenGL 
 
Antes que nada quiero aclarar que soy nuevo en gambas asi que talvez estoy confundido.
Estoy intentado hacer (para experimentar, nada serio) alguna aplicacion 3D y me encontre con el problema de que no puedo dibujar en la pantalla texto.
Supuestamente hay 2 metodos, uno dibujando las letras y otro que escribe los caracteres directamente.
El problema es que para usar la sentencia *GLUT.BITMAPSTRING*  pero me da error como desconocida.
Necesito la libreria glut pero no puedo encontrarla en ningun lado ni tampoco agregarla al proyecto.
¿No esta disponible para gambas o es que yo estoy equivocado?


Estoy programando en Ubuntu 14.04 que esta instalado en virtual box sobre W7.
Gambas3.6.XX

Cualquier guia sera bien recibida.
 



 
francobe - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Duda Libreria OpenGL 
 
francobe:

He visto que en la documentación de gambas3 (  http://gambaswiki.org/wiki/comp ), existe el componente:

http://gambaswiki.org/wiki/comp/gb.opengl.glu

Que tiene una serie de clases para trabajar con el:
Citar:
gb.opengl.glu
The GL Utilities GLU library is a set of routines designed to complement the OpenGL graphics system by providing support for mipmapping, matrix manipulation, polygon tessellation, quadrics, NURBS, and error handling.
More information there:
Frequently Asked Questions
OpenGL GLU Library 1.3 Specification (PDF)
Classes
Glu   GluNurb   GluQuadric  


Seguramente habrá algún método similar al que buscas.

Por otro lado, mirate los ejemplos que trae gambas3 sobre opengl .

Saludos

Julio

Nota:
Citar:
"Estoy programando en Ubuntu 14.04 que esta instalado en virtual box sobre W7.Gambas3.6.XX"

Tenerlo en una maquina virtual,no te tiene que dar ningún problema. Lo que si pues optimizar (para que vaya más fluida  la máquina virtual) es la memoria de la tarjeta gráfica que le tengas asignada a la máquina virtual.

Añado:
Un compañero del foro, TercoIde, se hizo un motor 3d para usarlo con gambas3 (en C y luego usando OpenGl), (hizo varias versiones).
Lo puedes ver en : http://foro.gambas-es.org/viewtopic.php?f=5&t=3518&start=20
(leete todos los comentarios, que son bastantes)
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Miercoles, 26 Noviembre 2014, 11:01; editado 1 vez 
Editado por jsbsan, Miercoles, 26 Noviembre 2014, 11:01: añado post de tercoide sobre su motor3d
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Duda Libreria OpenGL 
 
Gracias por la intro, Julio.

Basicamente hay que crear una imagen rectangular, meter el texto ahi con Paint, y luego usar esa imagen en OpenGL.

Para ahorrarle trabajo, va esta rutina que deberia funcionar:

' un type importante
Public Struct punto3d
    x As Float
    Y As Float
    z As Float
End Struct

 

Public Sub txtRendering2D(texto As String, p As Punto3d, Optional Altura As Single = 12, Optional _color As Long = Color.Blue, Optional _BackColor As Long = -1, Optional centradoH As Integer = 0, Optional centradoV As Integer = 0)
    ' this works in a Orthogonal projection


    
    Dim rectangulo As RectF
    Dim imagen As New Image, pR As New Punto3d
    
    imagen.Resize(200, 200) 'so Paint.Begin gives no error
    Paint.Begin(imagen)
    Paint.Font.Size = Altura
    Paint.Brush = Paint.Color(_color)
    rectangulo = Paint.TextSize(texto)
    Paint.End
    rectangulo.Height /= 1.25  ' correct the innecesary extra height
    
    'this can't go into the Paint loop
    imagen.resize(rectangulo.Width, rectangulo.Height)
    If _backcolor > 0 Then
        imagen.Fill(_BackColor)
    Else
        ' until I know how to make it transparente, it goes like this
        imagen.Fill(Color.White)
        
    End If
    
    Paint.Begin(imagen)
    Paint.Font.Size = Altura
    Paint.Brush = Paint.Color(_color)
    Paint.Text(texto, 0, rectangulo.Height * 0.85) 'locate the text at the bottom + 15% so it's vertically centered in the box
    Paint.Fill
    Paint.End
    'imagen.Save("imagen.png")  ' this is to check the Paint worked (and works!)
    
    
    
    ' allignment to the 3D point p
    If centradoH = 1 Then pr.x -= rectangulo.Width /
    If centradoH = 2 Then pr.x -= rectangulo.Width / 2
    
    If centradoV = 1 Then pr.y -= rectangulo.Height
    If centradoV = 2 Then pr.y -= rectangulo.Height / 2
    
    Gl.TexImage2D(imagen)
    'Glu.Build2DMipmaps(imagen) ' de alguna manera esto da error, y sin esto funciona igual
    Gl.TexParameteri(Gl.TEXTURE_2D, Gl.TEXTURE_MIN_FILTER, Gl.NEAREST)
    Gl.TexParameteri(Gl.TEXTURE_2D, Gl.TEXTURE_MAG_FILTER, Gl.NEAREST)
    
    gl.BindTexture(gl.TEXTURE_2D, hText[0])        
    Gl.Begin(Gl.QUADS)
    gl.color3f(1, 1, 1)
    
    Gl.TexCoordf(0.0, 1.0) ' Bottom Left OF The Texture AND Quad
    Gl.Vertex3f(pr.x, pr.y, pr.z)
    
    Gl.TexCoordf(1.0, 1.0) ' Bottom Right OF The Texture AND Quad
    Gl.Vertex3f(pr.x + rectangulo.Width, pr.y, pr.z)
    
    Gl.TexCoordf(1.0, 0.0) ' Top Right OF The Texture AND Quad
    Gl.Vertex3f(pr.x + rectangulo.Width , pr.y + rectangulo.Height, pr.z)
    
    Gl.TexCoordf(0.0, 0.0) ' Top Left OF The Texture AND Quad
    Gl.Vertex3f(pr.x, pr.y + rectangulo.Height , pr.z)
    
    Gl.End()
    
End


cualquier duda me consultas por aqui
 



 
última edición por tercoIDE el Miercoles, 26 Noviembre 2014, 12:53; editado 1 vez 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Duda Libreria OpenGL 
 
Gracias por las respuestas, voy a leer los documentos que me recomendaron.

Sobre lo que tercoIDE me recomendó, no creo poder usarlo por lo siguiente:

Lo que estoy intentado hacer un un polígono que cambie de color cuando yo cambie los valores de las variables de RGB, y necesito 3 label en pantalla que me digan cuales son dichos valores.
Estoy haciendo esto para poder sacar los valores de los colores que yo quiero para usarlos en otro proyecto ya que estuve leyendo pero no encontré un método para poder saber cual es el valor de determinado color, por lo que me plantee dicho *programa*.
Encontré los valores en hex.o decimal pero no pude aplicarlo a las sentencia en opengl quye tiene 3 valores float de 0.0 a 1.0
 



 
francobe - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Duda Libreria OpenGL 
 
francobe escribió: [Ver mensaje]
Gracias por las respuestas, voy a leer los documentos que me recomendaron.

Sobre lo que tercoIDE me recomendó, no creo poder usarlo por lo siguiente:

Lo que estoy intentado hacer un un polígono que cambie de color cuando yo cambie los valores de las variables de RGB, y necesito 3 label en pantalla que me digan cuales son dichos valores.
Estoy haciendo esto para poder sacar los valores de los colores que yo quiero para usarlos en otro proyecto ya que estuve leyendo pero no encontré un método para poder saber cual es el valor de determinado color, por lo que me plantee dicho *programa*.
Encontré los valores en hex.o decimal pero no pude aplicarlo a las sentencia en opengl quye tiene 3 valores float de 0.0 a 1.0


El color en gambas, al igual que VB es un numero LONG, que se puede descomponer en RGB asi:

        
r = (Shr( colorRGB, 16) And 255) / 256
        g = (Shr( colorRGB, 8) And 255) / 256
        b = ( colorRGB And 255) / 256


que van de 0.0 a 1.0, si quieres que vayan de 0 a 255, simplemente elimina el /256 del final de cada linea.
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Duda Libreria OpenGL 
 
tercoIDE"  Gracias por el dato, y por lo anterior también, gracias al proyecto motor3D  vi como usar el GLarea y con eso  pude arreglármelas.
 



 
francobe - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes OpenGL Amaro Pargo General 1 Jueves, 24 Marzo 2011, 13:03 Ver último mensaje
netking86
No hay nuevos mensajes OpenGL Con Gambas jsbsan Videotutoriales 4 Domingo, 24 Noviembre 2013, 12:19 Ver último mensaje
jsbsan
No hay nuevos mensajes OpenGL. Tutoriales Shell General 53 Viernes, 05 Febrero 2016, 20:35 Ver último mensaje
tercoIDE
No hay nuevos mensajes [OpenGL] Introduction To OpenGL Graphics ... Shell Programación en otros lenguajes 0 Sabado, 09 Marzo 2019, 14:48 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron