• C++ IO stream(没写完)

    C++ IO stream(没写完)

    简介本文记录一下C++的IO stream的使用 相对路径 ios_base ios istream ifstream 首先要说明这个相对路径是相对于谁 在linux环境下(我是MacOS) 他相对的其实是,你当前的操作环境的路径 也就是你终端(terminal)当前的路径 举个例子Main.cpp输出当前的目录 123456789101112131415161718#include &l...
  • OpenGL 容易犯的错误(持续更新)
  • OpenGL 知识点、小问题(持续更新)

    OpenGL 知识点、小问题(持续更新)

    世界坐标局部空间(vec local)对于一个物体,建立它本身的时候,他自己会设置一个坐标系,但这个坐标只在建立它的那个空间可以使用,称为局部坐标,比如你在 Blender 里面构建一个立方体,将这个模型导入其他软件之后,就不会再使用到 Blender 里面的坐标系了,这个在 Blender 里面的坐标就是局部坐标(你可以理解这个局部坐标的是物体的元数据) 也就是你在刚开始学 OpenGL...
  • OpenGL 多个三角形

    OpenGL 多个三角形

    使用 EBO元素缓冲对象(Element Buffer Object,EBO),也叫索引缓冲对象(Index Buffer Object,IBO) EBO是一个缓冲区,就像一个顶点缓冲区对象一样,它存储OpenGL用来决定要绘制哪些顶点的索引。 举个例子:如果我们需要绘制一个正方形,我们可以通过绘制两个三角形实现 12345678910float vertices[] = { ...
  • OpenGL 齐次坐标的妙用

    OpenGL 齐次坐标的妙用

    非透视投影变换非透视投影包括 R(旋转)、S(缩放)、T(位移)、虚拟摄像机变换、正视投影变换,所有的非透视投影变换 都是 R S T 组合而来的 位移变换假设我们有一个向量代表一个物体 ,然后我们想平移它 比如这样: 而矩阵运算 没有办法出现常数,所以我们就可以增加一个维度: 然后再使用一个 3×3 的矩阵来做变换 得到 , 这样我们就可以完成位移了,这个吧多出来的维度就叫齐次坐标...
  • 微星 4060 万图师 8G 游戏设置

    微星 4060 万图师 8G 游戏设置

    2499京东买的微星 4060 万图师 8G 犹豫了一下3060 12G,最终还是买了4060 8G,心想着有dlss3还勉强可以战未来 现在发现8G显存有点不够用 尤其是巫师3显存占用高得离谱 以下是4k60hz流畅不跳帧 尽可能高画质 的设置 1. 巫师3值得注意的是,这个DLSS 帧生成非常不好用,他会禁用垂直同步,导致画面撕裂,所以不到万不得已,最好不要开 2. 荒野大镖客2...
  • OpenGL 三角形

    OpenGL 三角形

    渲染管线 这是常见的渲染管线的图,每一步都以上一步的输出为输入,图形渲染管线接受一组3D坐标,然后把它们转变为你屏幕上的有色2D像素输出。 图形渲染管线的第一个部分是顶点着色器(Vertex Shader),它把一个单独的顶点作为输入。 顶点着色器主要的目的是把3D坐标转为另一种3D坐标,同时顶点着色器允许我们对顶点属性进行一些基本处理。 图元装配(Primitive Assembly)...
  • OpenGL 窗口

    OpenGL 窗口

    学习地址我是从这里学习的 OpenGL LearnOpenGL-CN 了解背景首先,了解背景很重要的,这能让我们更好地初步对OpenGL有一个概念 概念OpenGL 并不是一个 API ,它仅仅是一个由Khronos组织制定并维护的规范( Specification )。文档链接 实际的OpenGL库的开发者通常是显卡的生产商。你购买的显卡所支持的OpenGL版本都为这个系列的显卡专门开发的...
  • OpenGL on Mac 环境

    OpenGL on Mac 环境

    环境介绍这次我将环境部署到了Mac + Clion上 其实并没有解决上次的编译glfw的问题,但好像不太影响使用因为我不会自己写编译脚本(〒︿〒) 解决了!!!chatGPT 真好用!!! 1xcode-select --install 123git clone https://github.com/glfw/glfw.gitcd glfwgit checkout 3.3.8 12...
  • OpenGL on Windows 环境

    OpenGL on Windows 环境

    配置gladGLAD是一个开源的库,它能解决我们上面提到的那个繁琐的问题。GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个在线服务。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。 打开GLAD的在线服务, 将语言 (Language) 设置为C/C++, 在 API 选项中,选择 3.3 以上的OpenGL (gl) 版本...