自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 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 1668

原创 第一章 数字图像处理 绪论

1. 什么是数字图像1.1 将连续的图像信号按一定频率采样,量化,得出的离散点组成的图像,称之为数字图像。1.2 采样与量化采样的过程,是对空间坐标进行数字化,即离散化。量化的过程,即对图像的幅值进行数字化。1.3 图像的表示通常用一个二维的数组(矩阵)来表示,也记为 f(x, y)1.4 图像的类型二值图,只有两个值,非黑即白灰度图,以灰度等级确定,通常是256级。彩色图,由红绿蓝三个通道组成,通常每个都是256级。1.5 图像中的坐标一般来说,

2021-08-17 20:29:43 189

原创 OpenGL开发-第8章-引入正交投影

1.顶点坐标的一点问题之前我们定义的顶点坐标,都是在OpenGL的默认坐标系下从[-1, 1]的区间内,但是如果我们想要精确且方便的控制一个物体的坐标,比如(100,200),(50,100)等,将变得麻烦一些,因为要进行转化,转化到[-1,1]之间。如果我们绘制的物体是在2D平面内的,我们可以用正交投影来解决这个问题。2.正交投影2.1 什么正交投影简单来讲,正交投影就是定义了一个空间,在这个空间内的物体都会被显示,其之外的,将被裁剪掉。如下图所示:我们可以看到这个空间之内的场景。 但是

2021-08-17 20:29:24 1054

原创 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 1493

原创 OpenGL开发-第6章-纹理,让物体更漂亮

1.为什么使用纹理在之前的章节中,我们绘制了一个矩形,给了它特定的颜色,也通过矩阵操作了它平移旋转。但无论是炫酷的3A大作,还是简单的益智游戏,都是很漂亮,很有设计感的。单纯通过给顶点颜色,几乎很难做到,那么我们可以通过给这个矩形贴上一张图片,让他变得华丽起来。比如我的一个场景(可看这里的视频):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfyjvkX3-1623148877864)(https://oscimg.oschina.net/oscnet/up-f4dcd

2021-08-17 20:29:04 346

原创 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 445

原创 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 270

原创 OpenGL开发-第2章-绘制三角形

1. 现实中我们如何精确的绘制一个有颜色的三角形?1.1 确定三个顶点的位置1.2.连接三个顶点,成三角形状1.3.涂上颜色通过以上三步,我们可以轻松的绘制一个三角形。那么在OpenGL中如何做呢?2. OpenGL的工作流程首先看一张图:这也可以称为简洁版的OpenGL的渲染管线(Graphics PipeLine),但也完全可以说明问题。从图中可以看出,OpenGL的也是接受顶点,组成形状,染上颜色,最终输出到屏幕上。从头开始看:2.1 顶点数据 ,这部分由我们的代码(通常

2021-08-17 20:28:25 671

原创 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 1416

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除