瀏覽代碼

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

legacy
Sam Hocevar sam 12 年之前
父節點
當前提交
67113aa9f0
共有 1 個文件被更改,包括 16 次插入7 次删除
  1. +16
    -7
      src/gpu/vertexbuffer.cpp

+ 16
- 7
src/gpu/vertexbuffer.cpp 查看文件

@@ -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)
{


Loading…
取消
儲存