一个真正的程序往往不是一个 main 方法就可以完成的,显然,对于初学 OpenGL 的我们(尽管我们可能有很长时间的 C/C++ 编程经验)来说,在初次实现一个小项目的时候,需要在开发之前理清项目结构。这样在正式编码的时候才能不会手忙脚乱。
Swim-in-Rising-Water
题目地址
LeetCode#778 Swim in Rising Water
题目描述
On an N x N grid
, each square grid[i][j]
represents the elevation at that point (i,j)
.
Now rain starts to fall. At time t
, the depth of the water everywhere is t
. You can swim from a square to another 4-directionally adjacent square if and only if the elevation of both squares individually are at most t
. You can swim infinite distance in zero time. Of course, you must stay within the boundaries of the grid during your swim.
You start at the top left square (0, 0)
. What is the least time until you can reach the bottom right square (N-1, N-1)
?
【OpenGL】22-几何着色器
参考教程
【中文版】几何着色器
【英文版】Geometry Shader
学习记录
我们这么多篇文章以来,着色器是很常用的东西了,在之前还介绍了着色器中一些变量以及接口块等使用技巧。而我们的着色器一直是顶点着色器,片段着色器两种。使用顶点着色器传递定点数据,使用片段着色器着色。而这篇文章中我们将介绍位于顶点着色器与片段着色器之间的可选着色器:几何着色器(Geometry Shader)。
【OpenGL】21-高级GLSL-Uniform与块元素
教程地址
【中文版】高级GLSL
【英文版】Advanced GLSL
学习记录
上篇文章中我们介绍了 GLSL 的内建变量,并简单的实现了几个例子。这篇文章中我们将介绍接口块(Interface Block)与 Uniform 缓冲对象(Uniform Buffer Object)。
【OpenGL】Breakout-1-环境
终于开始用所学的东西去写点可以真正使用的内容了啊。由于之前的学习都是在 Mac 环境下,而这次的实战项目决定在 Windows 下使用 VS 2017 实现(VS的安装请去网上随便找个教程)。所以这篇文章主要为环境配置。
首先,这个练手实战项目中 OpenGL, GLFW , GLEW 三个库是必不可少的,其次我们使用 Assimp (可能会使用)导入模型,用 GLM 计算矩阵等,这篇中就是为了配置这些东西。