repurposed a 'minimal res' indicator to represent 'ui area' as it's no longer necessary to care about the minimal window size allowed

This commit is contained in:
minjaesong
2022-04-14 16:06:07 +09:00
parent b92b53352b
commit 50012444b5
3 changed files with 18 additions and 14 deletions

View File

@@ -17,6 +17,8 @@ import net.torvald.terrarum.ui.Toolkit
/** /**
* Must be called by the App Loader * Must be called by the App Loader
*
* We recommened most of the user interfaces to be contained within the UI Area which has aspect ratio of 3:2.
*/ */
object PostProcessor : Disposable { object PostProcessor : Disposable {
@@ -45,6 +47,7 @@ object PostProcessor : Disposable {
private val shaderPostDither = App.loadShaderFromClasspath("shaders/default.vert", "shaders/postproc_dither.frag") private val shaderPostDither = App.loadShaderFromClasspath("shaders/default.vert", "shaders/postproc_dither.frag")
private val shaderPostNoDither = App.loadShaderFromClasspath("shaders/default.vert", "shaders/postproc_nodither.frag") private val shaderPostNoDither = App.loadShaderFromClasspath("shaders/default.vert", "shaders/postproc_nodither.frag")
private val recommendRatio = 1.5f
private val shaderQuant = mapOf( private val shaderQuant = mapOf(
8 to 255f, 8 to 255f,
@@ -159,7 +162,7 @@ object PostProcessor : Disposable {
shader.setUniformi("u_texture", 0) shader.setUniformi("u_texture", 0)
shader.setUniformi("rnd", rng.nextInt(8192), rng.nextInt(8192)) shader.setUniformi("rnd", rng.nextInt(8192), rng.nextInt(8192))
shader.setUniformi("u_pattern", 1) shader.setUniformi("u_pattern", 1)
shader.setUniformf("quant", 2f)//shaderQuant[App.getConfigInt("displaycolourdepth")] ?: 255f) shader.setUniformf("quant", shaderQuant[App.getConfigInt("displaycolourdepth")] ?: 255f)
App.fullscreenQuad.render(shader, GL20.GL_TRIANGLES) App.fullscreenQuad.render(shader, GL20.GL_TRIANGLES)
@@ -173,7 +176,8 @@ object PostProcessor : Disposable {
val tvSafeAreaH = App.scr.tvSafeGraphicsHeight.toFloat() val tvSafeAreaH = App.scr.tvSafeGraphicsHeight.toFloat()
val tvSafeArea2W = App.scr.tvSafeActionWidth.toFloat() val tvSafeArea2W = App.scr.tvSafeActionWidth.toFloat()
val tvSafeArea2H = App.scr.tvSafeActionHeight.toFloat() val tvSafeArea2H = App.scr.tvSafeActionHeight.toFloat()
val uiAreaHeight = App.scr.height - 2 * tvSafeAreaH
val uiAreaWidth = uiAreaHeight * recommendRatio
val scrw = Toolkit.drawWidthf val scrw = Toolkit.drawWidthf
shapeRenderer.inUse(ShapeRenderer.ShapeType.Line) { shapeRenderer.inUse(ShapeRenderer.ShapeType.Line) {
@@ -198,10 +202,10 @@ object PostProcessor : Disposable {
// default res ind // default res ind
shapeRenderer.color = defaultResCol shapeRenderer.color = defaultResCol
shapeRenderer.rect( shapeRenderer.rect(
(scrw - TerrarumScreenSize.minimumW).div(2).toFloat(), (scrw - uiAreaWidth).div(2f),
(App.scr.height - TerrarumScreenSize.minimumH).div(2).toFloat(), (App.scr.height - uiAreaHeight).div(2f),
TerrarumScreenSize.minimumW.toFloat(), uiAreaWidth,
TerrarumScreenSize.minimumH.toFloat() uiAreaHeight
) )
} }
@@ -210,14 +214,14 @@ object PostProcessor : Disposable {
batch.color = safeAreaCol batch.color = safeAreaCol
App.fontSmallNumbers.draw( App.fontSmallNumbers.draw(
batch, safeAreaStr, batch, safeAreaStr,
tvSafeAreaW, tvSafeAreaH - 10 tvSafeAreaW, tvSafeAreaH - 12
) )
batch.color = defaultResCol batch.color = defaultResCol
App.fontSmallNumbers.draw( App.fontSmallNumbers.draw(
batch, defaultResStr, batch, defaultResStr,
(scrw - TerrarumScreenSize.minimumW).div(2).toFloat(), (scrw - uiAreaWidth).div(2f),
(App.scr.height - TerrarumScreenSize.minimumH).div(2).toFloat() tvSafeAreaH
) )
batch.color = currentResCol batch.color = currentResCol
@@ -237,7 +241,7 @@ object PostProcessor : Disposable {
} }
} }
private val defaultResStr = "${TerrarumScreenSize.minimumW}x${TerrarumScreenSize.minimumH}" private val defaultResStr = "Ingame UI Area"
private val currentResStr = "${App.scr.width}x${App.scr.height}" private val currentResStr = "${App.scr.width}x${App.scr.height}"
private val safeAreaStr = "TV Safe Area" private val safeAreaStr = "TV Safe Area"
private val versionStr = "Version ${App.getVERSION_STRING()}" private val versionStr = "Version ${App.getVERSION_STRING()}"

View File

@@ -32,9 +32,9 @@ vec2 patternsize = vec2(1.0/512.0, 1.0/512.0);
mat4 rgb_to_ycocg = mat4( mat4 rgb_to_ycocg = mat4(
0.25, 1.0, -0.5, 0.0, 0.25, 1.0, -0.5, 0.0,
0.5, 0.0, 1.0, 0.0, 0.5, 0.0, 1.0, 0.0,
0.25, -1.0, -0.5, 0.0, 0.25, -1.0, -0.5, 0.0,
0.0, 0.0, 0.0, 1.0 0.0, 0.0, 0.0, 1.0
); );
mat4 ycocg_to_rgb = mat4( mat4 ycocg_to_rgb = mat4(

View File

@@ -29,9 +29,9 @@ vec2 boolean = vec2(0.0, 1.0);
mat4 rgb_to_ycocg = mat4( mat4 rgb_to_ycocg = mat4(
0.25, 1.0, -0.5, 0.0, 0.25, 1.0, -0.5, 0.0,
0.5, 0.0, 1.0, 0.0, 0.5, 0.0, 1.0, 0.0,
0.25, -1.0, -0.5, 0.0, 0.25, -1.0, -0.5, 0.0,
0.0, 0.0, 0.0, 1.0 0.0, 0.0, 0.0, 1.0
); );
mat4 ycocg_to_rgb = mat4( mat4 ycocg_to_rgb = mat4(