You are on page 1of 7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

Buscar en miarroba ...

Crea tu foro GRATIS

Entrar

Regstrate

Foros Noticias Pginas Calendario Nuevos mensajes Buscar Tagboard Imgenes Usuarios Fisgona

Caracteres alfanumricos en OpenGL. (en FreeBasic)

Nuevarespuesta

Proyectos Roboticos

Caracteres alfanumricos en OpenGL. (en FreeBasic)


Oceano2012
Administrador del
foro

#1

03/May/2013, 18:11 Editado por Oceano2012

Existenvariasformasdeponernmeros,letrasysmbolosenOpenGL.Despusdehacercomparacionesprefer
unaenlaquesetratadetenerunBMPcontodosloscaracteresalfanumricos,unarutinaseencargadetomarel
trocitodeimagenquecorrespondealaletraonmeroquequieresponer.Yotrarutinaseencargadeautomatizar
elprocesoparaponercadenascompletas.Estaltimarutinaseencargadecogerporejemploun"Hola"yune
cadaunodeesostrocitosparacomponeresetextoyenunazonadelapantalladeterminada.

Imagen de "Font.bmp"

Alfinaldeesteposttepodrsdescargarelsimuladordebrazorobotquemuestralosdatosdela
cinemticainversaenelmonitor.Elzipdedescargacontieneelprogramafuente,elejecutable,ylos
http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

1/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

archivosnecesarios(DLL,BMP,etc.)paraquepuedaejecutarse.

http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

2/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

Deformaesquemticapasoaexplicarlasmodificacionesquelehicea"BrazoSimple.bas".
http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

3/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

Alcomienzodelprogramahagolasdeclaracionesdelassubrutinas:

Cita:

DeclareSubBuildFont()
DeclareSubglPrint(ByValAsInteger,ByValAsInteger,ByValAsString,ByValAs
Integer)

Despusdel'Screen',antesdecomenzarlaconfiguracindelOpenGLpongolosiguiente:

Cita:

Screen19,1,,2'Pantalladeresolucin800x600
'
ReDimbuffer(256*256*4+4)AsUByte
BLoad"Font.bmp",@buffer(0)
texture=CreateTexture(@buffer(0))
BuildFont
'

Yahoravienenlasdosrutinas,laprimera,laquecortaeltrocitocorrespondienteesesta:

Cita:

SubBuildFont()

DimgloopAsInteger
StaticcxAsSingle
StaticcyAsSingle
gbase=glGenLists(256)
glBindTextureGL_TEXTURE_2D,texture
Forgloop=0To255
http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

4/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

cx=(gloopMod16)/16
cy=(gloop16)/16
glNewListgbase+gloop,GL_COMPILE
glBeginGL_QUADS
glTexCoord2fcx,1cy0.0625
glVertex2i0,0
glTexCoord2fcx+0.0625,1cy0.0625
glVertex2i12,0
glTexCoord2fcx+0.0625,1cy
glVertex2i12,12
glTexCoord2fcx,1cy
glVertex2i0,12
glEnd
glTranslated6,0,0
glEndList
Next
EndSub

Ylarutinaqueuneysacatextoscompletosenunazonadeterminadadelapantallaesesta:

Cita:

Sub glPrint(ByVal x As Integer, ByVal y As Integer, ByVal glstring As String,


ByValgsetAsInteger)
Ifgset>1Thengset=1
glBindTextureGL_TEXTURE_2D,texture
glDisableGL_DEPTH_TEST
glMatrixModeGL_PROJECTION
glPushMatrix
glLoadIdentity
glOrtho0,640,0,480,1,1
glMatrixModeGL_MODELVIEW
http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

5/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

glPushMatrix
glLoadIdentity
glTranslatedx,y,0
glListBasegbase32+(128*gset)
glCallListsLen(glstring),GL_BYTE,StrPtr(glstring)
glMatrixModeGL_PROJECTION
glPopMatrix
glMatrixModeGL_MODELVIEW
glPopMatrix
glEnableGL_DEPTH_TEST
EndSub

Cuandonecesitocolocartextoodatosnumricospongo:

Cita:

glEnableGL_BLEND
glColor3f0.0,1.0,0.0'Colordelasletrasynmeros.
glPrint200,460,"X="+Left(Str(EjeX),6),0
glPrint200,440,"Y="+Left(Str(EjeY),6),0
x
UsodecookiesglPrint200,420,"Z="+Left(Str(EjeZ),6),0
glPrint1,460,"Ang.GiroBr.:"+Left(Str(AngGiro),6),0
Utilizamoscookiespropiasydetercerosparamejorarnuestrosserviciosymostrarlepublicidadrelacionadaconsus
glPrint1,440,"Ang.Brazo:"+Left(Str(AngBrazo+90),6),0
preferenciasmedianteelanlisisdesushbitosdenavegacin.
glPrint1,420,"Ang.Codo:"+Left(Str(AngAntBr),6),0
Sicontinanavegando,consideramosqueaceptasuuso.Puedeobtenermsinformacin,obienconocercmocambiarla
glPrint 1, 400, "Ang. Cabeceo : " + Left (Str(AngMunecA) ,6) + " (" + Left
configuracin,ennuestraPolticadecookies
(Str(EjeV),6)+")",0
glPrint1,380,"Ang.Balanceo:"+Left(Str(AngMunecB),6),0
glPrint1,360,"Mano:"+Left(Str(EjeD),6),0
glPrint300,460,"PulsalasteclasASDQWEZXCVNMparamoverelBrazo.",0
glPrint300,445,"ParamoverconprecisionpulsateclaSHIFTyASDQWE",0

ObservaqueantesdeejecutarelprimerglPrintseleponeuncolor.EsRGB,portantodamosunvaloralrojo,otro
alverdeyalazul,comprendidoentre0y1,poresocontienedecimales.'0'esnulo,0.5esmitad,1estotal.
http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

6/7

19/4/2015

ProyectosRoboticosCaracteresalfanumricosenOpenGL.(enFreeBasic)Subforoprincipal

ElcomandoglPrintfuncionaparecidoal"Print"delBasic,perohayquedrselosiemprecomosifueratexto.'Str'
seencargadetransformarlosnmerosentextoocadena,y'Left'tomaunapartedeesacadena(paratomarslo
unapartedelosdecimales,queahoraescadena).
Elprimerysegundonmero(porejemplo486,420,)serefierealascoordenadasXeYrespectivamente.Noson
columnasyfilassinopixelsenlosejesXeY.El',0'delfinalpuedeser'0''1'.Sipones'0'tomalamitaddel
dibujo de arriba (font.bmp), y si pones '1' toma la mitad inferior del dibujo. Si observas el dibujo (imagen al
comienzodeestepost),lamitaddearribaylamitaddeabajosonlosmismoscaracteres,slosediferenciaenel
tipodeescritura,esdecir,normalocursiva.
Paradescargarelarchivohayqueregistrarse.

Saludos.
Brazo Robot.zip
Subida el: 04/May/2013 21:45
Tamao: 218.4 KB
Descargas: 21

Nuevarespuesta

Temaanterior

Temasiguiente

Arriba

ATENCIN: Este tema no tiene actividad desde hace ms de 6 MESES,


te recomendamos abrir un nuevo tema en lugar de responder al actual
Proyectos Roboticos
Opciones:

TU NO PUEDES Escribir nuevos temas


TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes

Versin imprimible del tema


Subscrbete a este tema
Date de baja de este tema

en
en
en
en

este
este
este
este

foro
foro
foro
foro

Ahora son las 18:07 UTC+02:00 DST

Contactar con el administrador de esta comunidad

http://proyectosroboticos.mforos.com/1901157/11064413caracteresalfanumericosenopenglenfreebasic/

7/7