OpenGL学习笔记
文章平均质量分 61
OpenGL学习笔记
NGC_2070
纸上得来终觉浅,绝知此事要躬行!
展开
-
OpenGL 混合
混合转载 2022-12-17 14:08:08 · 236 阅读 · 0 评论 -
OpenGL 面剔除
面剔除转载 2022-12-17 12:57:55 · 133 阅读 · 0 评论 -
OpenGL Uniform缓冲对象
OpenGL为我们提供了一个叫做Uniform缓冲对象(Uniform Buffer Object)的工具,它允许我们定义一系列在多个着色器中相同的全局Uniform变量。当使用Uniform缓冲对象的时候,我们只需要设置相关的uniform一次。当然,我们仍需要手动设置每个着色器中不同的uniform。并且创建和配置Uniform缓冲对象会有一点繁琐。转载 2022-12-12 23:28:20 · 499 阅读 · 0 评论 -
OpenGL GLSL的内建变量
着色器都是最简化的,如果需要当前着色器以外地方的数据的话,我们必须要将数据传进来。我们已经学会使用顶点属性、uniform和采样器来完成这一任务了。转载 2022-12-12 21:56:33 · 395 阅读 · 0 评论 -
OpenGL 接口块
到目前为止,每当我们希望从顶点着色器向片段着色器发送数据时,我们都声明了几个对应的输入/输出变量。将它们一个一个声明是着色器间发送数据最简单的方式了,但当程序变得更大时,你希望发送的可能就不只是几个变量了,它还可能包括数组和结构体。转载 2022-12-10 15:16:35 · 160 阅读 · 0 评论 -
OpenGL 高级数据、分批顶点属性与复制缓冲
我们在OpenGL中大量使用缓冲来储存数据已经有很长时间了。操作缓冲其实还有更有意思的方式,而且使用纹理将大量数据传入着色器也有更有趣的方法。这一节中,我们将讨论一些更有意思的缓冲函数,以及我们该如何使用纹理对象来储存大量的数据(纹理的部分还没有完成)。转载 2022-12-10 15:00:02 · 223 阅读 · 0 评论 -
OpenGL 帧缓冲
OpenGL 帧缓冲转载 2022-12-04 19:03:30 · 348 阅读 · 0 评论 -
OpenGL环境搭建、图形渲染管线、坐标系统、着色器、数据传输学习笔记 [转]
OpenGL环境搭建、图形渲染管线、坐标系统、着色器、数据传输学习笔记 [转]转载 2022-12-03 13:18:51 · 126 阅读 · 0 评论 -
Learnopengl 学习之路
你好,三角形、顶点输入、顶点着色器、编译着色器、片段着色器、着色器程序、链接顶点属性、顶点数组对象、元素缓冲对象你好,三角形 - LearnOpenGL CN《Learnopengl(2) 三角形绘制[转]》着色器、GLSL、数据类型、输入与输出、Uniform、更多属性、我们自己的着色器类、从文件读取。着色器 - LearnOpenGL CN《Learnopengl(3)着色器[转]》坐标系统、概述、局部空间、世界空间、观察空间、裁剪空间(正射投影、透视投影)、把它们都组合到一起、进入3D、Z缓冲、更多的转载 2022-12-03 13:15:55 · 425 阅读 · 0 评论 -
Learnopengl(7)摄像机[转]
【代码】Learnopengl(7)摄像机[转]转载 2022-11-28 20:39:16 · 114 阅读 · 0 评论 -
Learnopengl(6)坐标系统[转]
【代码】Learnopengl(6)坐标系统[转]转载 2022-11-28 16:32:00 · 199 阅读 · 0 评论 -
Learnopengl(5)变换[转]
【代码】Learnopengl(4)变换[转]转载 2022-11-27 22:36:07 · 96 阅读 · 0 评论 -
Learnopengl(4)纹理[转]
【代码】Learnopengl(4)纹理[转]转载 2022-11-27 15:37:09 · 282 阅读 · 0 评论 -
Learnopengl(3)着色器[转]
【代码】Learnopengl(3)着色器[转]转载 2022-11-26 17:58:46 · 247 阅读 · 0 评论 -
Learnopengl(2) 三角形绘制[转]
【代码】Learnopengl(2) 三角形绘制[转]转载 2022-11-25 16:57:08 · 78 阅读 · 0 评论 -
Learnopengl(1) 窗口创建代码[转]
【代码】Learnopengl(1) 窗口创建代码[转]转载 2022-11-25 14:00:40 · 127 阅读 · 0 评论 -
OpenGL PBO渲染视频数据 [转]
PBO#pragma once#include <assert.h>class ShaderId{public: ShaderId() { _shaderId = -1; } int _shaderId;};/*** 程序*/class ProgramId{public: int _programId; ShaderId _vertex; Shad..转载 2021-08-14 14:03:41 · 291 阅读 · 0 评论 -
OpenGL渲染视频图像笔记
GLContext.h#pragma once#include <gl/gl.h>class GLContext{protected: int _format; //! 窗口句柄 HWND _hWnd; //! 绘制设备上下文 HDC _hDC; //! OpenGL上下文 HGLRC _hRC;public: GLContext() { ..转载 2021-08-14 14:01:50 · 561 阅读 · 0 评论 -
Windows 视频解码及显示[转]
目录创建窗口单线程解码并且绘制多线程解码并且绘制速率控制创建窗口#pragma once#include <windows.h>#include <tchar.h>LRESULT CALLBACK windowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch (msg) { case WM_PAINT: { PA..转载 2021-08-14 13:57:41 · 300 阅读 · 0 评论 -
OpenGL shader笔记
https://www.khronos.org/registry/OpenGL-Refpages/ 着色器程序先编译链接好,然后启用,使用完毕后调用glUseProgram(0);因为OpenGL是状态机,会保存状态。 将顶点数据传入显卡缓存区,着色器使用完后glDisableClientStateglEnableClientState(GL_VERTEX_ARRAY);glEnableClientState(GL_COLOR_ARRAY);glVertexPointer(3,GL_F...原创 2021-08-14 13:54:09 · 131 阅读 · 0 评论 -
QT调用OpenGL[转]
Window 创建窗口#include <windows.h>#include <tchar.h>LRESULT CALLBACK wndProc(HWND hWnd, UINT msgId, WPARAM wParam, LPARAM lParam){ switch (msgId) { case WM_CLOSE: case WM_DESTROY: { PostQuitMessage(0); } break; default: retu..转载 2021-08-14 13:51:06 · 338 阅读 · 0 评论 -
OpenGL 纹理[转]
uv坐标左下角(0,0),右上角(1,1)图像除以自己的宽高,进行映射转载 2021-08-14 13:47:02 · 146 阅读 · 0 评论 -
OpenGL接口的基本实现4[转]
绘制图片void drawImage(int startX, int startY, int w, int h){ //判断是否越界 int left = tmax<int>(startX, 0); int top = tmax<int>(startY, 0); int right = tmin<int>(startX + w, _width); int bottom = tmin<int>(startY + h, _height..转载 2021-08-14 13:44:46 · 125 阅读 · 0 评论 -
OpenGL接口的基本实现2[转]
绘制矩形注意使用两个矩形相交去判断坐标是否超出范围void drawFilleRect(int startX,int startY,int w,int h){ int left = tmax<int>(startX,0); int top = tmax<int>(startY,0); int right = tmin<int>(startX + w,_width); int botto...转载 2021-08-14 13:41:36 · 95 阅读 · 0 评论 -
OpenGL接口的基本实现1[转]
Windows 编程之路绘制点Raster.h#pragma once#include "CELLMath.hpp"namespace CELL{ class Raster { public: Rgba* _buffer; int _width; int _height; public: Raster(int w, int h, void* buffer); ~Raster(void); void clear(); ..转载 2021-08-14 13:37:18 · 284 阅读 · 0 评论 -
GPU渲染管线 着色器编程
GPU渲染管线着色器编程学习网址https://www.icourse163.org/course/HUST-1003636001?from=searchPage目录图形思维的起点——朴素的软光栅从固定到可编程固定到可编程流水线中的三个概念阶段探秘GPU渲染管线着色器编程三角形示例图形思维的起点——朴素的软光栅光栅设备光栅化(图形的扫描转换)从固定到可编程早期的图形编程图形标准的产生固定管线...转载 2021-07-26 12:07:04 · 162 阅读 · 0 评论 -
计算机图形学笔记-基本概念
计算机图形学笔记-基本概念学习网址https://www.icourse163.org/course/HUST-1003636001?from=searchPage目录计算机图形学笔记-基本概念可编程渲染管线初识图形学图形系统浅析扫描方式图形显示子系统结构可编程渲染管线流水线中的三个概念阶段物体渲染的过程:光栅化阶段:初识图形学计算机图形学:研究怎样利用计算机来显示、生成和处理图 形的原理、斱法和技术的一...转载 2021-07-25 18:32:35 · 356 阅读 · 0 评论 -
OpenGL接口的基本实现3[转]
普通三角形//三角形边信息,从y低到高class Ege{public: int _x1; int _y1; int _x2; int _y2; Ege(int x1,int y1,int x2,int y2) { if (y1 < y2) { _x1 = x1; _y1 = y1; _x..转载 2021-08-14 13:42:54 · 108 阅读 · 0 评论 -
Qt OpenGL 参考文章及重要概念[转]
Qt OpenGL FFmpeg参考文章【learn opengl with Qt】https://blog.csdn.net/qq_40946921/category_9969351.html 《Learn OpenGL with Qt——创建窗口》 《Learn OpenGL with Qt——你好,三角形》 《Learn OpenGL with Qt——着色器》 《Learn OpenGL with Qt——纹理》 《qt 使用opengl显示yuv实时视频流》 《Q.转载 2021-05-26 20:05:46 · 245 阅读 · 0 评论 -
OpenGL 学习笔记 - 基本概念
OpenGL 学习笔记- 基本概念参考:https://ke.qq.com/course/427748 学习参考网址: https://learnopengl-cn.github.io/ opengl就是一个大的状态机(上下文),表示当前绘制的状态(光照设置,纹理设置,材质设置) GLFW 生成窗口,将上下文(context)告诉窗口,跨平台 GLAD 在窗口中绘图,支持不同软硬件环境 输入3D坐标,输出2D 像素 图中着色器是可变程的,灰色表示已经写好了,不需要写 VAO原创 2021-05-05 19:11:33 · 187 阅读 · 0 评论 -
OpenGL全流程详细解读 [转]
简介OpenGL(Open Graphics Library)是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令。 OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,去除了许多不必要和性能较低的API接口。 本文介绍的OpenGL版本是基于OpenGLES 3.0的。这也是目前覆盖率最高的O...转载 2021-04-05 13:15:11 · 257 阅读 · 0 评论 -
OpenGL环境搭建 [转]
OpenGL环境搭建 [转]参考原文: OpenGL环境搭建 OpenGL 开发环境配置(Windows) - Visual Studio 2017 + GLFW + GLAD 详细图文教程 目录OpenGL环境搭建 [转]下载GLFW建立测试工程案例下载Glad下载GLFW下载地址:https://www.glfw.org/download.html解压,然后在文件夹里新建一个build文件夹,之后会用使用Cmake 源目录:刚刚下下载解压.转载 2021-03-27 21:45:32 · 374 阅读 · 0 评论