errorman

不积跬步,无以至千里
随笔 - 35, 文章 - 0, 评论 - 0, 阅读 - 9674

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

随笔分类 -  OpenGL

关于opengl的一些分享
摘要:当我们对一个图形进行一个较为复杂的变换时,我们并不直接去计算这个变换,而是将其分解为多个基本变换,再依次作用于图形。对于复合变换: P,=MnM3M2M1P 先作用的变换放在连乘式右边, 阅读全文

posted @ 2023-08-25 12:11 Clemens 阅读(80) 评论(0) 推荐(0) 编辑

摘要:在上一节坐标系统中提到过:观察空间(view space)经常被人们称之为Opengl的摄像机,所以有时候也称为摄像机空间(Camear Space)或者视觉空间(Eye Space)。观察空间就是从摄像机的视角所观察到的空间。 一、摄像机/观察空间 当我们讨论观察/摄像机空间的时候,是讨论以摄像机 阅读全文

posted @ 2023-08-21 17:23 Clemens 阅读(155) 评论(0) 推荐(0) 编辑

摘要:Opengl希望我们在顶点着色器处理之后,我们可见的所有的顶点都为标准化设备坐标,也就是说,每个顶点的xyz坐标都在[-1.0, 1.0]范围内,超出这个坐标范围的都不可见。 我们通常会自己设定一个坐标范围,然后再在顶点着色器中将这些坐标变为标准化坐标,之后进入光栅化阶段,将他们变为屏幕上的二维坐标 阅读全文

posted @ 2023-08-17 16:31 Clemens 阅读(81) 评论(0) 推荐(0) 编辑

摘要:一、基础知识 主要是一些向量和矩阵的计算方式。大学本科期间的线性代数里面的内容。坦白来讲,当时学线性代数,虽然考了个还不错的分数,但是实际这些向量、矩阵后面的意义是什么并不知道。只学会了一些基础的计算方法。 二、实践 使用GLM库。 我们在上一节的基础上,先将每个轴都缩放到0.5倍,再沿z轴旋转90 阅读全文

posted @ 2023-08-16 18:58 Clemens 阅读(30) 评论(0) 推荐(0) 编辑

摘要:一、纹理是什么? 我的第一反应是一张图片。在计算机图形学中,纹理被更多的认为是一块数据,它也不再局限于2D空间。具体请参考这篇文章:纹理那些事 。 二、基础知识 纹理坐标 纹理坐标是纹理与图形的映射关系,图形中每个顶点都会关联一个纹理坐标,表示顶点需要从该位置读取纹理图像的数据。 纹理坐标的范围是0 阅读全文

posted @ 2023-08-16 15:48 Clemens 阅读(129) 评论(0) 推荐(0) 编辑

摘要:本文基于Win10 + Visual Studio 2019 + OpenGL 3.3。参考“你好,三角形”。 在LearnOpenGL (2) 绘制三角形 的基础上继续添加代码。 一、准备工作 元素缓冲对象(EBO) 二、绘制矩形 我们使用两个三角形组成一个矩形。 为什么使用元素缓冲对象? 定义矩 阅读全文

posted @ 2023-03-20 16:11 Clemens 阅读(362) 评论(0) 推荐(0) 编辑

摘要:本文基于Win10 + Visual Studio 2019 + OpenGL 3.3。参考“你好,三角形”。 一、准备工作 图形渲染管线 顶点数据 图元 顶点缓冲对象(VBO) 顶点数组对象(VAO) 二、绘制三角形 建立顶点数组 OpenGL中我们指定的所有坐标都是3D坐标(x、y和z)。Ope 阅读全文

posted @ 2023-03-20 10:49 Clemens 阅读(216) 评论(0) 推荐(0) 编辑

摘要:GLFW是什么? GLFW是一个开源的C/C++库,用于创建和管理OpenGL窗口、上下文和输入。它提供了一些用于处理窗口事件、键盘输入、鼠标输入和游戏手柄输入的简单API,同时也支持多个窗口和全屏模式。 GLFW被广泛用于OpenGL程序中,包括游戏、模拟器、三维可视化和科学计算等领域。它可以在W 阅读全文

posted @ 2023-03-17 17:17 Clemens 阅读(281) 评论(0) 推荐(0) 编辑

摘要:本文基于win10 + Visual Studio 2019,基于OpenGL3.3。参考 learnopengl之“创建窗口”和“你好,窗口”。 一、准备工作 环境配置 环境配置详情见“创建窗口”。 GLFW是什么? GLFW是一个开源的C/C++库,用于创建和管理OpenGL窗口、上下文和输入。 阅读全文

posted @ 2023-03-17 10:30 Clemens 阅读(88) 评论(0) 推荐(0) 编辑

摘要:深度缓冲是什么? OpenGL中的深度缓冲(Depth Buffer)是一种用于存储场景中每个像素的深度信息的内存区域。深度信息可以理解为每个像素与观察点的距离,也可以理解为像素的z轴坐标。 在3D图形渲染中,深度缓冲通常用于进行深度测试,以确定哪些像素位于其他物体的前面或后面。深度测试可以避免渲染 阅读全文

posted @ 2023-03-16 15:33 Clemens 阅读(89) 评论(0) 推荐(0) 编辑

摘要:颜色缓冲区是什么? OpenGL中的颜色缓冲区(Color Buffer)是一个用于存储渲染结果的内存区域。当我们通过OpenGL渲染场景时,渲染的结果会被存储到颜色缓冲区中。通常情况下,颜色缓冲区是一个二维数组,每个元素代表屏幕上的一个像素点,存储着该像素点的颜色信息。 在OpenGL中,颜色缓冲 阅读全文

posted @ 2023-03-16 14:42 Clemens 阅读(281) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示