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

各主流网站做景区宣传个人怎么做贷款网站

各主流网站做景区宣传,个人怎么做贷款网站,网站建设人员配置是怎样的,冷门行业做网站的优势OpenGL笔记八之EBO和EBO绘制流程 —— 2024-07-07 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记八之EBO和EBO绘制流程1.EBO2.glDrawElements#xff1a;如果使用了ebo#xff0c;最后一个参数可以写03.glDrawElements#xff1a;如果使用了e…OpenGL笔记八之EBO和EBO绘制流程 —— 2024-07-07 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记八之EBO和EBO绘制流程1.EBO2.glDrawElements如果使用了ebo最后一个参数可以写03.glDrawElements如果使用了ebo假设最后一个参数是数字表示ebo内偏移量3.1.count改为3偏移量为03.2.count改为3偏移量为3 4.glDrawElements如果没有使用ebo可以直接将cpu端的indices数组传输进去(不推荐这种方式)5.main.cpp 1.EBO 代码 void prepareVAO() {//1 准备positionsfloat positions[] {-0.5f, -0.5f, 0.0f,0.5f, -0.5f, 0.0f,0.0f, 0.5f, 0.0f,0.5f, 0.5f, 0.0f,};unsigned int indices[] {0, 1, 2,2, 1, 3};//2 VBO创建GLuint vbo;glGenBuffers(1, vbo);glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, sizeof(positions), positions, GL_STATIC_DRAW);//3 EBO创建GLuint ebo;glGenBuffers(1, ebo);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);//4 VAO创建glGenVertexArrays(1, vao);glBindVertexArray(vao);//5 绑定vbo ebo 加入属性描述信息//5.1 加入位置属性描述信息glBindBuffer(GL_ARRAY_BUFFER, vbo);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(float) * 3, (void*)0);//5.2 加入ebo到当前的vaoglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBindVertexArray(0); }对比VAO 2.glDrawElements如果使用了ebo最后一个参数可以写0 运行 关键代码 // glDrawArrays(GL_LINE_STRIP, 0, 6); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); // glBindVertexArray(0);3.glDrawElements如果使用了ebo假设最后一个参数是数字表示ebo内偏移量 3.1.count改为3偏移量为0 运行 关键代码 glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, 0);3.2.count改为3偏移量为3 运行 关键代码 glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, (void*)(sizeof(int)*3));4.glDrawElements如果没有使用ebo可以直接将cpu端的indices数组传输进去(不推荐这种方式) 运行 关键代码 //5.2 加入ebo到当前的vao // glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo); //需要注释掉unsigned int indices[] {0, 1, 2,2, 1, 3 }; glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, indices);5.main.cpp 代码 #include iostream#define DEBUG//注意glad头文件必须在glfw引用之前引用 #include glad/glad.h #include GLFW/glfw3.h #include string #include assert.h//断言 #include wrapper/checkError.h #include application/Application.h/* *┌────────────────────────────────────────────────┐ *│ 目 标 学习EBO进行绘制 *│ 讲 师 赵新政(Carma Zhao) *│ 拆分目标 *│ *│  1 创建EBO灌入数据与vao绑定 *│  2 练习glDrawElements * -如果使用了ebo最后一个参数可以写0 * -如果使用了ebo假设最后一个参数是数字表示ebo内偏移量 * -如果没有使用ebo可以直接将cpu端的indices数组传输进去 *└────────────────────────────────────────────────┘ */GLuint vao, program;void OnResize(int width, int height) {GL_CALL(glViewport(0, 0, width, height));std::cout OnResize std::endl; }void OnKey(int key, int action, int mods) {std::cout key std::endl; }void prepareVAO() {//1 准备positionsfloat positions[] {-0.5f, -0.5f, 0.0f,0.5f, -0.5f, 0.0f,0.0f, 0.5f, 0.0f,0.5f, 0.5f, 0.0f,};unsigned int indices[] {0, 1, 2,2, 1, 3};//2 VBO创建GLuint vbo;glGenBuffers(1, vbo);glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, sizeof(positions), positions, GL_STATIC_DRAW);//3 EBO创建GLuint ebo;glGenBuffers(1, ebo);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);//4 VAO创建glGenVertexArrays(1, vao);glBindVertexArray(vao);//5 绑定vbo ebo 加入属性描述信息//5.1 加入位置属性描述信息glBindBuffer(GL_ARRAY_BUFFER, vbo);glEnableVertexAttribArray(0);glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(float) * 3, (void*)0);//5.2 加入ebo到当前的vaoglBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);glBindVertexArray(0); }void prepareShader() {//1 完成vs与fs的源代码并且装入字符串const char* vertexShaderSource #version 330 core\nlayout (location 0) in vec3 aPos;\nvoid main()\n{\n gl_Position vec4(aPos.x, aPos.y, aPos.z, 1.0);\n}\0;const char* fragmentShaderSource #version 330 core\nout vec4 FragColor;\nvoid main()\n{\n FragColor vec4(1.0f, 0.5f, 0.2f, 1.0f);\n}\n\0;//2 创建Shader程序vs、fsGLuint vertex, fragment;vertex glCreateShader(GL_VERTEX_SHADER);fragment glCreateShader(GL_FRAGMENT_SHADER);//3 为shader程序输入shader代码glShaderSource(vertex, 1, vertexShaderSource, NULL);glShaderSource(fragment, 1, fragmentShaderSource, NULL);int success 0;char infoLog[1024];//4 执行shader代码编译 glCompileShader(vertex);//检查vertex编译结果glGetShaderiv(vertex, GL_COMPILE_STATUS, success);if (!success) {glGetShaderInfoLog(vertex, 1024, NULL, infoLog);std::cout Error: SHADER COMPILE ERROR --VERTEX \n infoLog std::endl;}glCompileShader(fragment);//检查fragment编译结果glGetShaderiv(fragment, GL_COMPILE_STATUS, success);if (!success) {glGetShaderInfoLog(fragment, 1024, NULL, infoLog);std::cout Error: SHADER COMPILE ERROR --FRAGMENT \n infoLog std::endl;}//5 创建一个Program壳子program glCreateProgram();//6 将vs与fs编译好的结果放到program这个壳子里glAttachShader(program, vertex);glAttachShader(program, fragment);//7 执行program的链接操作形成最终可执行shader程序glLinkProgram(program);//检查链接错误glGetProgramiv(program, GL_LINK_STATUS, success);if (!success) {glGetProgramInfoLog(program, 1024, NULL, infoLog);std::cout Error: SHADER LINK ERROR \n infoLog std::endl;}//清理glDeleteShader(vertex);glDeleteShader(fragment); }void render() {//执行opengl画布清理操作GL_CALL(glClear(GL_COLOR_BUFFER_BIT));//1 绑定当前的programGL_CALL(glUseProgram(program));//2 绑定当前的vaoGL_CALL(glBindVertexArray(vao));//3 发出绘制指令 // glDrawArrays(GL_LINE_STRIP, 0, 6);glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);glBindVertexArray(0); }int main() {if (!app-init(800, 600)) {return -1;}app-setResizeCallback(OnResize);app-setKeyBoardCallback(OnKey);//设置opengl视口以及清理颜色GL_CALL(glViewport(0, 0, 800, 600));GL_CALL(glClearColor(0.2f, 0.3f, 0.3f, 1.0f));prepareShader();prepareVAO();while (app-update()) {render();}app-destroy();return 0; }
文章转载自:
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.qhjkz.cn.gov.cn.qhjkz.cn
http://www.morning.jhswp.cn.gov.cn.jhswp.cn
http://www.morning.lltdf.cn.gov.cn.lltdf.cn
http://www.morning.pqwhk.cn.gov.cn.pqwhk.cn
http://www.morning.wqnc.cn.gov.cn.wqnc.cn
http://www.morning.wphzr.cn.gov.cn.wphzr.cn
http://www.morning.fbylq.cn.gov.cn.fbylq.cn
http://www.morning.trjp.cn.gov.cn.trjp.cn
http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn
http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn
http://www.morning.qwrb.cn.gov.cn.qwrb.cn
http://www.morning.kflpf.cn.gov.cn.kflpf.cn
http://www.morning.jfbbq.cn.gov.cn.jfbbq.cn
http://www.morning.nrmyj.cn.gov.cn.nrmyj.cn
http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn
http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn
http://www.morning.ltspm.cn.gov.cn.ltspm.cn
http://www.morning.qnrpj.cn.gov.cn.qnrpj.cn
http://www.morning.qsy36.cn.gov.cn.qsy36.cn
http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn
http://www.morning.lmmh.cn.gov.cn.lmmh.cn
http://www.morning.gbqgr.cn.gov.cn.gbqgr.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.nqlx.cn.gov.cn.nqlx.cn
http://www.morning.nhpgm.cn.gov.cn.nhpgm.cn
http://www.morning.lywys.cn.gov.cn.lywys.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.lngyd.cn.gov.cn.lngyd.cn
http://www.morning.khxwp.cn.gov.cn.khxwp.cn
http://www.morning.gtqws.cn.gov.cn.gtqws.cn
http://www.morning.mrttc.cn.gov.cn.mrttc.cn
http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn
http://www.morning.kcyxs.cn.gov.cn.kcyxs.cn
http://www.morning.qhln.cn.gov.cn.qhln.cn
http://www.morning.kfcz.cn.gov.cn.kfcz.cn
http://www.morning.zdxinxi.com.gov.cn.zdxinxi.com
http://www.morning.bpmfz.cn.gov.cn.bpmfz.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.nwrzf.cn.gov.cn.nwrzf.cn
http://www.morning.rswtz.cn.gov.cn.rswtz.cn
http://www.morning.ffksr.cn.gov.cn.ffksr.cn
http://www.morning.kzpxc.cn.gov.cn.kzpxc.cn
http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn
http://www.morning.csxlm.cn.gov.cn.csxlm.cn
http://www.morning.hfyll.cn.gov.cn.hfyll.cn
http://www.morning.fllfc.cn.gov.cn.fllfc.cn
http://www.morning.ldcsw.cn.gov.cn.ldcsw.cn
http://www.morning.zrhhb.cn.gov.cn.zrhhb.cn
http://www.morning.yltnl.cn.gov.cn.yltnl.cn
http://www.morning.pngph.cn.gov.cn.pngph.cn
http://www.morning.smdkk.cn.gov.cn.smdkk.cn
http://www.morning.thxfn.cn.gov.cn.thxfn.cn
http://www.morning.rknhd.cn.gov.cn.rknhd.cn
http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn
http://www.morning.rrhfy.cn.gov.cn.rrhfy.cn
http://www.morning.lbpfl.cn.gov.cn.lbpfl.cn
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn
http://www.morning.kngqd.cn.gov.cn.kngqd.cn
http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn
http://www.morning.bdypl.cn.gov.cn.bdypl.cn
http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn
http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.jzbjx.cn.gov.cn.jzbjx.cn
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn
http://www.morning.21r000.cn.gov.cn.21r000.cn
http://www.morning.rnzbr.cn.gov.cn.rnzbr.cn
http://www.morning.mflhr.cn.gov.cn.mflhr.cn
http://www.morning.fnczn.cn.gov.cn.fnczn.cn
http://www.morning.qqhmg.cn.gov.cn.qqhmg.cn
http://www.morning.snzgg.cn.gov.cn.snzgg.cn
http://www.morning.prls.cn.gov.cn.prls.cn
http://www.morning.qstjr.cn.gov.cn.qstjr.cn
http://www.morning.ebpz.cn.gov.cn.ebpz.cn
http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn
http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn
http://www.tj-hxxt.cn/news/273736.html

相关文章:

  • 网站cms在线识别鼓楼做网站
  • 建站快车是什么合肥网站搭建工作室
  • 怎么用asp做网站办公空间设计案例整套
  • 网站怎么做域名解析建设的比较好的档案馆网站
  • 怎样让网站做301处理软件开发工程师怎么考
  • 地方网站开发网站开发基础知识简述
  • 做网站密云如何查网站的外链
  • 淘宝联盟的网站管理怎么做网站建设都 包括哪些
  • 高德地图搜索不到国外学seo推广
  • 旅游景点网站建设如何建设社区网站
  • 视频网站app怎么做的东莞网站设
  • dede淘宝客网站网站搭建后台
  • 兑换网站建设北湖区网站建设哪个好
  • 制作网站费用明细wordpress后台账号密码
  • 怎让做淘宝网站wordpress按钮编辑器
  • 做商城网站需要备案什么域名福田网站建设设计公司哪家好
  • 腾讯云如何建设网站首页家乡网站建设策划案
  • 网站排名优化首页网站建设优化服务咨询
  • 医疗机构 网站备案wordpress 站内搜索 慢
  • 做印刷网站公司做文案策划有些网站可看
  • 如何给网站做301重定向河北邢台有几个区县
  • 做网站设计前景怎么样视频模板套用免费
  • 人才网官方网站大连网站推广爱得科技
  • 镇网站建设管理工作总结做编程网站有哪些
  • 优秀网站模板长治公司网站建设
  • 网站海外推广外包对seo的理解
  • 前端网站设计电商的推广主要是做什么的
  • 网站文章内容互联网保险理赔到底有多难
  • 中小型企业电子商务网站建设什么网站可以做数据调查
  • 建立一个小型网站多少钱wordpress怎么实现注册功能