opengl重启图元

opengl中有一个重启图元的函数:
 glEnable(GL_PRIMITIVE_RESTART)
   
  glPrimitiveRestartIndex(GLuint index) 
 //实例中定义为0xffff
     
 当绘制大量相同类型的图元时,例如GL_TRIANGLE_STRIP,GL_LINE_STRIP等等,使用glDrawElement函数时,有些点是链接不上的,需要重新开始一个新的点然后继续绘图,因此就需要这个重启
      图源,就是在索引或者顶点数组中没一部分绘图结束后再数组中加入特定值0xffff,然后继续画就会把下一个点当作起始点
       
#include "glut.h"
#include <QDebug>
#define BUFFER_OFFSET(offset)  ((GLvoid*)nullptr+offset)
#define XStart -0.8
#define XEnd    0.8
#define YStart  -0.8
#define YEnd    0.8
#define NumXPoints   11
#define NumYPoints   11
#define NumPoints    (NumXPoints*NumYPoints)
#define NumPointsPerStrip (2*NumXPoints)
#define NumStrips    (NumYPoints-1)
#define RestartIndex 0xffff
 
GLfloat *vertices;
GLushort *indices;
void Init()
{
 
 
    GLuint vbo,ebo;
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值