Render CookBook(一)

如下所介绍的内容,有需要的小伙伴可以参考:3D Graphics Rendering Cookbook相关书籍
图形引擎基本 Libraries
如果你想自己开发渲染引擎,那么接下来就是一些推荐:
1 using the GLFW library
2 Doing math with GLM
3 Loading images with STB
4 Rendering a basic UI with Dear ImGui
5 Integrating EasyProfiler
6 Integrating Optick
7 using the Assimp library
8 Getting started with Etc2Comp
9 Multithreading with Taskflow
10 Introducing Mesh Optimizer

1 GLFW 隐藏了创建窗口、图形上下文和表面以及从操作系统获取输入事件的所有复杂性。在这个文章中,我们不会详细的讲解如何去使用,而是告诉你有这个东西,网上和官网有教程,可以借鉴,写的都很好

2 GLM 每个3D图形应用程序都需要一些数学实用函数,如基本的线性代数或计算几何。

3 STB 加载图形函数:几乎每个图形应用程序都需要从某些图像文件格式的文件中加载纹理图像。


4 ImGui 图形应用程序需要某种UI。交互式UI可以用于调试实时应用程序,并创建强大的生产力和可视化工具。


5 EasyProfiler Easy Profilter 是C++的一个轻量级的跨平台分析器库,可用于配置多线程图形应程序序 https://github.com/yse/easy_profiler


6 Optick 同上也是多线程图形分析器

7 Assimp library开放资产导入库,可以简称为Assimp,是一个可移植的开源C++库,可以用于以统一的方式加载各种流行的3D模型格式。


8 Etc2Comp 高分辨率纹理数据的一个显著缺点是,它需要大量的GPU内存来存储和处理。所有现代的实时渲染api都提供了某种纹理压缩,允许我们在GPU上以压缩格式存储纹理。其中一种格式是ETC2。这是OpenGL和Vulkan的标准纹理压缩格式。

9 Taskflow 现代图形化应用程序要求我们利用多个cpu的能力来实现性能。任务流是一个快速的C++头库,它可以帮助您快速编写具有复杂任务依赖关系的并行程序。这个库非常有用,因为它允许您跳入多线程图形应用程序的开发,这些应用程序使用了高级渲染概念,如框架图和多线程命令缓冲区的生成。

10 Mesh Optimizer 为了使gpu能够高效地呈现网格,顶点缓冲区中的所有顶点都应该是唯一的,并且没有重复。在任何现代3D内容管道中,有效地解决这个问题都是一项复杂且计算密集型的任务。
Mesh Optimizer是一个由++库开发的开源C++库,它提供了算法来帮助优化现代GPU顶点和索引处理管道的网格。它可以重新索引现有的索引缓冲区,或者从未索引的顶点缓冲区生成一组全新的索引。

第二章:

1 Intercepting OpenGL API calls(拦截OpenGL调用)

图片图片

2 Working with (DSA)


图片

1 Intercepting OpenGL API calls(拦截OpenGL调用)有时,为了调试目的,需要拦截OpenGL API调用,或者例如,在将API调用传递到真正的OpenGL系统之前操作底层的OpenGL状态。您可以这样做来在桌面OpenGL实现上模拟移动OpenGL,反之亦然。为每个API函数手动编写包装器是一项乏味而又吃力不讨好的工作。在本章中,您将学习如何快速制作自定义OpenGL钩子,并在应用程序中使用它们。

2 Working with Direct state access 直接状态访问( DSA ) 是一种修改 OpenGL 对象而无需将它们绑定到上下文的方法。这允许在本地上下文中修改对象状态,而不会影响应用程序所有部分共享的全局状态,即直接访问一个对象的状态而不需要绑定到全局状态机上。它还使 API 更加面向对象,因为可以清楚地识别修改对象状态的函数。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值