mirror of
https://github.com/bloeys/nterm.git
synced 2025-12-29 14:38:19 +00:00
Clean some stuff
This commit is contained in:
30
main.go
30
main.go
@ -6,6 +6,7 @@ import (
|
|||||||
"image/draw"
|
"image/draw"
|
||||||
"image/png"
|
"image/png"
|
||||||
"math"
|
"math"
|
||||||
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
@ -280,25 +281,26 @@ func (p *program) Render() {
|
|||||||
|
|
||||||
w, h := p.win.SDLWin.GetSize()
|
w, h := p.win.SDLWin.GetSize()
|
||||||
|
|
||||||
startFromTop := float32(h) - float32(atlas.LineHeight)
|
//Draw FPS
|
||||||
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("Point size=%d", fontPointSize), gglm.NewVec3(0, startFromTop, 0), w, h)
|
|
||||||
|
|
||||||
startFromTop -= float32(atlas.LineHeight)
|
|
||||||
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("Texture size=%d*%d", atlasTex.Width, atlasTex.Height), gglm.NewVec3(0, startFromTop, 0), w, h)
|
|
||||||
|
|
||||||
// fps := timing.GetAvgFPS()
|
|
||||||
var fps float32
|
var fps float32
|
||||||
if frameTime.Milliseconds() > 0 {
|
if frameTime.Milliseconds() > 0 {
|
||||||
fps = 1 / float32(frameTime.Milliseconds()) * 1000
|
fps = 1 / float32(frameTime.Milliseconds()) * 1000
|
||||||
}
|
}
|
||||||
startFromTop -= float32(atlas.LineHeight)
|
startFromTop := float32(h) - float32(atlas.LineHeight)
|
||||||
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("FPS=%f", fps), gglm.NewVec3(float32(w)*0.8, float32(h)-float32(atlas.LineHeight), 0), w, h)
|
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("FPS=%f", fps), gglm.NewVec3(float32(w)*0.7, startFromTop, 0), w, h)
|
||||||
|
|
||||||
//From bottom
|
//Draw point and texture sizes
|
||||||
|
startFromTop -= float32(atlas.LineHeight)
|
||||||
|
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("Point size=%d", fontPointSize), gglm.NewVec3(float32(w)*0.7, startFromTop, 0), w, h)
|
||||||
|
|
||||||
|
startFromTop -= float32(atlas.LineHeight)
|
||||||
|
glyphRend.drawTextOpenGL(atlas, fmt.Sprintf("Texture size=%d*%d", atlasTex.Width, atlasTex.Height), gglm.NewVec3(float32(w)*0.7, startFromTop, 0), w, h)
|
||||||
|
|
||||||
|
//Draw all other
|
||||||
count := 1000
|
count := 1000
|
||||||
startFromBot := float32(atlas.LineHeight)
|
startFromBot := float32(atlas.LineHeight)
|
||||||
for i := 0; i < count; i++ {
|
for i := 0; i < count; i++ {
|
||||||
glyphRend.drawTextOpenGL(atlas, "Hello friend.\nHow are you?", gglm.NewVec3(0, startFromBot, 0), w, h)
|
glyphRend.drawTextOpenGL(atlas, "Hello friend, how are you?\n", gglm.NewVec3(0, startFromBot, 0), w, h)
|
||||||
startFromBot += float32(atlas.LineHeight) * 2
|
startFromBot += float32(atlas.LineHeight) * 2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -453,6 +455,10 @@ func (gr *GlyphRend) drawTextOpenGL(atlas *FontTexAtlas, text string, startPos *
|
|||||||
rs := []rune(text)
|
rs := []rune(text)
|
||||||
const floatsPerGlyph = 18
|
const floatsPerGlyph = 18
|
||||||
|
|
||||||
|
rCol := rand.Float32()
|
||||||
|
gCol := rand.Float32()
|
||||||
|
bCol := rand.Float32()
|
||||||
|
|
||||||
pos := startPos.Clone()
|
pos := startPos.Clone()
|
||||||
instancedData := make([]float32, 0, len(rs)*floatsPerGlyph) //This a larger approximation than needed because we don't count spaces etc
|
instancedData := make([]float32, 0, len(rs)*floatsPerGlyph) //This a larger approximation than needed because we don't count spaces etc
|
||||||
for i := 0; i < len(rs); i++ {
|
for i := 0; i < len(rs); i++ {
|
||||||
@ -485,7 +491,7 @@ func (gr *GlyphRend) drawTextOpenGL(atlas *FontTexAtlas, text string, startPos *
|
|||||||
g.U, g.V + g.SizeV,
|
g.U, g.V + g.SizeV,
|
||||||
g.U + g.SizeU, g.V + g.SizeV,
|
g.U + g.SizeU, g.V + g.SizeV,
|
||||||
|
|
||||||
1, 1, 1, 1, //Color
|
rCol, gCol, bCol, 1, //Color
|
||||||
drawPos.X(), drawPos.Y(), drawPos.Z(), //Model pos
|
drawPos.X(), drawPos.Y(), drawPos.Z(), //Model pos
|
||||||
scale.X(), scale.Y(), scale.Z(), //Model scale
|
scale.X(), scale.Y(), scale.Z(), //Model scale
|
||||||
}...)
|
}...)
|
||||||
|
|||||||
Reference in New Issue
Block a user