Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (769)
Games in Android Showcase (230)
games submitted by our members
Games in WIP (855)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Best way to create/load and render fonts?  (Read 769 times)
0 Members and 1 Guest are viewing this topic.
Offline BitCrack

Innocent Bystander


Exp: 1-3 months



« Posted 2018-01-12 15:24:39 »

I am using LWJGL 3.1.5 with that OpenGL, STB
I wonder how to render fonts (also strings) in places where the string will change.

I tried searching but I've only found tutorials/snippets for C++  Undecided
Thankies  Smiley
Offline DesertCoockie
« Reply #1 - Posted 2018-01-13 13:30:08 »

I've always used BitMap fonts to do this.
Basically, I used awt.Graphics2D to draw every character I need to an image file while storing the pixel coordinates in a text file (you also just could use a freely available bitmap font program). I then just have to load this file and every time I want to render a character, I look up its position in the texture, bind this part and render it.

(If you want, I could post my files here, but they are quite large and currently undocumented.)
Offline quew8

JGO Knight


Medals: 53



« Reply #2 - Posted 2018-01-16 17:30:10 »

You can render fonts completely dynamically at runtime with LWJGL3. Basically STB is a wonderful library that provides two ways to render fonts - drawing the geometry directly (EasyFont) and generating bitmap textures and providing texture coords (Truetype). I'd recommend the latter as being slightly more complicated but better and far easier to work into an existing render pipeline.

Check out the LWJGL demos (which are also wonderful and kept remarkably up to date) for examples of both: https://github.com/LWJGL/lwjgl3/tree/master/modules/core/src/test/java/org/lwjgl/demo/stb
EasyFont.java does the geometry base rendering.
Truetype.java does the bitmap based rendering.
FontDemo is the superclass for both demos which you'll probably have to refer to.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Damocles
« Reply #3 - Posted 2018-01-16 19:30:50 »

Here is a nice Tool to create Font Bitmaps

Codehead’s Bitmap Font Generator
http://www.codehead.co.uk/cbfg/
Pages: [1]
  ignore  |  Print  
 
 

 
EgonOlsen (1572 views)
2018-06-10 19:43:48

EgonOlsen (1632 views)
2018-06-10 19:43:44

EgonOlsen (1144 views)
2018-06-10 19:43:20

DesertCoockie (1569 views)
2018-05-13 18:23:11

nelsongames (1173 views)
2018-04-24 18:15:36

nelsongames (1638 views)
2018-04-24 18:14:32

ivj94 (2395 views)
2018-03-24 14:47:39

ivj94 (1605 views)
2018-03-24 14:46:31

ivj94 (2691 views)
2018-03-24 14:43:53

Solater (882 views)
2018-03-17 05:04:08
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!