History

Have textures default to white when they fail to load.

Andrzej Kapolka committed 13 years ago

Commit c9344d41 parent 67e035e1 file · +12 −5Browse files

Showing the changes to interface/src/renderer/TextureCache.cpp (1 of 1 file). Show all

Unified · Split

interface/src/renderer/TextureCache.cpp+12−5
@@ -74,15 +74,17 @@ GLuint TextureCache::getPermutationNormalTextureID() { · 73 unmodified lines
7474 return _permutationNormalTextureID;
7575 }
7676
77+static void loadWhiteTexture() {
78+ const char OPAQUE_WHITE[] = { 0xFF, 0xFF, 0xFF, 0xFF };
79+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, OPAQUE_WHITE);
80+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
81+}
82+
7783 GLuint TextureCache::getWhiteTextureID() {
7884 if (_whiteTextureID == 0) {
7985 glGenTextures(1, &_whiteTextureID);
8086 glBindTexture(GL_TEXTURE_2D, _whiteTextureID);
81−
82− const char OPAQUE_WHITE[] = { 0xFF, 0xFF, 0xFF, 0xFF };
83− glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, OPAQUE_WHITE);
84− glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
85−
87+ loadWhiteTexture();
8688 glBindTexture(GL_TEXTURE_2D, 0);
8789 }
8890 return _whiteTextureID;
@@ -214,6 +216,11 @@ NetworkTexture::NetworkTexture(const QUrl& url) : _reply(NULL), _averageColor(1. · 125 unmodified lines
214216
215217 connect(_reply, SIGNAL(downloadProgress(qint64,qint64)), SLOT(handleDownloadProgress(qint64,qint64)));
216218 connect(_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(handleReplyError()));
219+
220+ // default to white
221+ glBindTexture(GL_TEXTURE_2D, getID());
222+ loadWhiteTexture();
223+ glBindTexture(GL_TEXTURE_2D, 0);
217224 }
218225
219226 NetworkTexture::~NetworkTexture() {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t