我正在尝试让我的opengl程序从多维数据集中发出球。球有两种类型 - 小蓝球和大橙球。球应该由于重力而下落。但是目前它似乎只发出一个球,就是这样。
我尝试在一个循环中绘制球,如下所示:
for (int i = 0; i < 100; i = i + 1)
{
Matrix4 mSphereOrange = Matrix4.CreateScale(mOrangeRadius) * Matrix4.CreateTranslation(mOrangePosition);
SetUniformVariables(0.19125f, 0.0735f, 0.054f, 1, 0.647f, 0f, 0.256777f, 0.137622f, 0.086014f, 0.5f);
GL.UniformMatrix4(uModelLocation, true, ref mSphereOrange);
GL.BindVertexArray(mVAO_IDs[2]);
GL.DrawElements(BeginMode.Triangles, mSphereModelUtility.Indices.Length, DrawElementsType.UnsignedInt, 0);
Matrix4 mSphereBlue = Matrix4.CreateScale(mBlueRadius) * Matrix4.CreateTranslation(mBluePosition);
SetUniformVariables(0, 0.1f, 0.06f, 0.0f, 0.50980392f, 0.50980392f, 0.50196078f, 0.50196078f, 0.50196078f, 10f);
GL.UniformMatrix4(uModelLocation, true, ref mSphereBlue);
GL.BindVertexArray(mVAO_IDs[2]);
GL.DrawElements(BeginMode.Triangles, mSphereModelUtility.Indices.Length, DrawElementsType.UnsignedInt, 0);
}
任何人都可以看到为什么这可能不起作用?或者建议一种更好的方法来创建一个发射器?
非常感谢任何帮助, 露
答案 0 :(得分:0)
我确定问题与for循环有关。您可以在同一位置同时创建100个橙色球体和100个蓝色球体。