0

我正在开发一款多人游戏,并将在玩家附近显示其他玩家。玩家附近最多可以有 16 个玩家,但也可能有 0 个。我想做的是设置 16 个空 VBO,以便在客户端接收到它们时准备好加载角色的位置。创建空的 VBO 是否有效?如果不是,我应该如何根据服务器向客户端发送的内容来渲染可能存在或不存在的数据?

4

1 回答 1

4

你的问题让我很困惑。为什么使用 VBO 来存储位置?VBO 可以只拥有您正在绘制的任何顶点,并且您可以在绘制时根据 modelMatrix 移动位置。

简单的伪代码:

LoadVBO(player_model);

for(int i=0;i<16;i++){
  if(player[i].visible) {
    modelMatrix = player[i].position;
    glUniform(modelMatrix);
    DrawVBO(player_model);
  }
}

如果这还不够,请提供更多信息。为什么要尝试绘制一个空的 vbo,而不仅仅是设置一个跳过绘制调用的标志?

于 2012-04-16T20:21:25.190 回答