veandco / go-sdl2

SDL2 binding for Go

Home Page:https://godoc.org/github.com/veandco/go-sdl2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can SDL_SetTextureScaleMode be used somehow?

code-qote opened this issue · comments

commented

Hello. I had updated package by go get, so it had v0.4.35. There was no implementation of SDL_SetTextureScaleMode. I checked the several latest commits in master and found its implementation there. I edited my go.mod and installed the latest commit but now the application freezes while Renderer.Copy().
What have I done wrong?

I need it to solve the problem with blurry font (macOS). According to that, it should help. Maybe there is an another option?

Hi @code-qote, could you show a minimal example of the code that makes the application freeze?

commented

At application starting, I render all supported chars and save it in PreRenderredCharTextures. Like this:

for _, char := range supportedChars {
	for _, color := range Colors {
		fontSurface, _ := e.font.ttfFont.RenderGlyphBlended(char, hexToSdlColor(color))
		texture, _ := e.renderer.CreateTextureFromSurface(fontSurface)
		// texture.SetScaleMode(sdl.ScaleModeLinear)
		cache.PreRenderredCharTextures[char][color] = CharTexture{texture, fontSurface.W}
	}
}

Then every frame I do (freezes here):

e.renderer.Copy(e.cache.PreRenderredCharTextures[rune(c)][Colors[t]].Texture, nil, e.GetRectFromMatrix(row, col))

Hi @code-qote, would you be able to provide a minimal example that I can run? I can't seem to reproduce it.