[love2d] Fixed vertex color multiplier. We support both the old 0-255 and the new 0-1 RGBA range. Closes #1392.

This commit is contained in:
badlogic 2019-06-24 13:46:12 +02:00
parent a1c3cf269d
commit 2fee7b4bdf

View File

@ -200,20 +200,22 @@ function PolygonBatcher:draw (texture, vertices, uvs, numVertices, indices, colo
local vertexStart = self.verticesLength + 1
local vertexEnd = vertexStart + numVertices
local vertex = self.vertex
local colorScalar = 1;
if love._version_major <= 10 then colorScalar = 255 end
if not self.useTwoColorTint then
vertex[5] = color.r * 255
vertex[6] = color.g * 255
vertex[7] = color.b * 255
vertex[8] = color.a * 255
vertex[5] = color.r * colorScalar
vertex[6] = color.g * colorScalar
vertex[7] = color.b * colorScalar
vertex[8] = color.a * colorScalar
else
vertex[5] = color.r * 255
vertex[6] = color.g * 255
vertex[7] = color.b * 255
vertex[8] = color.a * 255
vertex[9] = darkColor.r * 255
vertex[10] = darkColor.g * 255
vertex[11] = darkColor.b * 255
vertex[12] = darkColor.a * 255
vertex[5] = color.r * colorScalar
vertex[6] = color.g * colorScalar
vertex[7] = color.b * colorScalar
vertex[8] = color.a * colorScalar
vertex[9] = darkColor.r * colorScalar
vertex[10] = darkColor.g * colorScalar
vertex[11] = darkColor.b * colorScalar
vertex[12] = darkColor.a * colorScalar
end
local v = 1
@ -231,15 +233,15 @@ function PolygonBatcher:draw (texture, vertices, uvs, numVertices, indices, colo
vertex[2] = tempVertex.y
vertex[3] = tempVertex.u
vertex[4] = tempVertex.v
vertex[5] = tempVertex.light.r * 255
vertex[6] = tempVertex.light.g * 255
vertex[7] = tempVertex.light.b * 255
vertex[8] = tempVertex.light.a * 255
vertex[5] = tempVertex.light.r * colorScalar
vertex[6] = tempVertex.light.g * colorScalar
vertex[7] = tempVertex.light.b * colorScalar
vertex[8] = tempVertex.light.a * colorScalar
if (self.useTwoColorTint) then
vertex[9] = tempVertex.dark.r * 255
vertex[10] = tempVertex.dark.g * 255
vertex[11] = tempVertex.dark.b * 255
vertex[12] = tempVertex.dark.a * 255
vertex[9] = tempVertex.dark.r * colorScalar
vertex[10] = tempVertex.dark.g * colorScalar
vertex[11] = tempVertex.dark.b * colorScalar
vertex[12] = tempVertex.dark.a * colorScalar
end
mesh:setVertex(vertexStart, vertex)
vertexStart = vertexStart + 1