mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 06:18:52 +02:00
Merge pull request #1066 from ey6es/master
Have textures default to white when they fail to load.
This commit is contained in:
commit
d3c3e330e0
1 changed files with 12 additions and 5 deletions
|
@ -74,15 +74,17 @@ GLuint TextureCache::getPermutationNormalTextureID() {
|
||||||
return _permutationNormalTextureID;
|
return _permutationNormalTextureID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void loadWhiteTexture() {
|
||||||
|
const char OPAQUE_WHITE[] = { 0xFF, 0xFF, 0xFF, 0xFF };
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, OPAQUE_WHITE);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
}
|
||||||
|
|
||||||
GLuint TextureCache::getWhiteTextureID() {
|
GLuint TextureCache::getWhiteTextureID() {
|
||||||
if (_whiteTextureID == 0) {
|
if (_whiteTextureID == 0) {
|
||||||
glGenTextures(1, &_whiteTextureID);
|
glGenTextures(1, &_whiteTextureID);
|
||||||
glBindTexture(GL_TEXTURE_2D, _whiteTextureID);
|
glBindTexture(GL_TEXTURE_2D, _whiteTextureID);
|
||||||
|
loadWhiteTexture();
|
||||||
const char OPAQUE_WHITE[] = { 0xFF, 0xFF, 0xFF, 0xFF };
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, OPAQUE_WHITE);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
}
|
}
|
||||||
return _whiteTextureID;
|
return _whiteTextureID;
|
||||||
|
@ -214,6 +216,11 @@ NetworkTexture::NetworkTexture(const QUrl& url) : _reply(NULL), _averageColor(1.
|
||||||
|
|
||||||
connect(_reply, SIGNAL(downloadProgress(qint64,qint64)), SLOT(handleDownloadProgress(qint64,qint64)));
|
connect(_reply, SIGNAL(downloadProgress(qint64,qint64)), SLOT(handleDownloadProgress(qint64,qint64)));
|
||||||
connect(_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(handleReplyError()));
|
connect(_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(handleReplyError()));
|
||||||
|
|
||||||
|
// default to white
|
||||||
|
glBindTexture(GL_TEXTURE_2D, getID());
|
||||||
|
loadWhiteTexture();
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkTexture::~NetworkTexture() {
|
NetworkTexture::~NetworkTexture() {
|
||||||
|
|
Loading…
Reference in a new issue