• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Go で書き直した Ikemen


Commit MetaInfo

Revisioncf7cd451f2ec743d2639d61bd208c5ee129ba803 (tree)
Time2019-04-15 19:22:13
Authorneatunsou <sisiy4excite@gmai...>
Commiterneatunsou

Log Message

fontの描画前処理をimage.goのglDrawでやるようにした

Change Summary

Incremental Difference

--- a/src/font.go
+++ b/src/font.go
@@ -5,11 +5,9 @@ import (
55 "os"
66 "regexp"
77 "strings"
8- "unsafe"
98
109 "github.com/K4thos/glfont"
1110 findfont "github.com/flopp/go-findfont"
12- "github.com/go-gl/gl/v2.1/gl"
1311 )
1412
1513 // FntCharImage stores sprite and position
@@ -471,17 +469,22 @@ func (f *Fnt) drawChar(
471469
472470 //trans := f.calculateTrans()
473471
474- if pal != nil {
475- RenderMugenPal(*spr.Tex, 0, spr.Size, -x*sys.widthScale,
476- -y*sys.heightScale, &notiling, xscl*sys.widthScale, xscl*sys.widthScale,
477- yscl*sys.heightScale, 1, 0, 0, 0, 0, sys.brightness*255>>8|1<<9, &sys.scrrect,
478- 0, 0, false, 1, &[3]float32{0, 0, 0}, &[3]float32{1, 1, 1})
479- } else {
480- RenderMugenFc(*spr.Tex, spr.Size, -x*sys.widthScale,
481- -y*sys.heightScale, &notiling, xscl*sys.widthScale, xscl*sys.widthScale,
482- yscl*sys.heightScale, 1, 0, 0, 0, 0, sys.brightness*255>>8|1<<9, &sys.scrrect,
483- 0, 0, false, 1, &[3]float32{0, 0, 0}, &[3]float32{1, 1, 1})
484- }
472+ spr.glDraw(pal, 0, -x*sys.widthScale,
473+ -y*sys.heightScale, &notiling, xscl*sys.widthScale, xscl*sys.widthScale,
474+ yscl*sys.heightScale, 0, 0, 0, 0,
475+ sys.brightness*255>>8|1<<9, &sys.scrrect, 0, 0, nil)
476+
477+ //if pal != nil {
478+ // RenderMugenPal(*spr.Tex, 0, spr.Size, -x*sys.widthScale,
479+ // -y*sys.heightScale, &notiling, xscl*sys.widthScale, xscl*sys.widthScale,
480+ // yscl*sys.heightScale, 1, 0, 0, 0, 0, sys.brightness*255>>8|1<<9, &sys.scrrect,
481+ // 0, 0, false, 1, &[3]float32{0, 0, 0}, &[3]float32{1, 1, 1})
482+ //} else {
483+ // RenderMugenFc(*spr.Tex, spr.Size, -x*sys.widthScale,
484+ // -y*sys.heightScale, &notiling, xscl*sys.widthScale, xscl*sys.widthScale,
485+ // yscl*sys.heightScale, 1, 0, 0, 0, 0, sys.brightness*255>>8|1<<9, &sys.scrrect,
486+ // 0, 0, false, 1, &[3]float32{0, 0, 0}, &[3]float32{1, 1, 1})
487+ //}
485488
486489 return float32(spr.Size[0]) * xscl
487490 }
@@ -511,26 +514,26 @@ func (f *Fnt) DrawText(
511514 }
512515
513516 var pal []uint32
514- var paltex uint32
517+ //var paltex uint32
515518 if len(f.palettes) != 0 {
516519 pal = f.palfx.getFxPal(f.palettes[bank][:], false)
517- gl.Enable(gl.TEXTURE_1D)
518- gl.ActiveTexture(gl.TEXTURE1)
519- gl.GenTextures(1, &paltex)
520- gl.BindTexture(gl.TEXTURE_1D, paltex)
521- gl.PixelStorei(gl.UNPACK_ALIGNMENT, 1)
522- gl.TexImage1D(
523- gl.TEXTURE_1D,
524- 0,
525- gl.RGBA,
526- 256,
527- 0,
528- gl.RGBA,
529- gl.UNSIGNED_BYTE,
530- unsafe.Pointer(&pal[0]),
531- )
532- gl.TexParameteri(gl.TEXTURE_1D, gl.TEXTURE_MAG_FILTER, gl.NEAREST)
533- gl.TexParameteri(gl.TEXTURE_1D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)
520+ //gl.Enable(gl.TEXTURE_1D)
521+ //gl.ActiveTexture(gl.TEXTURE1)
522+ //gl.GenTextures(1, &paltex)
523+ //gl.BindTexture(gl.TEXTURE_1D, paltex)
524+ //gl.PixelStorei(gl.UNPACK_ALIGNMENT, 1)
525+ //gl.TexImage1D(
526+ // gl.TEXTURE_1D,
527+ // 0,
528+ // gl.RGBA,
529+ // 256,
530+ // 0,
531+ // gl.RGBA,
532+ // gl.UNSIGNED_BYTE,
533+ // unsafe.Pointer(&pal[0]),
534+ //)
535+ //gl.TexParameteri(gl.TEXTURE_1D, gl.TEXTURE_MAG_FILTER, gl.NEAREST)
536+ //gl.TexParameteri(gl.TEXTURE_1D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)
534537 }
535538
536539 for _, c := range txt {
@@ -544,8 +547,8 @@ func (f *Fnt) DrawText(
544547 pal,
545548 ) + xscl*float32(f.Spacing[0])
546549 }
547- gl.DeleteTextures(1, &paltex)
548- gl.Disable(gl.TEXTURE_1D)
550+ //gl.DeleteTextures(1, &paltex)
551+ //gl.Disable(gl.TEXTURE_1D)
549552 }
550553
551554 type TextSprite struct {