glsl着色器学习(十)缩放

news2024/9/26 1:27:40

对二维图形进行缩放,需要用到顶点着色器,顶点着色器经过矩阵变换,会将模型空间最终转换成裁剪空间。下面就来操作矩阵

这里需要用到一个库glMatrix。

首先修改顶点着色器

<script id="vertex-shader-2d" type="x-shader/x-vertex">
      attribute vec4 a_position;
      uniform mat4 u_matrix;

      void main() {

         gl_Position = u_matrix * a_position;
      }
</script>

定义了一个统一变量4x4矩阵,用来接收应用程序传递过来的矩阵数据

获取变量在着色器程序中的位置

 const matrixUniformLocation = gl.getUniformLocation(program, 'u_matrix');

设置矩阵

// 引入mat4
import { mat4 } from './glmatrix/esm/index.js';

const scaleMatrix = mat4.create();
// 缩放矩阵[1,1,1]分别对应X,Y,Z三个分量
mat4.fromScaling(scaleMatrix, [1, 1, 1]);

gl.uniformMatrix4fv(matrixUniformLocation, false, scaleMatrix);

不出意外的话,没啥变化,因为设置的矩阵是[1,1,1],将[1,1,1]改成[2,1,1],会发现图像X轴方向放大了2倍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI大模型】2024 大模型爆发年,这些教程足够你入局AI大模型,搭上行业风口!

如果说 2023 年被称为 AI 元年&#xff0c;那么 2024 年就正式步入了爆发年&#xff01;几乎身边的每个程序员/每个产品经理都在思考&#xff1a;如何入局AI大模型&#xff1f;怎样才能成为这只风口上的猪&#xff1f; 作为一个普通人&#xff0c;应该如何入局&#xff1f;怎样…

多面体随旋转发出不同色彩效果

多面体随旋转发出不同色彩效果 下载地址&#xff1a;https://download.csdn.net/download/Allen7474/89713552 效果图&#xff1a; 实现细节&#xff1a; >>阶段1&#xff1a; >>阶段2&#xff1a; >>阶段3&#xff1a;

微软Azure OpenAI 集成矢量化

Azure AI Search中已全面支持集成矢量化与 Azure OpenAI 嵌入。 这标志着我们持续致力于简化和加快检索增强生成 (RAG)和传统应用程序的数据准备和索引创建的重要里程碑。 集成矢量化简化了 RAG 流程 参考链接&#xff1a;微软Azure OpenAI 免费试用申请 为什么矢量化很重要…

VBA中类的解读及应用第十五讲:让文本框在激活时改变颜色(上)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

css设置让整个盒子的内容渐变透明(非颜色渐变透明)

css设置让整个盒子的内容渐变透明&#xff08;非颜色渐变透明&#xff09; 效果核心css代码 效果 核心css代码 /* 设置蒙版上下左右渐变显示 */ mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 1…

使用命令行窗口新建一个Java文件,输出HelloWorld

进入桌面 cd desktop在桌面新建文件夹 mkdir zwt进入文件夹&#xff0c;新建.Java文件 cd zwt echo. > helloWorld.java使用记事本打开文件编写代码 notepad HelloWorld.java此时电脑就会自动打开文件&#xff0c;直接编写代码 public class HelloWorld(){public stati…

北京君正低功耗MCU芯片应用在柯氏音法电子血压计

汉王科技&#xff0c;作为一家在中关村有着30年品牌历史的人工智能企业&#xff0c;始终致力于利用先进技术提升人们的生活品质。近日&#xff0c;继血压计KSY-FF660上市掀起血压测量新标准后&#xff0c;汉王科技再次突破行业创新&#xff0c;推出一体式柯氏音法电子血压计FY7…

高速信号真的可以参考电源层吗?

信号电流必须具有完整的环路&#xff0c;才可传递信息。完整的环路即信号由驱动器发出&#xff0c;经导线传输至接收器&#xff0c;然后再通过某种途径由接收器返回驱动器&#xff0c;形成闭环回路。   高速信号的参考平面一般为信号GND平面&#xff0c;是否可以参考电源平面…

使用iframe在Vue中实现ChatGPT嵌入及微前端解决方案

更多内容个人网站&#xff1a;孔乙己大叔 在现代Web开发中&#xff0c;iframe&#xff08;Inline Frame&#xff09;是一个强大的工具&#xff0c;它允许开发者在一个HTML文档中嵌入另一个HTML文档。这种技术不仅可用于简单的网页内容嵌入&#xff0c;还广泛应用于复杂的应用集…

C++基础之杂项

目录 思维导图&#xff1a; 学习内容&#xff1a; 1. Lambda表达式 1.1 基本概念 1.2 定义格式 1.3 常用情况 二、异常处理 2.1 什么是异常处理 2.2 何时使用异常处理 2.3 异常处理的格式 2.4 异常实例 2.5 构造和析构中的异常 2.6 系统提供异常类 三、C中文件…

Arduino基础入门学习——使用BH1750(GY-302)光照强度传感器获取光照强度

使用BH1750&#xff08;GY-302&#xff09;光照强度传感器获取光照强度 一、前言二、BH1750&#xff08;GY-302&#xff09;介绍三、准备工作四、程序代码五、运行结果六、结束语 一、前言 话不多说&#xff0c;先给大家来一句鸡汤&#xff08;鸡汤来咯&#xff01;&#xff09…

人工智能中常用的python模块

一&#xff1a;pypinyin 作用&#xff1a;汉字转拼音 pip3 install pypinyin使用 from pypinyin import lazy\_pinyin,TONE2,TONEres \ lazy\_pinyin(先帝创业未半) print(res) #\[xian, di, chuang, ye, wei, ban\] res \ lazy\_pinyin(先帝创业未半,styleTONE2) print(re…

什么是网络威胁情报?

目录 网络威胁情报定义 网络威胁情报的优势 常见攻击指标(IOC) 数据与情报 谁从威胁情报中受益&#xff1f; 我的组织是否具备威胁情报能力&#xff1f; 全面网络威胁情报的价值 提供威胁情报的三种方式 战略威胁情报 战术威胁情报 运营威胁情报 威胁情报解决方案中…

【主机入侵检测】开源安全平台Wazuh之Wazuh Server

引言 Wazuh是一个开源的、免费的企业级安全监控解决方案&#xff0c;专注于威胁检测、完整性监控、事件响应和合规性。它由部署在受监控系统的端点安全代理和管理服务器组成&#xff0c;服务器收集并分析代理收集的数据。Wazuh支持多平台&#xff0c;包括Windows、Linux、macOS…

Qt (14)【Qt窗口 —— 文件对话框 QFileDialog】

阅读导航 引言一、文件对话框 QFileDialog简介二、基本用法1. 打开文件&#xff08;一次只能打开一个文件&#xff09;2. 打开多个文件&#xff08;一次可以打开多个文件&#xff09;3. 保存文件⭕参数说明 三、使用示例四、注意事项 引言 在之前的文章中&#xff0c;我们学习…

【Java】封装

文章目录 前言一、封装是什么&#xff1f;总结 前言 了解封装&#xff0c;运用起来。 一、封装是什么&#xff1f; 封装&#xff1a;就是隐藏对象的属性和实现细节&#xff0c;仅对外提供公共访问方式。 专业术语有点难以理解&#xff0c;但是可以用通俗易懂的例子来理解&am…

小皮面板webman ai项目本地启动教程

1.前置条件 下载小皮面板 下载后&#xff0c;双击安装&#xff0c;一路next&#xff08;下一步&#xff09;&#xff0c;无需更改配置。 2.安装必须软件 在小皮面板的软件管理页&#xff0c;安装编号①②③④下面四个软件。 3.启动本地服务 进入到小皮面板的首页&#x…

机器学习引领未来:赋能精准高效的图像识别技术革新

图像识别技术近年来取得了显著进展,深刻地改变了各行各业。机器学习,特别是深度学习的突破,推动了这一领域的技术革新。本文将深入探讨机器学习如何赋能图像识别技术,从基础理论到前沿进展,再到实际应用与挑战展望,为您全面呈现这一领域的最新动态和未来趋势。 1. 引言 …

线性表之双向链表

1. 双向链表的结构 对于单向链表和单向循环链表而言有一个共同的特点&#xff0c;就是链表的每个节点都只有一个指向后继节点的指针&#xff0c;通过这个指针我们就可以从前往后完成对链表的遍历。但是开弓没有回头箭&#xff0c;遍历到尾节点之后再想要回到头结点&#xff0c…

电脑实时监控软件都有哪些,哪款好用?五款热门软件盘点!(珍藏篇)

"洞察秋毫明察见&#xff0c;安全守护在于心。" 在数字化浪潮汹涌的今天&#xff0c;电脑实时监控软件如同古代的明镜高悬&#xff0c;不仅照亮了企业管理的每一个角落&#xff0c;更以科技之力&#xff0c;守护着数据安全与业务高效运转的底线。 本文将带您领略八款…