首页 > 其他分享 >三、OpenGL对象

三、OpenGL对象

时间:2023-03-20 09:36:07浏览次数:40  
标签:TARGET OpenGL 对象 WINDOW 子集 GL

 原链接

1、一个对象是指一些选项的集合,代表OpenGL状态的一个子集。

例如:我们可以用一个对象来代表绘图窗口的设置,设置它的大小、支持的颜色、位数等等。

可以把对象看作一个C风格的结构体:

struct object_name{

  GLfloat option1;

  GLuint option2;

  GLchar[] name;

}

 

2、通常把OpenGL上下文比作一个大的结构体,包含很多子集:

//OpenGL的状态

struct OpenGL_Context{

  ....

  object* object_Window_Target;  //设置窗口大小,支持的颜色位数

  ....

}

3、当前状态只有一份,如果每次显示不同的效果,都重新配置会很麻烦,这时候我们就需要一些小助理(对象),帮忙记录某些状态信息。以便复用。

例如:如果我们有10中子集,每个子集有10种不同的状态,那么我们将需要100个小助理(对象)

 

 

4、理解代码

//创建对象

GLuint objectld = 0;

glGenObject(1,&objectld); //给小助理(对象)一个编号

//绑定对象至上下文

glBindObject(GL_WINDOW_TARGET,objectld);//该小助理(对象),这次的工作内容,需要绑定了才确定

//设置GL_WINDOW_TARGET对象的一些选项

glSetObjectOption(GL_WINDOW_TARGET,GL_OPTION_WINDOW_WIDTH,800);

glSetObjectOption(GL_WINDOW_TARGET,GL_OPTION_WINDOW_HEIGHT,800);

//将上下文的GL_WINDOW_TARGET对象设回默认

glBindObject(GL_WINDOW_TARGET,0); //小助理(对象)已经记录了上面的内容,可以休息了。需要查看记录的时候喊他过来就好。

 

5、总结:改状态,用状态

 

标签:TARGET,OpenGL,对象,WINDOW,子集,GL
From: https://www.cnblogs.com/RedWetPlace/p/17231945.html

相关文章

  • 面向对象
    面向过程需要为每个不同的人量身定做解决事情的办法,而面向对象不管你是谁,瘦的矮的胖的,都能拿来就能用。 面向对象:找个对象帮你做事儿,意在写出一个通用的代码,屏蔽差异。(......
  • 24.类与对象小结
    类与对象小结1.类与对象类是一个模板抽象、对象是一个实例2.方法定义、调用3.对应的引用引用类型:基本类型(8)对象是通过引用来操作的:栈---->堆4.属性默认初始化:......
  • 23.类与对象
    类与对象1.类与对象的关系类是一种抽象的数据类型,它是对某一类事物整体描述、定义,但是并不能代表某一个具体的事物。对象是抽象概念的具体实例。从代码运行的角度考虑,......
  • 对象访问方式
    ObjectobjectRef=newObject();假设这句代码出现在方法体中,ObjectobjectRef这部分将会反映到Java栈的本地变量中,作为一个reference类型数据出现。而newObject()这......
  • 面向对象三大特性:封装,继承
    封装:  为什么要隐藏属性:----------------------------------------------------------------------------------------目的的是为了隔离复杂度,例如ATM程序的取款功能......
  • 谷歌的 OpenGL ES 库 Angle PBuffer 测试代码(Windows 平台)
     /*这个例子是Windows平台测试谷歌的Angle库,PBuffer的创建。用到了GLAD的EGL和GLES2.x、GLES3.x模块。**用到的Angle的动态链接库是:**d3dc......
  • 【VTK学习笔记】VTK基本数据结构_3.2数据对象和数据集
    任务:把几何结构和拓扑结构加入到数据集中1.无拓扑结构1#include<vtkSmartPointer.h>2#include<vtkPoints.h>//几何结构3#include<vtkPolyData.h>//数据集......
  • 如何在Power BI DAX Studio 中测试验证行级别安全性和对象级别安全性
    行级别安全性可控制用户访问指定行,对象级安全性可控制用户访问指定的列和表。下面通过DAXStudio工具测试验证行级别安全性和对象级安全性的权限控制。01设置PowerBI中的......
  • 对象创建过程
    首先进行类加载,然后会对象进行逃逸分析,如果对象引用不会逃逸,那么进行栈上分配。编译器分层编译:C1、C2。C2下才会有栈上分配的优化,且不同虚拟机优化方式不一样,Hotspot虚拟......
  • nacos原理(二)更新Spring容器对象
    Spring容器感知分为两部分。第一部分是更新Environment、第二部分是注册到Spring容器的对象感知。1.更新Environment上文知道对于配置发生改变会调用发送newRefres......