opengl入门基础-画正方形
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 一、运行环境
- 二、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入门基础-画正方形相关推荐
- Opengl入门基础-shader着色器画方形并且填颜色
文章目录 一.目的 二.结果 三.详细过程 下载 一.目的 opengl shader画方形并且填颜色 二.结果 成功画方形并用shader填充彩色 三.详细过程 https://blog.csdn. ...
- OpenGl入门基础知识-叩开3D的心扉
OpenGL简介 是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准.是图形硬件的一个软件接口. OpenGL特点 OpenGL是一个开 ...
- 赛尔号眼球怎么抓_素描头像怎么画?素描入门基础画|自学素描基本入门教程...
做个画头像的必须步骤和要点的综合,手残党们看完后按照这个步骤去画也一定能画好! 链接:https://pan.baidu.com/s/1rTbw4WAVcgkbQsqypT5IgQ 提取码:j44s ...
- OpenGL 入门基础教程 —— 彩色立方体
参考资料:http://www.opengl-tutorial.org/cn/beginners-tutorials/tutorial-4-a-colored-cube/ 知识点1:顶点属性缓冲.色彩 ...
- Opengl入门基础uniform图像变大或缩小
文章目录 一.目的 二.结果 三.理论知识 下载 一.目的 opengl 通过uniform传参改变图像大小 二.结果 成功将图像放大,缩小 三.理论知识 https://blog.csdn.net/ ...
- 小学生python入门-画正方形-小学生 Python 入门课
画正方形 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) 用Python代码就是导入工具 ...
- python画正方形程序_画正方形-小学生 Python 入门课
画正方形 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) 用Python代码就是导入工具 ...
- 最全面的openGL 入门学习
自己在找openGL学习资料的时候,找到此篇openGL入门学习(虽然不是移动开发,但给我提供了非常好的思路),所以转一下让更多人知道,本文来自http://www.cppblog.com/doing ...
- OpenGL入门学习 (转)
OpenGL入门学习 (转) 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜 ...
最新文章
- g++ linux 编译开栈_使用 linux kernel +busybox 定制linux系统
- linux shell mv/cp 错误: will not overwrite just-created <filename> with <sameFilename> 解决方法
- python中处理日期和时间的标准模块是-Python time模块参考手册
- PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)
- getsockname与getpeername用法与区别
- 【PAT乙】1033 旧键盘打字 (20分) 字符串
- 应用层(DNS域名系统、FTP文件传送协议、远程终端协议TELNET、超文本协议HTTP)
- access tempvars 宏_Access数据库实用教程(第2版)第7章宏.ppt
- i219v微星 驱动_MSI微星
- 导入、配置Vuetify遇到的的几个问题
- gin框架使用JWT鉴定权限
- 电池SOC仿真系列-Battery模块
- 电影《暮光之城》不得不爱
- 【翻译】CSPNet: A New Backbone that can Enhance Learning Capability of CNN
- where is java_Linux下的搜索查找命令的详解(whereis)
- 91 python高级 - 作用域
- 光谷计算机专业好的学校,华一寄、华一初、华一光谷哪所学校更好(综合对比)...
- 手机连接无线没有网络连接到服务器是怎么回事啊,手机连接WIFI后无法上网,是怎么回事?...
- 使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决
- 告别Excel,免费大数据分析与可视化工具,让你的论文图表“高大上”
热门文章
- 【网络原理】- 传输层 TCP 十大机制 / UDP 协议 自定义应用层协议
- Solidity的函数类型以及可见性分析(类比Java)
- 英文文章图表规范和文献引用格式
- VSCode如何关掉右边的缩略图(预览面板)
- WIN7远程桌面连接方法!远程控制教程!XP远程桌面连接教程!如何设置远程桌面连接?远程桌面连接设置...
- 东芝21vf6c_东芝开发21寸高清裸眼3D立体液晶屏
- 英语四六级作文句型收集
- uni-app配置搜索框
- php写商城,小白学习使用Thinkphp5写一个商城项目
- c++基础语法命令(C程序员刷leetcode)