
OpenGL C++版教程
文章平均质量分 86
OpenGL C++版教程
鲨鱼动力
在360大厦扫了6年大楼,偷学了点技术
展开
-
OpenGL开发-第5章-变换,让物体动起来
1. 着色器的构成 前面的章节,简单用了一下着色器,着色器其实是一种类似C语言的编程语言,主要区别与C的是添加了一些与矩阵,向量运算相关的操作, 现在看一下它的构成: #version 版本号 in type in_variable_name; in type in_variable_name; out type out_variable_name; uniform type uniform_name; int main() { 一些处理 out_variable_name = value;原创 2021-08-17 20:31:16 · 1836 阅读 · 0 评论 -
OpenGL开发-第8章-引入正交投影
1.顶点坐标的一点问题 之前我们定义的顶点坐标,都是在OpenGL的默认坐标系下从[-1, 1]的区间内,但是如果我们想要精确且方便的控制一个物体的坐标,比如(100,200),(50,100)等,将变得麻烦一些,因为要进行转化,转化到[-1,1]之间。 如果我们绘制的物体是在2D平面内的,我们可以用正交投影来解决这个问题。 2.正交投影 2.1 什么正交投影 简单来讲,正交投影就是定义了一个空间,在这个空间内的物体都会被显示,其之外的,将被裁剪掉。如下图所示: 我们可以看到这个空间之内的场景。 但是原创 2021-08-17 20:29:24 · 1184 阅读 · 0 评论 -
OpenGL开发-第7章-使用多个纹理
1.加载一张PNG的图片 上一章我们已经成功的显示了一张JPG格式的图片,其颜色格式为RGB。这次我们添加一张PNG格式的图片,颜色格式为RGBA。图片如下所示: 加载的方式与之前是完全相同的,只不过格式稍加改变,将GL_RGB改为GL_RGBA,代码参见: GLuint texture_logo; glGenTextures(1, &texture_logo); glBindTexture(GL_TEXTURE_2D, texture_logo); glTextureParameteri(GL_原创 2021-08-17 20:29:15 · 1583 阅读 · 0 评论 -
OpenGL开发-第6章-纹理,让物体更漂亮
1.为什么使用纹理 在之前的章节中,我们绘制了一个矩形,给了它特定的颜色,也通过矩阵操作了它平移旋转。但无论是炫酷的3A大作,还是简单的益智游戏,都是很漂亮,很有设计感的。单纯通过给顶点颜色,几乎很难做到,那么我们可以通过给这个矩形贴上一张图片,让他变得华丽起来。比如我的一个场景(可看这里的视频): [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfyjvkX3-1623148877864)(https://oscimg.oschina.net/oscnet/up-f4dcd原创 2021-08-17 20:29:04 · 389 阅读 · 0 评论 -
OpenGL开发-第4章-着色器,增加颜色
1. 着色器的构成 前面的章节,简单用了一下着色器,着色器其实是一种类似C语言的编程语言,主要区别与C的是添加了一些与矩阵,向量运算相关的操作, 现在看一下它的构成: #version 版本号 in type in_variable_name; in type in_variable_name; out type out_variable_name; uniform type uniform_name; int main() { 一些处理 out_variable_name = value;原创 2021-08-17 20:28:48 · 499 阅读 · 0 评论 -
OpenGL开发-第3章-索引绘制
1.如何绘制一个矩形? 上一章我们成功绘制了一个三角形,很容易的想到,一个矩形就是两个三角形构成的。那么我们就定义它: float vertices[] = { 0.5f, 0.5f, 0.0f, 0.5f, -0.5f, 0.0f, -0.5f, 0.5f, 0.0f, 0.5f, -0.5f, 0.0f, -0.5f, -0.5f, 0.0f, -0.原创 2021-08-17 20:28:36 · 352 阅读 · 0 评论 -
OpenGL开发-第2章-绘制三角形
1. 现实中我们如何精确的绘制一个有颜色的三角形? 1.1 确定三个顶点的位置 1.2.连接三个顶点,成三角形状 1.3.涂上颜色 通过以上三步,我们可以轻松的绘制一个三角形。那么在OpenGL中如何做呢? 2. OpenGL的工作流程 首先看一张图: 这也可以称为简洁版的OpenGL的渲染管线(Graphics PipeLine),但也完全可以说明问题。 从图中可以看出,OpenGL的也是接受顶点,组成形状,染上颜色,最终输出到屏幕上。 从头开始看: 2.1 顶点数据 ,这部分由我们的代码(通常原创 2021-08-17 20:28:25 · 764 阅读 · 0 评论 -
OpenGL开发-第1章-创建环境
说明: 本系列在Windows10系统下进行,IDE主要用Clion(可以使用Qt、Visual Studio等任何IDE),组织代码用CMake,依赖下载用vcpkg。如果是Linux系统,可不用vcpkg,直接用系统自带的安装包管理就可以,如Ubuntu/Linux mint 用apt,CentOS/Fedora用dnf。OpenGL的版本为 3.3。 1.下载安装软件 安装Visual Studio,安装时注意要勾选C++开发套件,因为要用到它的C/C++编译工具。 安装Git。 安装CMake。 安原创 2021-08-17 20:28:06 · 1482 阅读 · 0 评论