随笔分类 -  qt / open-GLSL

1
摘要:GLSL(OpenGL着色语言OpenGL Shading Language)语法跟C语言很类似,在可编程管线中我们必须要纯手写顶点和片源着色器,这里就要求必须使用GLSL,自行编译,链接,使用,本片文章介绍了GLSL基础语法。 GLSL中提供了许多内建的函数,来方便我们的使用。可以在官方手册中查找 阅读全文
posted @ 2023-03-12 08:46 imxiangzi 阅读(297) 评论(0) 推荐(0) 编辑
摘要:前言 期待您移步上篇:OpenGL笔记十三:GLSL加载纹理颠倒六种方案 概述 GLSL 全称 OpenGL Shading Language,是用来在 OpenGL 中着色编程的语言,即开发人员写的自定义程序代码。是执行在 GPU上的,代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程性 阅读全文
posted @ 2023-03-12 08:46 imxiangzi 阅读(185) 评论(0) 推荐(0) 编辑
摘要:我的 OpenGL 专题学习目录,希望和大家一起学习交流进步! OpenGL学习(一)-- 术语了解 OpenGL学习(二)-- Xcode 搭建 OpenGL 环境 OpenGL学习(三)-- OpenGL 基础渲染 OpenGL学习(四)-- 正面&背面剔除和深度测试 OpenGL学习(五)-- 阅读全文
posted @ 2023-03-12 08:45 imxiangzi 阅读(965) 评论(0) 推荐(0) 编辑
摘要:这一小节并不会向你展示非常先进非常酷的新特性,也不会对场景的视觉质量有显著的提高。但是,这一节会或多或少涉及GLSL的一些有趣的地方以及一些很棒的技巧,它们可能在今后会帮助到你。简单来说,它们就是在组合使用OpenGL和GLSL创建程序时的一些最好要知道的东西,和一些会让你生活更加轻松的特性。 我们 阅读全文
posted @ 2023-03-12 08:44 imxiangzi 阅读(68) 评论(0) 推荐(0) 编辑
摘要:目录 GLSL简介 GLSL的内建变量 顶点着色器变量 gl_PointSize gl_VertexID 片段着色器变量 gl_FragCoord gl_FragDepth 参考网站:LearnOpenGL 参考书籍:OpenGL编程指南第九版 GLSL简介OpenGL着色语言(OpenGL Sha 阅读全文
posted @ 2023-03-12 08:43 imxiangzi 阅读(303) 评论(0) 推荐(0) 编辑
摘要:前言# 经过之前一段时间的学习(渲染管线简介)我们已经知道了着色器(Shader)是运行在GPU上的程序,这些小程序为图形渲染管线的某个特定部分而运行,着色器只是一种把输入转化为输出的程序,着色器也是一种非常独立的程序,因为它们之间不能相互通信,它们之间唯一的沟通只有通过输入和输出 之前我们简要地触 阅读全文
posted @ 2023-03-12 08:42 imxiangzi 阅读(376) 评论(0) 推荐(0) 编辑
摘要:GLSL的Hello World 这一节中包含一个最基本的shader,它提供如下功能:顶点变换然后使用单一的颜色渲染图元。 顶点shader 前面已经说过,顶点shader负责完成顶点变换。这里将按照固定功能的方程完成顶点变换。 固定功能流水线中一个顶点通过模型视图矩阵以及投影矩阵进行变换,使用如 阅读全文
posted @ 2023-03-11 22:41 imxiangzi 阅读(67) 评论(0) 推荐(0) 编辑
摘要:WebGL着色器GLSL矩阵mat本文是WebGL教程(电子书)的2.5节内容 着色器语言中通过关键字mat2、mat3、mat4分别声明一个2x2矩阵、3x3矩阵、4x4矩阵,通过内置函数mat2()、mat3()、mat4()分别创建一个2x2矩阵、3x3矩阵、4x4矩阵。 关键字 数据类型ma 阅读全文
posted @ 2023-03-11 22:40 imxiangzi 阅读(217) 评论(0) 推荐(0) 编辑
摘要:1、变量类型 基础类型:bool,int,uint,float,double 向量类型:vecN,bvecN,ivecN,uvecN,dvecN N表示向量维数(N=1,2,3,4)。 含前缀b为bool向量,i为int向量,u为uint向量,d为double向量,不含前缀为float向量。 可以通 阅读全文
posted @ 2023-03-11 22:35 imxiangzi 阅读(134) 评论(0) 推荐(0) 编辑
摘要:在上一篇文章中我们初步了解了 GLSL ES 的基本语法,那么本篇文章就和大家一起学习 GLSL ES 的数据类型。 Let’s go!!! 上一篇:《Shader 入门:GLSL ES(简介和基本语法)》 在本系列文章中主要针对 GLSL ES 3.0 进行讲解 正文 数据类型 标量(Scalar 阅读全文
posted @ 2023-03-11 11:12 imxiangzi 阅读(198) 评论(0) 推荐(0) 编辑
摘要:基本类型: 类型说明 void 空类型,即不返回任何值 bool 布尔类型 true,false int 带符号的整数 signed integer float 带符号的浮点数 floating scalar vec2, vec3, vec4 n维浮点数向量 n-component floating 阅读全文
posted @ 2023-03-10 23:21 imxiangzi 阅读(173) 评论(0) 推荐(0) 编辑
摘要:从零开始学习openGL与GLSL(没有计算机图像学基础),开始确实挺费劲,网上的资料虽然多,但不系统,例子也不全,openGL还好(这里指的是v2.0之前的版本,使用glBegin(), glEnd()方式绘制),完整的例子比较多,而GLSL的例子相对少不少,中间走了不少弯路。下面说一下个人的一些 阅读全文
posted @ 2023-03-10 17:47 imxiangzi 阅读(395) 评论(0) 推荐(0) 编辑
摘要:权威官方文档:https://www.opengl.org/documentation/glsl/ 权威民间金典入门教程:http://blog.csdn.net/racehorse 一个详细完整的GLSL代码:http://www.ituring.com.cn/article/851 GLSL简介 阅读全文
posted @ 2023-03-10 17:46 imxiangzi 阅读(122) 评论(0) 推荐(0) 编辑
摘要:着色器语言和C语言一样,通过一个表示特定数据类型的关键词声明一个变量,比如int num;通过int关键字声明一个整数型变量num,不过着色器语言还提供了三个关键字attribute、uniform和varying用来声明特定用途的变量。 attribute和uniform关键字的目的主要是为了ja 阅读全文
posted @ 2023-03-10 17:02 imxiangzi 阅读(322) 评论(0) 推荐(0) 编辑
摘要:上节在绘制三角形的时候,简单讲解了一些着色器,GLSL 的相关概念,可能看的云里雾里的。不要担心,在本节中,我将详细讲解着色语言 GL Shader Language(GLSL)的一些基本的概念。 PS:无特殊说明,文中的 GLSL 均指 OpenGL ES 2.0 的着色语言。 概览 OpenGL 阅读全文
posted @ 2023-03-10 13:45 imxiangzi 阅读(975) 评论(0) 推荐(0) 编辑
摘要:矩阵:矩阵的初始化: 可以用向量初始化,或单个值指定,但是OGL是列主序矩阵,所以先填充的是第一 列。mat3 m =mat3 (1.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.0, 1.0);vec3 colum1 = (1.0, 0.0, 0.0);vec3 colum 阅读全文
posted @ 2023-03-10 13:39 imxiangzi 阅读(58) 评论(0) 推荐(0) 编辑
摘要:前言了解到这本书,是源于这篇文章。https://zhuanlan.zhihu.com/p/95943444加上最近恰好也想加深下对shader的理解,干脆先挖个坑,记录下后面读这本书的笔记。 一.环境搭建首先是练习环境的搭建,先前刚搭建好了 vscode 练习glsl的相关环境。VSCode + 阅读全文
posted @ 2023-03-10 11:05 imxiangzi 阅读(246) 评论(0) 推荐(0) 编辑
摘要:这是GLSL shader学习系列的第二篇文章,本文中我们将会学习如何使用shader绘制一个圆形。 引子上一篇文章的内容比较简单易懂,由于gl_FragCoord能够表示每个像素点在画布中的坐标,因此很容易就能通过归一化得到连续渐变的效果。那么,如何使用着色器画出用明显边界感的圆形呢?这里需要使用 阅读全文
posted @ 2023-03-08 11:45 imxiangzi 阅读(189) 评论(0) 推荐(0) 编辑
摘要:这是GLSL shader系列第一篇文章,本文学习目标: 安装编辑工具编写hello world程序安装插件我使用VSCode编写shader代码,在VSCode上有两个好用的插件需要先装一下: Shader languages support for VS Code glsl-canvas:主要用 阅读全文
posted @ 2023-03-08 11:19 imxiangzi 阅读(205) 评论(0) 推荐(0) 编辑
摘要:什么是Shader Language Shader Language的发展方向是设计出在便携性方面可以和C++、Java等相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法效率”。 Shader Language目前主要有3种语言: 基 阅读全文
posted @ 2023-03-08 10:48 imxiangzi 阅读(415) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示