Windows有WSA,Linux有Waydroid,两者的性能损失之小都相当可观。
虽然两者目前都不够成熟,有许多需要改进之处,但还是非常好用的。
环境

$ uname -a |
主要原因是字符集的问题,不使用unicode字符集即可。
在VSCode中,删除c_cpp_properties.json
中的宏UNICODE
和_UNICODE
。
着色器需要用特定的语言编写,GLSL是一种类C的语言,专门用来写着色器程序。
程序结构:
在Win32的基础上,使用OpenGL v3.3,单个cpp文件完成:
使用win32原生API实现OpenGL,可以取代glut等第三方库。
引自此博客。
接受新的事物是不容易的,这意味要面临诸多陌生和不习惯,但xmake太简单易用了,从此cmake是路人。
编辑main.cpp
:
|
编辑CMakeLists.txt
:
cmake_minimum_required(VERSION 3.5.1) |
VS code 安装插件 CodeLLDB 时,需要下载一个包,vadimcn/codelldb,即使有代理,也难以自动完成。
OpenGL本身是一种规范,只是规定了一些应有的函数和参数,没有任何实现(实现由第三方库完成,如glfw、glew).
本文之所以放在[编程]->[框架]的分类,是因为本文主要内容是用OpenGL规范实现的库的使用,而非OpenGL规范本身
图形渲染管线是实时渲染的核心组件。渲染管线的功能是通过给定虚拟相机、3D场景物体以及光源等场景要素来产生或者渲染一副2D的图像。渲染管线是实时渲染的重要工具,主要包括两个功能:一是将物体3D坐标转变为屏幕空间2D坐标,二是为屏幕每个像素点进行着色。
渲染管线的一般流程分别是:顶点数据的输入、顶点着色器、曲面细分过程、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器以及混合测试。
在Vim中使用Coc-nvim提供的coc-clangd,会默认开启Inlay-hint,也即如图所示的参数提示,它可以帮助我们快速分辨参数,但有时候也会影响代码的整洁和对代码长度的估量,除去的方法为在Coc-config中关闭inlayHint.enable
选项。