| | |
| | | return SDL_TRUE; |
| | | } |
| | | |
| | | static GLenum |
| | | GetScaleQuality(void) |
| | | { |
| | | const char *hint = SDL_GetHint(SDL_HINT_RENDER_SCALE_QUALITY); |
| | | |
| | | if (!hint || *hint == '0' || SDL_strcasecmp(hint, "nearest") == 0) { |
| | | return GL_NEAREST; |
| | | } else { |
| | | return GL_LINEAR; |
| | | } |
| | | } |
| | | |
| | | static int |
| | | GL_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) |
| | | { |
| | |
| | | |
| | | data->format = format; |
| | | data->formattype = type; |
| | | scaleMode = GetScaleQuality(); |
| | | scaleMode = (texture->scaleMode == SDL_ScaleModeNearest) ? GL_NEAREST : GL_LINEAR; |
| | | renderdata->glEnable(data->type); |
| | | renderdata->glBindTexture(data->type, data->texture); |
| | | renderdata->glTexParameteri(data->type, GL_TEXTURE_MIN_FILTER, scaleMode); |