1.Opengl状态绑定切换遵循形式

引言:OpenGL本身是一个大的状态机,会把当前对应的所有状态展示,为了不每次都重新加载这些状态,浪费资源和时间,会有一个持有ID的object记录某一种特定状态,方便之后绑定切换

以绑定窗口状态为例,形式如下:

//创建记录ID

GLuint objid = 0;

glGenObject(1,&objid); //这里分配一个id,相当于初始化分配内存,第一个参数表示1个

//绑定到上下文

glBindObject(GL_WINDOW_TARGET,objid); //绑定后才能确定后续操作的针对objid是哪一个,根据第一个参数确定是进行的什么操作

//设置窗口的一些选项

glSetObjectOption(GL_WINDOW_TARGET,GL_OPTION_WINDOW_WIDTH,800);

glSetObjectOption(GL_WINDOW_TARGET,GL_OPTION_WINDOW_HEIGHT,600);

//将上下文针对GL_WINDOW_TARGET的状态设置恢复为默认id位置设置为0即可

glBindObject(GL_WINDOW_TARGET,0);

//下次使用再次绑定 objid到GL_WINDOW_TARGET,这些选项再次生效

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值