weather to not use expensive math; colormap now also holds cvec

This commit is contained in:
Minjae Song
2019-06-05 16:28:35 +09:00
committed by minjaesong
parent 85ab1b823d
commit 97f8aa6e6e
2 changed files with 7 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package net.torvald.terrarum
import com.badlogic.gdx.files.FileHandle
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import net.torvald.gdx.graphics.Cvec
/**
* Created by minjaesong on 2017-06-17.
@@ -22,6 +23,7 @@ class GdxColorMap {
pixmap.getPixel(it % pixmap.width, it / pixmap.width)
}
dataGdxColor = dataRaw.map { Color(it) }.toTypedArray()
dataCvec = dataRaw.map { Cvec(it) }.toTypedArray()
pixmap.dispose()
}
@@ -35,6 +37,7 @@ class GdxColorMap {
pixmap.getPixel(it % pixmap.width, it / pixmap.width)
}
dataGdxColor = dataRaw.map { Color(it) }.toTypedArray()
dataCvec = dataRaw.map { Cvec(it) }.toTypedArray()
if (disposePixmap) pixmap.dispose()
}
@@ -42,6 +45,7 @@ class GdxColorMap {
constructor(color: Color) {
dataRaw = intArrayOf(color.toIntBits())
dataGdxColor = dataRaw.map { Color(it) }.toTypedArray()
dataCvec = dataRaw.map { Cvec(it) }.toTypedArray()
width = 1
height = 1
is2D = false
@@ -50,6 +54,7 @@ class GdxColorMap {
constructor(gradStart: Color, gradEnd: Color) {
dataRaw = intArrayOf(gradStart.toIntBits(), gradEnd.toIntBits())
dataGdxColor = dataRaw.map { Color(it) }.toTypedArray()
dataCvec = dataRaw.map { Cvec(it) }.toTypedArray()
width = 1
height = 2
is2D = true
@@ -57,7 +62,7 @@ class GdxColorMap {
private val dataRaw: IntArray
private val dataGdxColor: Array<Color>
//private val dataCvec: Array<Cvec>
private val dataCvec: Array<Cvec>
val width: Int
val height: Int
val is2D: Boolean

View File

@@ -194,7 +194,7 @@ internal object WeatherMixer : RNGConsumer {
// interpolate R, G, B and A
val scale = (timeInSec % dataPointDistance).toFloat() / dataPointDistance // [0.0, 1.0]
val newCol = CIELuvUtil.getGradient(scale, colourThis, colourNext)
val newCol = colourThis.cpy().lerp(colourNext, scale)//CIELuvUtil.getGradient(scale, colourThis, colourNext)
/* // very nice monitor code
// 65 -> 66 | 300 | 19623 | RGB8(255, 0, 255) -[41%]-> RGB8(193, 97, 23) | * `230`40`160`