美文网首页
OpenGL(2) —— 定义一个矩形

OpenGL(2) —— 定义一个矩形

作者: 你可记得叫安可 | 来源:发表于2020-01-31 15:40 被阅读0次

如何定义复杂图形

OpenGL 只提供点、线、三角形的绘制我们如何绘制一个复杂点的图形,比如矩形呢?

用两个三角形定义一个矩形
我们可以画两个三角形,但是定义图形坐标点时,可以不需要列出两个三角形的所有坐标。
static float squareCoords[] = {
        -0.5f, 0.5f, 0.0f, // top left
        -0.5f, -0.5f, 0.0f, // bottom left
        0.5f, -0.5f, 0.0f, // bottom right
        0.5f, 0.5f, 0.0f // top right
};
private final short drawOrder[] = { 0, 1, 2, 0, 2, 3 }; // order to draw vertices
...
glDrawElements(
                GL_TRIANGLES, drawOrder.length,
                GL_UNSIGNED_SHORT, drawListBuffer);

如上所示,我们按逆时针,申明矩形的四个角坐标,以及 OpenGL 按什么顺序访问这些点,并绘出图形。最后我们通过 glDrawElements() 来按照上面的 drawOrder 遍历 squareCoords 中的坐标(GL_TRIANGLES 表示使用三个顶点来组成图形,直到结束)

glDrawElements vs glDrawArrays

这两个函数的却别在于,glDrawArrays 接收的坐标数据就是 OpenGL 绘制图形的完整路径,glDrawElements 接受一组坐标和访问这组坐标的顺序,OpenGL 按照顺序来绘制图形。

相关文章

  • OpenGL(2) —— 定义一个矩形

    如何定义复杂图形 OpenGL 只提供点、线、三角形的绘制我们如何绘制一个复杂点的图形,比如矩形呢? 如上所示,我...

  • OpenGL 矩形

    在前面的三角形的基础上绘制矩形就简单很多了,改下顶点坐标就可以绘制出来,这里有两种绘制方式。 第一种绘制方式 这里...

  • OpenGL 原理

    1. OpenGL简介 OpenGL是Open Graphics Library的缩写[2],是个定义了一个跨编程...

  • OpenGL专业名词

    1.OpenGL初次认识 OpenGL定义: OpenGL ES定义: DirectX定义: Metal定义: O...

  • Graphics2D API:Rect类、RectF类

    Rect是Rectangle(矩形、长方形)的简写,在Graphics2D中,Rect、RectF类定义了一个矩形...

  • OpenGL ES学习初体验

    绪论 OpenGL定义:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨...

  • OpenGL ES for Android 绘制矩形和正方形

    前面的文章介绍了如何 绘制三角形,在OpenGL ES中没有直接绘制矩形的方式,通过绘制2个三角形的方式绘制矩形。...

  • Axure流程图

    流程图图形通用定义 1.矩形:动作; 矩形组:动作组。2.圆角矩形:操作流程的开始结束。3.文件:文件;文件组组:...

  • autolisp案例-入门级-绘制指定尺寸的矩形

    autocad自带命令rec绘制矩形 在Autocad中,rec命令可以迅速绘制一个矩形。 自定义函数绘制矩形 代...

  • canvas

    定义 canvas.getContext('2d'); paint.fillRect(); 填充矩形; pai...

网友评论

      本文标题:OpenGL(2) —— 定义一个矩形

      本文链接:https://www.haomeiwen.com/subject/vvrgthtx.html