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

做养生产品哪个网站好百度快照是怎么做上去的

做养生产品哪个网站好,百度快照是怎么做上去的,武昌做网站jw100,驴妈妈旅游网站的建设理解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.zhongyajixie.com/news/7477.html

相关文章:

  • 网站开发 营业执照网站设计用什么软件
  • 南宁网站建设培训学校seo1短视频网页入口营销
  • 5大动态网站资料2023b站推广大全
  • 青岛冠通市政建设有限公司网站宁波seo教程app推广
  • 网站首页备案号链接常用的网络推广方法有
  • 龙岗平湖网站开发win7优化设置
  • 学院的网站怎么做百度指数下载手机版
  • 网站报价收费单游戏推广代理加盟
  • 做设计找图有哪些网站百度指数分析数据
  • 导航网站的网站地图怎么做百度指数怎么看城市
  • 开发前端后端常用的seo工具的是有哪些
  • 为什么一个网站做中英文双语版百度指数可以查询多长时间的
  • 网站建设哪个平台比较靠谱成都网络优化托管公司
  • 网站开发可以用两种语言吗seo专员工资一般多少
  • 上海cms建站锦州seo推广
  • 关键词的选择网站提示百度推广页面投放
  • 怎么做英文版的网站他达拉非片正确服用方法
  • 网站网页框架构架图怎么做搭建网站平台需要多少钱
  • 郑州网站优化_郑州网站推广_河南网站建设公司_seo外包顾问服务企业网站seo托管怎么做
  • 深圳公明网站建设百度浏览器官网入口
  • 杭州网站开发公司排名在百度怎么免费发布广告
  • 做网站公司哪家比较好做网站的软件叫什么
  • qq邮箱登陆 com登录杭州seo代理公司
  • 网站怎么做才能用手机打开搜索引擎优化的具体措施
  • 做设计转钱网站长沙网站推广公司排名
  • 网站快照不更新最新新闻事件今天国内大事
  • 联系客户做网站免费行情网站的推荐理由
  • wordpress自定义布局苏州seo推广
  • 做推广的网站带宽需要多少怎么做网站推广
  • 美食网站开发毕业论文引流推广平台有哪些