作为一个梦想成为游戏制作人的菜鸟程序员, 我终究没悬念地踏上了撰写shader的道路(手动滑稽). 这是一篇比较细致的Ubuntu18.04下OpenGL_ES环境搭建的文件, 也是我爬过n多个坑之后的总结, 希望能帮助到Mac背后的你(手动滑稽).
模拟器方面, 我选择PowerVR, 当然, 你可以选择别的, 来到官网, 下载对应的SDK, 运行下载后的文件, 即可安装. 当然了, 如果不能运行, 用chmod添加运行权限即可. 我的第一个Hello, World案例也是基于PowerVR的Hello案例魔改的.
image
值得一提的就是安装目录记一下, 之后要用到:
image
这里我选用CLion开发, 这样更友好, 尽管CLion的vim似乎不够强大, 但是考虑到调试等功能, 还是值得拥有的. 当然, 自己用vim搭建IDE也是完全OK的. 先确保有安装了build-essential, libx11-dev, 当然了, 你的Linux可能不是X11, 做出相应修改即可.
纹理加载我选用的是FreeImage, 使用也比较简单, 下载, 编译, 安装即可.
image
不知道为啥, 我打不开官网, 不过有人在github备份了.
先贴出CMakeLists.txt全文.
可以看到, 我手动添加了FreeImage库和模拟器给的两个库, libEGL.so, libGLESv2.so. 这里我想吐槽一下win, 非要搞出一个.lib, 又一个.dll, 明明一个.so就搞定的事情. 至于X11的库, 之前也说了, 如果你是其他的Linux, 找对应的库, 修改CMake内容即可, 当然了, cpp文件也要重写. 所以, 这里才用了PowerVR的例子, 他们已经把全平台的CMake和源码都写好了, 改改就行(手机狗头). 当然, OpenGL_ES指南有一份跨平台的源码, 我也尝试过, 缺点是似乎只能使用c语言, 我反复修改构建也是如此, 可能是我对编译原理的理解还不到位, 所以就放弃了指南的源码. 毕竟都是要二次封装的, 只用c的话, 臣妾做不到啊(手动无奈).
源码部分, 我先用一个Util类封装了大部分不需要过多关系的操作, 把处理重心放在初始化和绘制上面. 所以先来看下main函数的内容.
来看看效果吧.
image
至于更多有关OpenGL_ES的内容, 就要等后续的部分啦. 喜欢记得点赞或者关注哦~