Go で書き直した Ikemen
Revision | cf7cd451f2ec743d2639d61bd208c5ee129ba803 (tree) |
---|---|
Time | 2019-04-15 19:22:13 |
Author | neatunsou <sisiy4excite@gmai...> |
Commiter | neatunsou |
fontの描画前処理をimage.goのglDrawでやるようにした
@@ -5,11 +5,9 @@ import ( | ||
5 | 5 | "os" |
6 | 6 | "regexp" |
7 | 7 | "strings" |
8 | - "unsafe" | |
9 | 8 | |
10 | 9 | "github.com/K4thos/glfont" |
11 | 10 | findfont "github.com/flopp/go-findfont" |
12 | - "github.com/go-gl/gl/v2.1/gl" | |
13 | 11 | ) |
14 | 12 | |
15 | 13 | // FntCharImage stores sprite and position |
@@ -471,17 +469,22 @@ func (f *Fnt) drawChar( | ||
471 | 469 | |
472 | 470 | //trans := f.calculateTrans() |
473 | 471 | |
474 | - if pal != nil { | |
475 | - RenderMugenPal(*spr.Tex, 0, spr.Size, -x*sys.widthScale, | |
476 | - -y*sys.heightScale, ¬iling, 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, ¬iling, 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, ¬iling, 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, ¬iling, 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, ¬iling, 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 | + //} | |
485 | 488 | |
486 | 489 | return float32(spr.Size[0]) * xscl |
487 | 490 | } |
@@ -511,26 +514,26 @@ func (f *Fnt) DrawText( | ||
511 | 514 | } |
512 | 515 | |
513 | 516 | var pal []uint32 |
514 | - var paltex uint32 | |
517 | + //var paltex uint32 | |
515 | 518 | if len(f.palettes) != 0 { |
516 | 519 | 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) | |
534 | 537 | } |
535 | 538 | |
536 | 539 | for _, c := range txt { |
@@ -544,8 +547,8 @@ func (f *Fnt) DrawText( | ||
544 | 547 | pal, |
545 | 548 | ) + xscl*float32(f.Spacing[0]) |
546 | 549 | } |
547 | - gl.DeleteTextures(1, &paltex) | |
548 | - gl.Disable(gl.TEXTURE_1D) | |
550 | + //gl.DeleteTextures(1, &paltex) | |
551 | + //gl.Disable(gl.TEXTURE_1D) | |
549 | 552 | } |
550 | 553 | |
551 | 554 | type TextSprite struct { |