OpenGL
会敲code的猫
这个作者很懒,什么都没留下…
展开
-
Breakout——渲染精灵
一、简介 1、概念 渲染精灵 = 2D图片 + 摆放属性(位置、旋转角度、二维大小) 二、详解 1、2D投影矩阵 (1)投影矩阵:把观察坐标转化为标准化设备坐标。 (2)示例: glm::mat4 projection = glm::ortho(0.0f, 800.0f, 600.0f, 0.0f, -1.0f, 1.0f); 2、渲染精灵 顶点着色器: #version 330 core layout (location = 0) in vec4 vertex; // <vec2 positio原创 2021-02-15 21:46:57 · 148 阅读 · 0 评论 -
OpenGLL——坐标空间整合
一、简介 1、物体定点转化为屏幕坐标经过的坐标系统。 (1)局部空间(Local Space)或物体空间(Object Space) (2)世界空间(World Space) (3)观察空间(View Space)或视觉空间(Eye Space) (4)裁剪空间(Clip Space) (5)屏幕空间(Screen Space) 2、变换矩阵 (1)三个重要变换矩阵: 模型(Model)、观察(View)、投影(Projection)。 (2)变换过程: (3)意义: 将整个变换分成三个,是为了增加灵活性原创 2021-02-15 20:15:36 · 168 阅读 · 0 评论 -
LearnOpenGL的思维导图
原创 2020-10-19 17:03:47 · 341 阅读 · 1 评论 -
OpenGL_深度测试_线性深度值
一、非线性深度值 这是默认的,非线性深度值可以保证,在近处得深度值精度高,在远处得深度值精确度低,更有实际意义,方程如下: 变化图如下: 接下来,从练习得角度,来改成线性。 二、线性深度值 先看方程: 变化图: 变换思路: (1)将坐标变换回标准化设备坐标(裁剪空间) (2)反转方程 代码如下: #version 330 core out vec4 FragColor; float near = 0.1; float far = 100.0; float LinearizeDepth(fl原创 2020-09-24 16:01:47 · 804 阅读 · 0 评论