You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Merge pull request #78720 from clayjohn/GLES3-tex-init
Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer
This commit is contained in:
@@ -1249,10 +1249,6 @@ void TextureStorage::_texture_set_data(RID p_texture, const Ref<Image> &p_image,
|
|||||||
glActiveTexture(GL_TEXTURE0);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glBindTexture(texture->target, texture->tex_id);
|
glBindTexture(texture->target, texture->tex_id);
|
||||||
|
|
||||||
// set filtering and repeat state to default
|
|
||||||
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST);
|
|
||||||
texture->gl_set_repeat(RS::CANVAS_ITEM_TEXTURE_REPEAT_ENABLED);
|
|
||||||
|
|
||||||
#ifndef WEB_ENABLED
|
#ifndef WEB_ENABLED
|
||||||
switch (texture->format) {
|
switch (texture->format) {
|
||||||
#ifdef GLES_OVER_GL
|
#ifdef GLES_OVER_GL
|
||||||
@@ -1294,6 +1290,15 @@ void TextureStorage::_texture_set_data(RID p_texture, const Ref<Image> &p_image,
|
|||||||
|
|
||||||
int mipmaps = img->has_mipmaps() ? img->get_mipmap_count() + 1 : 1;
|
int mipmaps = img->has_mipmaps() ? img->get_mipmap_count() + 1 : 1;
|
||||||
|
|
||||||
|
// Set filtering and repeat state to default.
|
||||||
|
if (mipmaps > 1) {
|
||||||
|
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS);
|
||||||
|
} else {
|
||||||
|
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST);
|
||||||
|
}
|
||||||
|
|
||||||
|
texture->gl_set_repeat(RS::CANVAS_ITEM_TEXTURE_REPEAT_ENABLED);
|
||||||
|
|
||||||
int w = img->get_width();
|
int w = img->get_width();
|
||||||
int h = img->get_height();
|
int h = img->get_height();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user