浏览代码

* unbind VBO after using it

master
Bergmann89 10 年前
父节点
当前提交
3a2978e940
共有 1 个文件被更改,包括 10 次插入9 次删除
  1. +10
    -9
      utsRendererOpenGL.pas

+ 10
- 9
utsRendererOpenGL.pas 查看文件

@@ -137,12 +137,22 @@ begin
fIsRendering := true;
glPushMatrix;
glColor4fv(@Color.arr[0]);

glBindBuffer(GL_ARRAY_BUFFER, fVBO);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, SizeOf(TVertex), Pointer(0));
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, SizeOf(TVertex), Pointer(8));
end;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TtsRendererOpenGL.EndRender;
begin
if fIsRendering then begin
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);

glPopMatrix;
fIsRendering := false;
end;
@@ -198,17 +208,8 @@ begin
end else
glMultMatrixf(@ref.VertMat[0, 0]);

glBindBuffer(GL_ARRAY_BUFFER, fVBO);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, SizeOf(TVertex), Pointer(0));
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, SizeOf(TVertex), Pointer(8));

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);

glMatrixMode(GL_TEXTURE);
glPopMatrix;
glMatrixMode(GL_MODELVIEW);


正在加载...
取消
保存