ping-code

导航

2023年10月19日 #

OpenGL入门——摄像机

摘要: 上一节OpenGL入门——矩阵变换与坐标系统 - 一只小瓶子 - 博客园 (cnblogs.com)通过矩阵变换实现物体移动。OpenGL本身没有摄像机的概念,但是可以通过把场景中的所有物体往相反方向移动,来模拟摄像机的移动。下面介绍一下怎么通过这种方式在OpenGL中配置一个摄像机。 一、摄像机/ 阅读全文

posted @ 2023-10-19 22:56 一只小瓶子 阅读(289) 评论(0) 推荐(0) 编辑

2023年10月15日 #

OpenGL入门——矩阵变换与坐标系统

摘要: 一、OpenGL的数学库GLM 向量和矩阵的运算就不作说明了,直接介绍OpenGL中如何使用矩阵变换。 GLM(官网:OpenGL Mathematics (g-truc.net))是OpenGL Mathematics的缩写,它是一个只有头文件的库,也就是说只需包含对应的头文件就行了,不用链接和编 阅读全文

posted @ 2023-10-15 21:04 一只小瓶子 阅读(556) 评论(0) 推荐(0) 编辑

2023年9月25日 #

OpenGL入门——多个纹理

摘要: 上一节OpenGL入门——纹理 - 一只小瓶子 - 博客园 (cnblogs.com)中介绍了怎么使用纹理,实际使用过程中可能会用到多个纹理。跟顶点属性一样(顶点对象可以有多个属性,每个属性都有一个位置值(layout)),纹理采样器也有一个位置值(纹理单元),OpenGL中至少有16个纹理单元,从 阅读全文

posted @ 2023-09-25 21:54 一只小瓶子 阅读(760) 评论(0) 推荐(0) 编辑

2023年9月24日 #

OpenGL入门——纹理

摘要: 已知,我们是对每个顶点去添加对应颜色,如果想要图像更加细节真实,就必须有足够多的点,点的密度要很大,而每个点都有个颜色属性,这样很浪费资源。 这时候我们就可以引入纹理,它可以用来添加图像的细节,类似于皮肤。每个顶点对应一个纹理坐标(表明从纹理图像的哪个位置采样,即获得颜色),其他片段进行插值采样(非 阅读全文

posted @ 2023-09-24 11:14 一只小瓶子 阅读(467) 评论(0) 推荐(0) 编辑

2023年9月17日 #

OpenGL入门——着色器类

摘要: 着色器的编写、编译、管理是个很繁琐的事。所以就需要写一个类,这个类可以从文件读取着色器源码,可以编译链接它们,可以对它们进行错误检测,可以设置Uniform值。 1. 类的声明 #pragma once #include <glad/glad.h> #include <string> #includ 阅读全文

posted @ 2023-09-17 10:38 一只小瓶子 阅读(135) 评论(0) 推荐(0) 编辑

2023年9月6日 #

OpenGL入门——着色器

摘要: 前面几节简单使用了一下着色器 现在详细解释一下着色器和着色器语言(GLSL) 1. 着色器 着色器是运行在GPU上的小程序,它们之间不能互相通信,唯一的沟通只有输入和输出。 2. GLSL 着色器的开头是声明版本,接着是输入和输出变量、uniform和main函数。每个着色器的入口点都是main函数 阅读全文

posted @ 2023-09-06 22:04 一只小瓶子 阅读(357) 评论(0) 推荐(0) 编辑

2023年9月3日 #

OpenGL入门——使用EBO绘制三角形

摘要: 上一节OpenGL入门——第一个三角形(1) - 一只小瓶子 - 博客园 (cnblogs.com)介绍了opengl怎么使用VAO和VBO绘制一个三角形 这一节介绍一下使用EBO绘制 元素缓冲对象(Element Buffer Object,EBO),也叫索引缓冲对象(Index Buffer O 阅读全文

posted @ 2023-09-03 21:12 一只小瓶子 阅读(188) 评论(0) 推荐(0) 编辑

2023年8月27日 #

OpenGL入门——第一个三角形

摘要: 一、渲染管线 在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,所以由OpenGL的图形渲染管线将3D坐标转为2D坐标。 图形渲染管线主要分为2个部分: 第一部分将3D坐标转为2D坐标,第二部分把2D坐标转为实际的颜色像素。 注意:2D坐标和像素也是不同的,2D坐标精确表示一个 阅读全文

posted @ 2023-08-27 17:28 一只小瓶子 阅读(315) 评论(0) 推荐(0) 编辑

2023年8月20日 #

CGAL入门——凸壳算法

摘要: 一、凸壳算法 凸壳是能包含点集合的最小凸多边形,即凸壳是点集合的一个子集,将这个子集的点连接起来可以包含点集中所有的点。 二、数组中点的凸壳 #include <iostream> #include <CGAL/Exact_predicates_inexact_constructions_kerne 阅读全文

posted @ 2023-08-20 22:06 一只小瓶子 阅读(843) 评论(0) 推荐(0) 编辑

2023年8月15日 #

CGAL入门——点和线的关系示例

摘要: 官网源码:CGAL 5.6 - Manual: Hello World 所有 CGAL 头文件都位于子目录include/CGAL中。所有 CGAL 类和函数都位于命名空间 CGAL中。全局函数以小写字母开头(如CGAL::squared_distance和CGAL::orientation),常量 阅读全文

posted @ 2023-08-15 07:55 一只小瓶子 阅读(869) 评论(0) 推荐(0) 编辑