当前位置: 首页 > news >正文

做养生产品哪个网站好网络营销章节测试答案

做养生产品哪个网站好,网络营销章节测试答案,电脑路由器做网站服务器吗,计算机编程代码大全理解glad: OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的,由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询,因此开发者需要在运行时获取函数…

理解glad: 

  1. OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的,由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,
  2. 需要在运行时查询,因此开发者需要在运行时获取函数地址并将其保存在一个函数指针中,动态地加载这些函数
// 定义函数原型
typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*);
// 找到正确的函数并赋值给函数指针
GL_GENBUFFERS glGenBuffers  = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");
// 现在函数可以被正常调用了
GLuint buffer;
glGenBuffers(1, &buffer);

 理解typedef void (*Fun) (void) 

  1. 函数指针定义:返回类型(*函数名pfun)(参数表) ,函数指针指向函数在内存中的首地址

  2. 如何赋值:定义普通函数,为pfun赋值,因此指向了函数的地址,、

  3. 如何调用:*解引用获取实际的函数,为函数传实参,fun(x);->(*pfun)(x);

  4. typedef 定义别名,pfun类型为void(*)(void)

  5. typedef本质定义新的类型,否则仅定义函数指针,新类型 + pfun;表明变量是函数指针

 glad初始化简单理解:参考

if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{std::cout << "Failed to initialize GLAD" << std::endl;return -1;
}
  1. glfwGetProcAddress返回函数的地址
  2. glad.c为C语言的源文件,强制转化为()形式,而非c++的<>
  3. typedef void* (* GLADloadproc)(const char *name);定义名为GLADloadproc的函数指针,将glfwGetProcAddress函数强制转化为函数指针。
  4. 然后将函数指针(返回函数地址)作为参数传给gladLoadGLLoader的形参load
int gladLoadGLLoader(GLADloadproc load) {GLVersion.major = 0; GLVersion.minor = 0;glGetString = (PFNGLGETSTRINGPROC)load("glGetString");if(glGetString == NULL) return 0;if(glGetString(GL_VERSION) == NULL) return 0;find_coreGL();load_GL_VERSION_1_0(load);………略load_GL_VERSION_3_3(load);if (!find_extensionsGL()) return 0;return GLVersion.major != 0 || GLVersion.minor != 0;
}
  1. 调用load("glGetString")函数指针,获取opengl版本,然后传入find_coreGL()    去计算bool GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
  2. 接着返回调用load_GL_VERSION_1_0……,如果我们是3,3版本,对于每个函数,都会判断之前计算的bool,所有bool为true的函数,都会传入load()(获取函数地址的函数指针)作为实参,
  3. load_GL_VERSION()内部会加载所有,上一个版本没有的那些函数。
  4. 加载后的地址,就会被赋值到(形如)glad_glCullFace的变量上,

 如何将glad_开头的转化为gl开头的函数: 

  1. 定义在glad,c中,extern在glad.h中,按照下面的转化,这样我们就可以在代码中才可以用 gl开头 的函数了

#define GLAPI extern
typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);//定义函数指针类型
GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;//声明  函数指针
#define glGenVertexArrays glad_glGenVertexArrays//定义宏

 理解glad的作用: 

  1. 根据版本号,获取所有函数的地址,存储封装到相应的函数指针glad,再转为gl开头的宏,供开发者使用
http://www.15wanjia.com/news/38829.html

相关文章:

  • 丹东建设网官方网站seo快速排名上首页
  • php新手网站开发苹果要做搜索引擎
  • 系统开发师北京推广优化公司
  • 甘肃省住房城乡建设部网站谷歌chrome安卓版
  • 网站建站视频免费建站网站一站式
  • 做网站所需要的项代运营电商公司
  • 本机做网站服务上传到厦门百度广告开户
  • 网站信息 订阅如何做百度视频广告怎么投放
  • 企业网站的完整性包括哪些设计网站大全
  • 官方网站建设进度表seo与网络推广的区别和联系
  • 怎样做网站的后台湖南靠谱关键词优化
  • 郑州做网站的联系方式最新做做网站
  • 免费企业推广网站软文如何推广
  • 广州网站建设加q479185700百度一下官网网址
  • 安徽省住房和建设厅网站网络推广公司怎么找客户
  • 抖音热门搜索关键词seo原创工具
  • 网站建设的源代码有什么作用大连百度关键词优化
  • 外包接单平台网站外贸谷歌seo
  • 怎样制作时时彩网站做企业如何注册自己的网站
  • 做网站用的编程语言seo搜索优化
  • wordpress媒体库域名企业关键词优化专业公司
  • 做教育集团的网站游戏推广公司好做吗
  • 北京朗晨网站建设关键词分类工具
  • 湖南长大建设集团股份有限公司网站app关键词排名优化
  • 网站logo怎么做才清晰合肥网络推广外包
  • 怎么看网站空间大小免费外链工具
  • 各种类型网站建设口碑好免费发布产品的网站
  • 如何做阅读网站自媒体平台收益排行榜
  • 深圳网站制作网站开发的公司
  • 网站开发项目简介武汉疫情最新动态