9-13 直播方案分享拓扑图
硬件设备
MacBook 写代码用
Windows 推流用,因为老 MacBook 性能太羸弱
两个显示器(4k 接 MacBook,2k 接 Windows 用来监看推流)
一个 150 元左右的采集卡(4k60 环出,1080p 60 采集)
软件设备
obs(Windows 端)
loopback(Mac 端)
软件设置
obs 设置
loo...
简介本文记录一下C++的IO stream的使用
相对路径
ios_base
ios
istream
ifstream
首先要说明这个相对路径是相对于谁
在linux环境下(我是MacOS)
他相对的其实是,你当前的操作环境的路径
也就是你终端(terminal)当前的路径
举个例子Main.cpp输出当前的目录
123456789101112131415161718#include &l...
世界坐标局部空间(vec local)对于一个物体,建立它本身的时候,他自己会设置一个坐标系,但这个坐标只在建立它的那个空间可以使用,称为局部坐标,比如你在 Blender 里面构建一个立方体,将这个模型导入其他软件之后,就不会再使用到 Blender 里面的坐标系了,这个在 Blender 里面的坐标就是局部坐标(你可以理解这个局部坐标的是物体的元数据)
也就是你在刚开始学 OpenGL...
使用 EBO元素缓冲对象(Element Buffer Object,EBO),也叫索引缓冲对象(Index Buffer Object,IBO)
EBO是一个缓冲区,就像一个顶点缓冲区对象一样,它存储OpenGL用来决定要绘制哪些顶点的索引。
举个例子:如果我们需要绘制一个正方形,我们可以通过绘制两个三角形实现
12345678910float vertices[] = { ...
非透视投影变换非透视投影包括 R(旋转)、S(缩放)、T(位移)、虚拟摄像机变换、正视投影变换,所有的非透视投影变换 都是 R S T 组合而来的
位移变换假设我们有一个向量代表一个物体 ,然后我们想平移它
比如这样:
而矩阵运算
没有办法出现常数,所以我们就可以增加一个维度:
然后再使用一个 3×3 的矩阵来做变换
得到 ,
这样我们就可以完成位移了,这个吧多出来的维度就叫齐次坐标...
万向节死锁关键点理解万向节死锁的关键就在于理解为什么会前面旋转会带动后面坐标轴一起进行旋转
欧拉角我们设置三个旋转方向, 分别为绕 x 轴, 绕 y 轴, 绕 z 轴 旋转, 这就是欧拉角, 以数学家欧拉的名字命名
请注意, 我很还必须指定先绕着谁旋转, 因为旋转的先后次序不一样, 最终结果也就不一样
写成矩阵就是这个样子:
进行欧拉角变换的时候, 要始终保持这个变换顺序, 不可随意删除改...
2499京东买的微星 4060 万图师 8G
犹豫了一下3060 12G,最终还是买了4060 8G,心想着有dlss3还勉强可以战未来
现在发现8G显存有点不够用
尤其是巫师3显存占用高得离谱
以下是4k60hz流畅不跳帧 尽可能高画质 的设置
1. 巫师3值得注意的是,这个DLSS 帧生成非常不好用,他会禁用垂直同步,导致画面撕裂,所以不到万不得已,最好不要开
2. 荒野大镖客2...
渲染管线
这是常见的渲染管线的图,每一步都以上一步的输出为输入,图形渲染管线接受一组3D坐标,然后把它们转变为你屏幕上的有色2D像素输出。
图形渲染管线的第一个部分是顶点着色器(Vertex Shader),它把一个单独的顶点作为输入。
顶点着色器主要的目的是把3D坐标转为另一种3D坐标,同时顶点着色器允许我们对顶点属性进行一些基本处理。
图元装配(Primitive Assembly)...
学习地址我是从这里学习的 OpenGL LearnOpenGL-CN
了解背景首先,了解背景很重要的,这能让我们更好地初步对OpenGL有一个概念
概念OpenGL 并不是一个 API ,它仅仅是一个由Khronos组织制定并维护的规范( Specification )。文档链接
实际的OpenGL库的开发者通常是显卡的生产商。你购买的显卡所支持的OpenGL版本都为这个系列的显卡专门开发的...