【问题标题】:How to dynamically draw a line between two vectors using OpenGL ES 1.0如何使用 OpenGL ES 1.0 在两个向量之间动态绘制一条线
【发布时间】:2013-02-17 08:45:21
【问题描述】:

我只是在学习一些 OpenGL ES 编程(1.0,因为这是我使用的书),我不知道如何在两个由位置向量表示的游戏对象之间画一条线。

假设我有一个塔塔和一个生物小兵(塔防游戏,如果你没有猜到的话),它们的位置都由 (object).position.x 和 (object).position.y 表示,其中位置是一个向量。考虑到它们各自的位置向量,我将如何使用 GL10 绘制一条代表攻击塔的线?

这是我第一次做这样的事情,所以请多多包涵。我还有一个类 Vector2 可以处理几乎所有基本的向量加法/减法/等。示例代码将不胜感激!

【问题讨论】:

  • 只是为了确定:您学习 OpenGL ES 1.0 是因为 书上这么说?因为the tutorial says so而学习OpenGL ES 2.0怎么样?
  • 因为我有一个项目到期,没有时间在到期前学习 OpenGL 2.0。

标签: java android opengl-es line draw


【解决方案1】:

试试

glLineWidth(1.0); //the width of the line
glColor3f(0.0, 0.0, 1.0); //colour (RGB) of the line
glBegin(GL_LINES); //start drawing a line
     glVertex3f(0.0, 0.0, 0.0); //starting vector
     glVertex3f(1.0, 2.0, 3.0); //ending vector
glEnd(); //finish drawing a line

【讨论】:

  • 我收到一条错误消息,指出方法 glBegin(int) 未针对类型 GL10 定义。您确定这是 OpenGL 1.0 代码还是其他版本?
  • 抱歉,我看错了您正在使用的版本。这里有一个很好的例子和解释,用顶点数组绘制:pandorawiki.org/OpenGL_ES_1.1_Tutorial
【解决方案2】:

加载一个 4 个顶点 6 个索引的矩形,相差 1 个像素,并将线条颜色设置为您想要的任何颜色,使用位置向量 2 x 和 y 作为您制作的矩形 2triangles,例如

    float[] {Vector2.x - 1, Vector2.y, 0,1,0,1, Vector2.x,Vector2.y,0,1,0,1,Vector2(1).x,Vector2(1).y, 0,1,0,1, Vector2(1).x - 1, Vector(2).y, 0,1,0,1);

idk 如果这对你有帮助 Vector2 你正在阅读开始 android 游戏吗?这就是我正在阅读的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 2023-04-09
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多