opengl

2024/9/19 22:49:23

GLSL中的std140注意事项

一、关于bool的注意事项 以下是笔者在学习OpenGL相关内容时遇到的问题 struct UniformBufferObject {alignas(16) igm::vec3 viewPos;alignas(4) bool useColor; };这是我在C程序中声明的一个UBO,对应于着色器中的: layout(std140, binding 1) unifo…

Windows原生API抗锯齿

笔者最近在使用windows原生API进行OpenGL项目开发时,遇到了一些抗锯齿相关的问题,在此记录总结以帮助遇到类似问题的同仁。 相信查阅了很多资料的读者都知道,windows想要打开抗锯齿需要用到wglChoosePixelFormatARB函数,这是wind…

LearnOpenGL——延迟渲染学习笔记

延迟渲染学习笔记 一、基本概念二、G-BufferMRT 三、Lighting Pass四、结合延迟渲染和前向渲染五、更多光源 我们之前使用的一直是 前向渲染(正向渲染 Forward Rendering),指的是在场景中根据所有光源照亮一个物体,之后再渲染下一…

鸿蒙应用开发之OpenGL应用和X组件6

前面已经分析怎么样注册X组件的回调函数,然后这些回调函数就可以在X组件合适的时机进行回调,就可以让C++的代码在合适的时间做合适的事情。从前也知道从GetRender函数会创建一个渲染对象,以便在后面进行OpenGL绘制。 现在就来分析一下GetRender函数,它的代码如下: Plugi…

【OpenGL 学习笔记】01 - CLion 配置 CMake 运行初始 demo

环境 CLion, GLFW 代码 使用 GLFW 文档中第一个示例,显示一个用于渲染的窗口。 文件结构 当前源文件在根目录下 // PowerShell 中使用 Tree 命令 ─.idea ├─cmake-build-debug │ ├─.cmake │ │ └─api │ │ └─v1 │ │ ├─quer…

【OpenGL 学习笔记】01 - CLion 配置 CMake 运行初始 demo

环境 CLion, GLFW 代码 使用 GLFW 文档中第一个示例,显示一个用于渲染的窗口。 文件结构 当前源文件在根目录下 // PowerShell 中使用 Tree 命令 ─.idea ├─cmake-build-debug │ ├─.cmake │ │ └─api │ │ └─v1 │ │ ├─quer…

LearnOpenGL - Android OpenGL ES 3.0 使用 FBO 进行离屏渲染

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好,窗口LearnOpenGL 笔记 - 入门 04 你好,三角形OpenGL - 如何理解 VAO 与 VBO 之间的关系LearnOpenGL - Android OpenGL ES 3.0 绘制…

GLSL中的std140注意事项

一、关于bool的注意事项 以下是笔者在学习OpenGL相关内容时遇到的问题 struct UniformBufferObject {alignas(16) igm::vec3 viewPos;alignas(4) bool useColor; };这是我在C程序中声明的一个UBO,对应于着色器中的: layout(std140, binding 1) unifo…

Intel显卡驱动导致Qt opengl 渲染YUV时拉伸窗口内存泄漏

最近在使用QOpenGLWidget做YUV视频渲染,发现在拉伸窗口的时候内存暴涨,如果窗口不动则内存不变。 可以得出结论一定是resizeGL出了问题,但是其实这里代码很简单 glViewport(0, 0, w, h); 还有就是变换矩阵计算,根本没资源建立与释…

glsl shader中实现canvas中的createRadialGradient效果

在网上找了好久,也没有发现有现成用shader去实现canvas radialGradient效果的.大部分都是简单的只有一个中心圆或者通过canvas绘制渐变再作为纹理图像进行贴图,没有类似像canvas有内圆与外圆,两圆心位置不一样,可以用实现类似焦点…

OpenGL/GLUT实践:水面模拟——从单振源到 Gerstner Wave(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果1 简单水面模拟——单振源1.1 水面高度函数1.2 水面建模1.3 openGL 渲染(1) renderSense(2) 其他 1.4 实现效果 2 添加鼠标控制3 添加纹理4 多个振源组合5 Gerstner Wave 模型5.1 原理5.2 具体实现5.2.1 全局变量…

【OpenGL】 理解makeCurrent函数

背景 用QT学校OpenGL绝对可以事半功倍,QT提供了一系列对OpenGL的支持,包括OPenGL窗口类,对OpenGL函数的面向对象的封装等。 总体说明 在Qt框架中,makeCurrent 是QOpenGLContext类的一个方法,它封装了这些平台特定的…

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …

OpenGL(四) 纹理贴图

几何模型&材质&纹理 渲染一个物体需要&#xff1a; 几何模型&#xff1a;决定了物体的形状材质&#xff1a;绝对了当灯光照到上面时的作用效果纹理&#xff1a;决定了物体的外观 纹理对象 纹理有2D的&#xff0c;有3D的。2D图像就是一张图片&#xff0c;3D图像是在…

OpengGL教程(三)---使用VAO和VBO方式绘制三角形

本章参考官方教程&#xff1a;learnopengl-cn VertexShader.glsl #version 330 core layout(location 0) in vec3 position; layout(location 1) in vec3 color; uniform mat4 projection; // 投影矩阵 out vec4 ourColor; void main() {gl_Position projection * vec4(p…

[OpenGL]使用OpenGL绘制三角形

一、简介 本文介绍了如何在linux/win(wsl2)环境下&#xff0c;使用GLFWGLAD实现绘制三角形。 本文内容基本根据LearnOpengGL-入门-你好&#xff0c;三角形整理完成&#xff0c;读者也可以参考LearnOpengGL-入门-你好&#xff0c;三角形自行学习如何使用OpenGL绘制三角形。 按…