提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、运行环境
  • 二、opengl画正方形
  • 三、步骤
  • 代码下载

一、运行环境

windows visual studio 2919

二、opengl画正方形

三、步骤

1 根据glfw例子,画图形放在框口循环里面,可以在设置背景色之后,例子是vao绘图模式

2 图形渲染管线 7个步骤,其实是vao的7个步骤,其他绘画模式不一定是这几个步骤
顶点缓冲对象(Vertex Buffer Objects,VBO)
https://blog.csdn.net/dcrmg/article/details/53556664

顶点数据

基本图元(Primitives)

顶点着色器(Vertex Shader)

基本图元装配(Primitive Assembly)

几何着色器(Geometry Shader)

细分着色器(Tessellation Shaders)

光栅化(Rasterization)

片段着色器(Fragment Shader)

测试与混合

3 创建vbo对象.缓冲对象
https://blog.csdn.net/qq_36383623/article/details/85123077
//创建vertex buffer object对象
GLuint vboId;//vertex buffer object句柄 数组
glGenBuffers(1, &vboId); //生成1个缓冲对象,缓冲对象用数组名表示

GLuint vbo;
glGenBuffers(1,&vbo);
GLuint vbo[3];
glGenBuffers(3,vbo);

4 绑定数据类型(告诉vbo缓冲对象,将来存的顶点数据是什么数据类型)
glBindBuffer(GL_ARRAY_BUFFER, vboId);

5 将顶点数据存进缓冲
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);

6 设置顶点数据,第一个顶点的属性,例如位置坐标,顶点间隔,是否标准化
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
顶点属性glVertexAttribPointer默认是关闭的,使用时要以顶点属性位置值为参数调用glEnableVertexAttribArray开启。如glEnableVertexAttribArray(0);

7 创建vao,这是存储所有类型顶点对象的状态集合,类似操作说明书,当顶点要判断逻辑时候,vbo和vao可以配合使用
//创建vertex array object对象
GLuint vaoId;//vertext array object句柄
glGenVertexArrays(1, &vaoId);
glBindVertexArray(vaoId);
1个vao对应多个vbo,所有vbo的类型都在vao里面

8 绘画,已三角形为执行逻辑,将顶点集合绘画出来
glDrawArrays (GLenum mode, GLint first, GLsizei count)
glDrawArrays(GL_TRIANGLES,0,3); //GL_TRIANGLE:要绘制的图元类型 0:顶点数组的起始索引,3:要绘制的顶点个数

9 索引缓冲对象(Element Buffer Object,EBO)类似vbo
保存索引顶点的集合,有些顶点比较关键,代表一个物体吧

 GLuint EBO;glGenBuffers(1, &EBO);glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);

代码下载

https://pan.baidu.com/s/1TzruBuOsQTtpHKoFArmrWA?pwd=day2

ps:有疑问可以联系鸡肉大人

opengl入门基础-画正方形相关推荐

  1. Opengl入门基础-shader着色器画方形并且填颜色

    文章目录 一.目的 二.结果 三.详细过程 下载 一.目的 opengl shader画方形并且填颜色 二.结果 成功画方形并用shader填充彩色 三.详细过程 https://blog.csdn. ...

  2. OpenGl入门基础知识-叩开3D的心扉

    OpenGL简介 是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准.是图形硬件的一个软件接口. OpenGL特点 OpenGL是一个开 ...

  3. 赛尔号眼球怎么抓_素描头像怎么画?素描入门基础画|自学素描基本入门教程...

    做个画头像的必须步骤和要点的综合,手残党们看完后按照这个步骤去画也一定能画好! 链接:https://pan.baidu.com/s/1rTbw4WAVcgkbQsqypT5IgQ 提取码:j44s ...

  4. OpenGL 入门基础教程 —— 彩色立方体

    参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-4-a-colored-cube/ 知识点1:顶点属性缓冲.色彩 ...

  5. Opengl入门基础uniform图像变大或缩小

    文章目录 一.目的 二.结果 三.理论知识 下载 一.目的 opengl 通过uniform传参改变图像大小 二.结果 成功将图像放大,缩小 三.理论知识 https://blog.csdn.net/ ...

  6. 小学生python入门-画正方形-小学生 Python 入门课

    画正方形 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) 用Python代码就是导入工具 ...

  7. python画正方形程序_画正方形-小学生 Python 入门课

    画正方形 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) 用Python代码就是导入工具 ...

  8. 最全面的openGL 入门学习

    自己在找openGL学习资料的时候,找到此篇openGL入门学习(虽然不是移动开发,但给我提供了非常好的思路),所以转一下让更多人知道,本文来自http://www.cppblog.com/doing ...

  9. OpenGL入门学习 (转)

    OpenGL入门学习 (转) 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜 ...

最新文章

  1. g++ linux 编译开栈_使用 linux kernel +busybox 定制linux系统
  2. linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法
  3. python中处理日期和时间的标准模块是-Python time模块参考手册
  4. PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)
  5. getsockname与getpeername用法与区别
  6. 【PAT乙】1033 旧键盘打字 (20分) 字符串
  7. 应用层(DNS域名系统、FTP文件传送协议、远程终端协议TELNET、超文本协议HTTP)
  8. access tempvars 宏_Access数据库实用教程(第2版)第7章宏.ppt
  9. i219v微星 驱动_MSI微星
  10. 导入、配置Vuetify遇到的的几个问题
  11. gin框架使用JWT鉴定权限
  12. 电池SOC仿真系列-Battery模块
  13. 电影《暮光之城》不得不爱
  14. 【翻译】CSPNet: A New Backbone that can Enhance Learning Capability of CNN
  15. where is java_Linux下的搜索查找命令的详解(whereis)
  16. 91 python高级 - 作用域
  17. 光谷计算机专业好的学校,华一寄、华一初、华一光谷哪所学校更好(综合对比)...
  18. 手机连接无线没有网络连接到服务器是怎么回事啊,手机连接WIFI后无法上网,是怎么回事?...
  19. 使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
  20. 告别Excel,免费大数据分析与可视化工具,让你的论文图表“高大上”

热门文章

  1. 【网络原理】- 传输层 TCP 十大机制 / UDP 协议 自定义应用层协议
  2. Solidity的函数类型以及可见性分析(类比Java)
  3. 英文文章图表规范和文献引用格式
  4. VSCode如何关掉右边的缩略图(预览面板)
  5. WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置...
  6. 东芝21vf6c_东芝开发21寸高清裸眼3D立体液晶屏
  7. 英语四六级作文句型收集
  8. uni-app配置搜索框
  9. php写商城,小白学习使用Thinkphp5写一个商城项目
  10. c++基础语法命令(C程序员刷leetcode)