- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 OpenGL学习总结-OpenGL状态机(五)
OpenGL 是一个状态机,因为它通过全局状态来管理渲染的行为,每次绘制操作都依赖于当前的状态配置。理解 OpenGL 的状态机特性有助于开发者更好地组织代码,避免不必要的状态切换,从而提高程序的可维护性和渲染性能。在实际使用中,管理这些状态的顺序、减少状态切换、清晰地理解每个状态对渲染结果的影响,是高效使用 OpenGL 的关键。
2024-10-17 16:48:11 865
原创 OpenGL学习总结-数据缓存区(四)
第二部分里介绍了缓冲区对象(Buffer Object), 缓冲区对象是存储在 GPU 中的内存区域,用于存放顶点数据、索引数据、纹理数据等。OpenGL 使用缓冲区对象来高效管理和传输数据。作用:缓冲区对象通过在 GPU 上存储数据,提高了数据传输和渲染的效率。
2024-10-15 20:29:18 365
原创 OpenGL学习总结-基本渲染流程(三)
一、OpenGL 渲染管线(Rendering Pipeline)的发展1. 固定功能管线时代 在早期的 OpenGL(1.x 和 2.x 版本),渲染管线是固定的,开发者只能使用一组预定义的图形处理函数来进行渲染。这包括了顶点处理、光照计算、纹理映射、裁剪、混合等功能。这种管线的限制使得开发者无法对渲染过程进行深度控制,限制了创意和渲染效果的多样性。 缺点: 由于所有渲染处理都是硬件固定的,开发者无法自由定制处理过程。 光照模型、材质和效果都有限,无法实现复杂的现代渲染效果(如
2024-10-15 20:00:15 956
原创 OpenGL学习总结-基本概念(二)
OpenGL 作为一个图形渲染API,涉及多个重要的基本概念,这些概念构成了OpenGL图形渲染的核心,理解这些概念是有效使用 OpenGL 的关键。
2024-10-15 16:52:18 454
原创 编译与调试:C++编译与调试过程
C语言的编译过程到底是怎样的,gcc命令其实依次执行了四步操作:1.预处理(Preprocessing),2.编译(Compilation),3.汇编(Assemble),4.链接(Linking)。预处理用于将所有的#include头文件以及宏定义替换成其真正的内容,预处理之后得到的仍然是文本文件,但文件体积会大很多。...
2021-12-25 11:56:11 2092
原创 地理空间框架(二):大地水准面、似大地水准面、参考椭球面
大地水准面(Geoid)是一个假想的由地球自由静止的海水平面,扩展延伸而形成的闭合曲面。但是由于重力分布的不同,大地水准面和完美椭球体有一定出入。大地水准面通常是被认为是地球真实轮廓,它所包围的形体称为大地体。因为大地体的形状和大小非常接近自然地球的形状和大小,并且位置比较稳定,因此,在大范围的区域内,一般选取大地水准面作为外业测量成果的共同基准面。大地水准面这一概念最早在1873年由德国数学家利斯廷(Johann Benedict Listing)提出。似大地水准面也称准大地水准面,是为了
2021-12-20 22:18:45 3107
转载 OpenGL中关于模板缓冲区的详细解释
模板缓冲区的概念,至今依然不是特别理解,这篇博客写的很好,相信对大家的理解也有帮助。模板缓存是深度缓存的扩充,当你需要控制哪一个像素需要被渲染,哪一个像素需要被忽略时,模板缓存能够为你提供更多的方法。和深度缓存一样,模板缓存存储了所有像素的模板值,但是这次你必须手动控制这些值如何改变。记住,如果一个像素深度测试失败了的话,模板测试将不会再决定该像素是否绘制,而像素会反过来影响模板缓存中的值。为了让大家对模板缓存有一个直观的认识,让我们来分析一下下面这个例子:模板缓存实例如上图所示:模..
2021-09-10 08:51:37 1820 1
转载 20分钟让你了解OpenGL——OpenGL全流程详细解读
导语:对于开发者来说,学习OpenGL或者其他图形API都不是一件容易的事情。即使是一些对OpenGL有一些经验的开发者,往往也未必对OpenGL有完整、全面的理解。市面上的OpenGL文章往往零碎不成体系,而教材又十分庞大、晦涩难懂还穿插着各种API的介绍。因此笔者希望通过多年的图形开发经验,结合对OpenGL的理解,对OpenGL整体的知识做一个梳理,剔除掉特别复杂又较少使用的部分。遗留下来常见和易于理解的部分,同时也尽量在介绍的时候兼顾易懂性和严谨性。希望对即将或正在学习OpenGL的开发
2021-09-09 16:54:46 4723 1
转载 使用doxygen、graphviz生成OpenSceneGraph文档
使用doxygen、graphviz生成OpenSceneGraph文档 (转)OpenSceneGraph是一款开源的c++三维引擎库,不过因为是开源,所以相关文档十分稀缺。虽然官网提供的源码可以直接生成doxygen文档,不过貌似不太好用,反正我是没有正确生成。自己研究了一下用doxygen、graphviz生成OpenSceneGraph文档,并且最终成功生成相关文档,把过程整理一下,希望对大家有所帮助。原料:doxygen-1.8.11-setup、graphviz-2.38,这
2020-12-03 13:45:08 194
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人