Programming--Principles and Practice Using C++第二版OpenGL ES 2.0绘图实践
顶点数据、着色器、绘图指令这些东西在 OpenGL 里真的是绕不过去的基本功。《Programming -- Principles and Practice Using C++(第二版)》里讲的挺清楚的,尤其是你用 OpenGL ES 2.0 来搞绘图的时候,那些context
和eglCreateContext
的流程,讲得还蛮详细。
创建一个能用的OpenGL 上下文,最基础的就是得有eglCreateContext
。这个 API 参数有点多,不过用顺了也还挺灵活。像第三个参数shareContext
,你可以决定要不要共享资源。比如贴图、着色器啥的,多 context 时有用。不需要共享?直接给个EGL_NO_CONTEXT
就行,干净利落。
还有属性配置那块,一般只要记得加上EGL_CONTEXT_CLIENT_VERSION
就八九不离十了。具体值可以查下表 3-6,里面列了各种属性的意义,照着来就能少踩坑。嗯,context 搞定了,后面管线配置、绘图流程基本就能跑起来了。强烈建议你先熟练第 2 章的例子,后面理解会顺多。
如果你之前主要搞 Unity 或者 ShaderToy 那种环境,对 context 没那么熟,不过没事,文档里讲得算比较接地气。不太会也别怕,照着章节练几遍基本就明白了。
对了,如果你还想拓展一下思路,可以看看这些相关资源:OpenGL ES 1.1 顶点管道着色器行为 和 HLSL 着色器代码集锦 都挺有参考价值。
如果你打算自己撸个渲染引擎,或者在移动端搞底层渲染,那这个上下文创建的部分一定要吃透。多看几遍不亏。
2.32MB
文件大小:
评论区