问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

OpenGL笔记(一)绘制三角形

发布网友 发布时间:2024-10-03 10:40

我来回答

1个回答

热心网友 时间:2024-11-28 19:43

该系列将带领大家学习OpenGL,本文是基础部分,旨在配置好OpenGL项目相关依赖,并最终在屏幕上渲染出三角形。建议读者具备一定图形学基础或之前接触过tinnyrenderer系列内容。

参考资源:learnopengl.com/

中文版:learnopengl-cn.github.io...

OpenGL简介:

OpenGL是由Khronos组织制定并维护的规范,规定了一套函数的输入和输出,函数的具体实现由不同显卡厂家自行负责。OpenGL自身是一个巨大的状态机,一系列变量描述OpenGL当前的运行状态,这些状态通常被称为OpenGL上下文。

与tinnyrenderer相比,利用OpenGL可以方便地进行图像操作,如画线、绘制三角形、渲染纹理等,仅需设置好顶点数组,调用drawcall即可。这些操作大部分都将进行并行化处理,而非由CPU计算,从而提高了渲染速度。此外,OpenGL允许维护一个程序窗口,实时改变状态观察渲染结果,而非生成tga图片,极大地提高了学习效率。

实验环境:

在开始之前,需下载GLFW和GLAD依赖。GLFW帮助画图,GLAD用于获取OpenGL函数指针(OpenGL依赖于显卡厂商不同的实现,函数位置在编译期无法确定,需要运行时获取)。建议下载32位GLFW(因64位可能存在兼容问题),在中文版教程中选择C/C++语言、API 3.3及以上版本、Core配置。

为防止路径问题,建议将.h头文件组织到各自的include文件夹下。

整合依赖下载链接:...

创建项目:

打开Visual Studio,创建空项目,在解决方案同级目录下新建Dependences文件夹,将GLAD和GLFW复制到Dependences下。通过VS属性设置,将GLAD和GLFW的include、lib目录添加到包含目录、库目录中。在main.cpp中添加测试代码,初始化GLFW和OpenGL上下文,绘制空窗口。

运行失败时,请检查GLFW和GLAD的配置。

添加输入控制,例如按下ESC键关闭窗口。

渲染三角形:

引入OpenGL着色器概念,OpenGL的渲染管线分为多个步骤,包括顶点着色器、图元装配、几何着色器、光栅化、片段着色器等。顶点着色器主要进行空间变换。通过编写着色器代码、创建和链接shader,实现渲染三角形。使用顶点缓冲对象VBO存储顶点数据,通过VAO(顶点数组对象)简化数据绑定过程,提高渲染效率。

添加索引缓冲对象EBO(元素缓冲对象)以减少顶点重复,提高渲染性能。

总结:

通过本文的学习,读者将掌握OpenGL的基本配置、三角形绘制、着色器和纹理的使用,以及坐标变换和摄像机的原理。后续系列将深入探讨OpenGL的高级功能。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在五粮液000858可以买进么? 2021年五粮液(000858)总资产、总负债、营业收入、营业成本及净利润统... 手机耗电太快了怎么解决 教你方法,轻松解决 Tag模块数组indexOf,splice的使用方法 JavaScript indexOf简介 对于一个JS对象数组怎么使用IndexOf方法得到索引呢? Array.indexOf() 学习 狼来了是什么效应 当两种刺激都出现,认知者会产生首因效应还是近因效应呢? 大过年的…… opengl 坐标系统 【unity Shader 学习笔记】2-2顶点着色器(下) OpenGL学习之旅(6)---imgui库使用 晚上做梦,梦到朋友死了,我伤心的一直哭,醒来后还是一直掉眼泪.预示什 ... 长春结婚登记去哪里办理? 英才宝贝(2023)两全保险从哪里购买? 年年红C款两全险(分红型)去哪里投保? ...说是1年半表现良好 没有挂科 挂科是大挂的意思呢 还是小挂也算 请... 两全险怎么样?线上怎么买? 两全险在哪里可以? 年年红C款两全险(分红型)在哪里投保? 我是07年的应届生,现已毕业,怎样填写海关报名推荐表? ...要填初中毕业升学招生考试报名表。 不知道是应届还是往届 我的笔记本是联想v460 i3cpu M380 @2.53GHZ 32位操作系统 我加个2g的... ...电脑: 联想 Ideapad V460 笔记本电脑 操作系统: Windows 7 旗舰版... 联想V460A-ITH(T)基本参数 我的也是联想V460的,之前32位的没问题,加了内存,换了64位的,一看PPS... 联想V460A-ITH(T)联想V460A-ITH(T)详细参数 ...她扎小辫的时候发现了一根白头发,求解!!什么原因造成的?要紧么?缺... 我是一个十六岁的女生,可能是遗传的原因,从出生就有一根白头发,小时候... 数值计算库Eigen:几何-空间变换 我是个男生才18岁 可是掉头发有两三年了 虽然报纸什么的说每天丢100... 关于辛苦一天工作唯美句子 我18岁,最近发现开始掉头发... 您好!医生!我是一名男孩!18岁左右!我掉头发很严重!有一年多了吧!现在头... 九分之一除以几得一 各种鳍的作用:胸鳍:___尾鳍:___背鳍:__ 厂部计入什么分录 公司发了文件统一放假,部门要求上班没来算不算旷工 qq邮箱的网页版登录入口在哪里? 国民福寿双全两全保险可以从哪买? 国家规定的节假日分别放假几天啊? 放假通知模板 一首纯音乐电影恋爱前规则 求:《恋爱前规则》的二十三条规则拜托各位大神 恋爱前规则周奇奇演什么?拜托各位了 3Q 国外青春电影拜托了各位 谢谢 国产什么电影好看?拜托各位了 3Q 为什么抖音的评论别人看不了自己能看 怎么评论抖音评论别人看不到