diff --git a/src/gpu/vertexbuffer.cpp b/src/gpu/vertexbuffer.cpp index 29c5bac3..016e6861 100644 --- a/src/gpu/vertexbuffer.cpp +++ b/src/gpu/vertexbuffer.cpp @@ -294,8 +294,13 @@ void VertexDeclaration::SetStream(VertexBuffer *vb, ShaderAttrib attr1, if (type_index < 0 || type_index >= sizeof(tlut) / sizeof(*tlut)) type_index = 0; + /* Normalize unsigned bytes by default, because it's usually + * some color information. */ + GLboolean normalize = (tlut[type_index].type == GL_UNSIGNED_BYTE) + || (tlut[type_index].type == GL_BYTE); + glVertexAttribPointer((GLint)reg, tlut[type_index].size, - tlut[type_index].type, GL_FALSE, + tlut[type_index].type, normalize, stride, (GLvoid const *)(uintptr_t)offset); } #endif