mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-05 22:30:29 +00:00
opengles: Fix setting drawing color.
This commit is contained in:
parent
664994877d
commit
10c5b5e8e9
1 changed files with 17 additions and 22 deletions
|
|
@ -844,27 +844,6 @@ static bool GLES_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, S
|
|||
static void SetDrawState(GLES_RenderData *data, const SDL_RenderCommand *cmd)
|
||||
{
|
||||
const SDL_BlendMode blend = cmd->data.draw.blend;
|
||||
//case SDL_RENDERCMD_SETDRAWCOLOR:
|
||||
{
|
||||
const float r = cmd->data.color.color.r * cmd->data.color.color_scale;
|
||||
const float g = cmd->data.color.color.g * cmd->data.color.color_scale;
|
||||
const float b = cmd->data.color.color.b * cmd->data.color.color_scale;
|
||||
const float a = cmd->data.color.color.a;
|
||||
if (data->drawstate.color_dirty ||
|
||||
(r != data->drawstate.color.r) ||
|
||||
(g != data->drawstate.color.g) ||
|
||||
(b != data->drawstate.color.b) ||
|
||||
(a != data->drawstate.color.a)) {
|
||||
data->glColor4f(r, g, b, a);
|
||||
data->drawstate.color.r = r;
|
||||
data->drawstate.color.g = g;
|
||||
data->drawstate.color.b = b;
|
||||
data->drawstate.color.a = a;
|
||||
data->drawstate.color_dirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (data->drawstate.viewport_dirty) {
|
||||
const SDL_Rect *viewport = &data->drawstate.viewport;
|
||||
|
|
@ -991,7 +970,23 @@ static bool GLES_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
switch (cmd->command) {
|
||||
case SDL_RENDERCMD_SETDRAWCOLOR:
|
||||
{
|
||||
break; /* not used in this render backend. */
|
||||
const float r = cmd->data.color.color.r * cmd->data.color.color_scale;
|
||||
const float g = cmd->data.color.color.g * cmd->data.color.color_scale;
|
||||
const float b = cmd->data.color.color.b * cmd->data.color.color_scale;
|
||||
const float a = cmd->data.color.color.a;
|
||||
if (data->drawstate.color_dirty ||
|
||||
(r != data->drawstate.color.r) ||
|
||||
(g != data->drawstate.color.g) ||
|
||||
(b != data->drawstate.color.b) ||
|
||||
(a != data->drawstate.color.a)) {
|
||||
data->glColor4f(r, g, b, a);
|
||||
data->drawstate.color.r = r;
|
||||
data->drawstate.color.g = g;
|
||||
data->drawstate.color.b = b;
|
||||
data->drawstate.color.a = a;
|
||||
data->drawstate.color_dirty = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case SDL_RENDERCMD_SETVIEWPORT:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue