Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 渲染网格时如何处理VBOs';可以显示还是不显示?_Opengl_Vbo - Fatal编程技术网

Opengl 渲染网格时如何处理VBOs';可以显示还是不显示?

Opengl 渲染网格时如何处理VBOs';可以显示还是不显示?,opengl,vbo,Opengl,Vbo,我正在制作一个多人游戏,并将在玩家附近展示其他玩家。最多有16名玩家可以靠近玩家,但也可能有0名玩家。我想做的是设置16个空VBO,这样当客户端接收到它们时,它们就可以加载角色的位置。创建空VBO是否有效?如果没有,我应该如何根据服务器向客户端发送的内容呈现可能存在或不存在的数据?您的问题让我困惑。为什么使用VBO存储位置?VBO可以只包含正在绘制的任何对象的顶点,并且可以在绘制时基于modelMatrix移动位置 简单伪代码: LoadVBO(player_model); for(int i

我正在制作一个多人游戏,并将在玩家附近展示其他玩家。最多有16名玩家可以靠近玩家,但也可能有0名玩家。我想做的是设置16个空VBO,这样当客户端接收到它们时,它们就可以加载角色的位置。创建空VBO是否有效?如果没有,我应该如何根据服务器向客户端发送的内容呈现可能存在或不存在的数据?

您的问题让我困惑。为什么使用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);
  }
}
LoadVBO(player_模型);

对于(int i=0;i您的问题让我感到困惑。为什么要使用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);
  }
}
LoadVBO(player_模型);

对于(int i=0;我认为您在这里过于复杂了。创建并绑定您的VBO或VBO,然后在某个地方有一个玩家状态对象。要么玩家在那里(标记为true)而您绘制网格,要么他不在那里(标记为false)而您不在。对于我来说,如果处于从0到15的循环中,似乎很简单:).Hmm…如果数据不在那里…你可以…也许…不渲染它?我认为你在这里太复杂了。创建并绑定你的VBO或VBO,然后在某个地方有一个玩家状态对象。要么玩家在那里(标记为true),你绘制网格,要么他不在(标记为false)你没有。看起来像是一个简单的从0到15的循环:)。嗯…如果数据不在那里…你可以…也许。。。不渲染它?