Explorar el Código

gpu: do not convert integers in vertex streams to floats.

legacy
Sam Hocevar sam hace 12 años
padre
commit
67113aa9f0
Se han modificado 1 ficheros con 16 adiciones y 7 borrados
  1. +16
    -7
      src/gpu/vertexbuffer.cpp

+ 16
- 7
src/gpu/vertexbuffer.cpp Ver fichero

@@ -358,15 +358,24 @@ 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);

# if !defined __CELLOS_LV2__
glVertexAttribPointer((GLint)reg, tlut[type_index].size,
tlut[type_index].type, normalize,
stride, (GLvoid const *)(uintptr_t)offset);
if (type_index <= 12)
{
/* 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, normalize,
stride, (GLvoid const *)(uintptr_t)offset);
}
else
{
glVertexAttribIPointer((GLint)reg, tlut[type_index].size,
tlut[type_index].type,
stride, (GLvoid const *)(uintptr_t)offset);
}
# else
switch (usage)
{


Cargando…
Cancelar
Guardar