opengl学习6

news2024/12/27 0:08:28

理解glVertexAttribPointer()函数 



OpenGL glVertexAttribPointer()函数解析-CSDN博客

难理解的是最后一个参数。

这个参数指明了,顶点属性的数据从哪里获取

# 如果是(void*) 0,则表示数据从已绑定的VBO中获取,从第1个元素(0号)开始

# 如果是(void*) myarray+3 ,则表示数据从C++数组myarray中获取,从第4个元素(3号)开始

此外,如果选择数据源为C++数组,那么绘制时,就要记得解绑VBO,否则会发生冲突

 关于纹理

在一个着色器中有多个“纹理单元”,其中,0号纹理单元默认激活

得到一个完整的纹理缓冲区的步骤为:

1.创建纹理缓冲

2.绑定纹理缓冲

3.载入图片的字节流

4.解绑纹理缓冲

加载纹理缓冲区的步骤为:

1.激活n号纹理单元

2.绑定纹理缓冲(会绑到n号纹理单元上)

ps:0号纹理单元是默认激活的,所以直接绑定纹理缓冲时,会绑到0号单元上。

在片段着色器中使用纹理

定义sampler2D 类型的uniform变量:uniform sampler2D ourTexture2;

指定该sampler2D与哪一个纹理单元对应: glUniform1i( 变量ourTexture2的位置,  纹理单元编号)

获取纹理颜色:color = texture(ourTexture2, UV坐标)

对各种解绑,绑定行为的理解

那么VAO存在的意义是什么?

虽然解绑后“顶点缓冲区”内容不会改变,但是缓冲区的"排列方式"没有记录下来(glVertexAttribPointer)

而VAO = 顶点缓冲区+排列方式

VAO本身也算是一个缓冲区~

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

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

相关文章

Flutter Web首次加载时添加动画

前言 现在web上线后首次加载会很慢&#xff0c;要5秒以上&#xff0c;并且在加载的过程中界面是白屏。因此想在白屏的时候放一个加载动画 实现步骤 1.添加以下<style>标签内容到<head>标签中 <style>.loading {display: flex;justify-content: center;ali…

使用Ubuntu耳机输出正弦波信号

最近有一个项目想使用喇叭发出一个标准的正弦波测试信号&#xff0c;故记录下操作过程 sudo apt install libasound2-dev 否则有可能会报错&#xff1a; alsaaudio.c:28:10: fatal error: alsa/asoundlib.h: No such file or directory 安装pyalsaaudio&#xff1a; pip …

《 C++ 修炼全景指南:六 》深入探索 C++ 标准库中的 stack 与 queue 容器适配器

1、引言 1.1、容器适配器的概念与应用 容器适配器&#xff08;Container Adapters&#xff09;是 C 标准库提供的一种特殊容器&#xff0c;它不是一种独立的容器&#xff0c;而是对其他标准容器的封装&#xff0c;用来实现特定的数据结构如栈&#xff08;stack&#xff09;和…

【成品论文】2024年华为杯研赛D题成品论文获取入口

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击文末的卡片&#xff0c;那是获取资料的入口! 现分享2023年华为杯研赛D题成品论文&#xff08;部分&#xff09;&#xff0c;供大家学习&#xff1a; 题 目&#xff1a; ____区域双碳目标与路径规划研究 …

MySQL之安装与基础知识

目录 一&#xff1a;在centos7上安装MySQL数据库 1.卸载默认存在的环境 2.配置mysql的yum源 3. 安装MySQL 4.登录mysql 5.设置MySQL的配置文件 二&#xff1a;MySQL基础知识 1.什么是数据库 2.主流数据库 3.服务器&#xff0c;数据库&#xff0c;表关系及使用案例 4…

function uuid_generate_v4()不存在

说明&#xff1a;记录一次使用postgresql函数错误&#xff0c;如下&#xff1a; 项目中的一个SQL用到了uuid_generate_v4()函数生成uuid作为记录的主键&#xff0c;结果报上面这个错误&#xff1b; 分析&排查 首先&#xff0c;我连接上了数据库&#xff0c;在数据库里敲下…

《论网络安全体系设计》写作框架,软考高级系统架构设计师

论文真题 随着社会信息化的普及&#xff0c;计算机网络已经在各行各业得到了广泛的应用。目前&#xff0c;绝大多数业务处理几乎完全依赖计算机和网络执行&#xff0c;各种重要数据如政府文件、工资档案、财务账目和人事档案等均依赖计算机和网络进行存储与传输。另一方面&…

ThreeJs创建圆环

ThreeJs除了创建基本的长方体&#xff0c;球形&#xff0c;圆柱等几何体&#xff0c;也可以创建一些特殊的几何体&#xff0c;比如圆环&#xff0c;多边体&#xff0c;这节就来讲怎么用Threejs绘制出圆环。首先依然是要创建出基础的组件&#xff0c;包括场景&#xff0c;相机&a…

如何理解Configurational entropy

Configurational entropy 是热力学和统计力学中的一个重要概念&#xff0c;它描述的是系统中由于其微观状态排列&#xff08;即配置&#xff09;导致的不确定性或混乱程度。不同于热力学中的热熵&#xff08;thermal entropy&#xff09;&#xff0c;它特指那些与系统中的粒子、…

8.6小波变换(Wavelet Transform)边缘检测

实验原理 由于OpenCV本身并不直接支持小波变换&#xff08;Wavelet Transform&#xff09;&#xff0c;我们需要借助一些技巧来实现它。一种常见的方法是利用离散余弦变换&#xff08;DCT&#xff09;或离散傅立叶变换&#xff08;DFT&#xff09;来近似实现小波变换的功能。但…

Spring的核心思想

目录 一、Spring要解决的问题 二、Spring的核心结构 三、核心思想 3.1.1 什么是IOC 3.1.2 IOC解决的问题&#xff1a;耦合 3.1.3 IOC和DI的区别 3.2.1 什么是AOP 3.2.2 AOP解决的问题&#xff1a;耦合 3.2.3 为什么叫做面向切面编程 一、Spring要解决的问题 问题1&am…

道路检测-目标检测数据集(包括VOC格式、YOLO格式)

道路检测-目标检测数据集&#xff08;包括VOC格式、YOLO格式&#xff09; 数据集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1nDwTmZxH_BQrVTj9MzUgDg?pwd3zh7 提取码&#xff1a;3zh7 数据集信息介绍&#xff1a; 共有 3321张图像和一一对应的标注文件 标注文…

Excel 国产化替换新方案

前言 在当前数字化转型和信创&#xff08;信息技术应用创新&#xff09;战略背景下&#xff0c;企业对于安全性、自主可控性和高效办公工具的需求日益增加。作为一款国产自主研发的高性能表格控件&#xff0c;SpreadJS 正成为替换 Excel 的最佳选择。它不仅全面支持国产化认证…

衡石分析平台使用手册-通用配置文档

配置文件​ 配置文件中存放 HENGSHI SENSE 的配置参数&#xff0c;可以通过修改配置文件来改变 HENGSHI SENSE 的服务方式。 配置文件说明​ 配置文件存放在 conf 路径下&#xff0c;包含 hengshi-sense-env.sh 和 engine-segment-hosts 两个文件。其中 engine-segment-host…

Qt与VS打包命令

一 QT 将程序编译生成的可执行文件&#xff08;.exe&#xff09;放到一个干净的文件夹。找到QT安装目录&#xff0c;进入编译版本的bin目录&#xff0c;找到windeployqt.exe&#xff0c;在文件访问路径栏的最前边&#xff0c;添加“cmd ”进入控制台。控制台命令&#xff1a; …

K8s 简介以及详细部署步骤

Kubernetes 简介 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个阶段&#xff1a; 1、传统部署 互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参与 缺点&#xff1a;不能为应用程序定义资源…

【Java面试】第七天

&#x1f31f;个人主页&#xff1a;时间会证明一切. 目录 有三个线程T1,T2,T3如何保证顺序执行&#xff1f;依次执行start方法使用join使用CountDownLatch使用线程池使用CompletableFuture Spring Bean的生命周期是怎么样的&#xff1f;Autowired和Resource的关系&#xff1f;相…

使用Python生成多种不同类型的Excel图表

目录 一、使用工具 二、生成Excel图表的基本步骤 三、使用Python创建Excel图表 柱形图饼图折线图条形图散点图面积图组合图瀑布图树形图箱线图旭日图漏斗图直方图不使用工作表数据生成图表 四、总结 Excel图表是数据可视化的重要工具&#xff0c;它通过直观的方式将数字信…

Linux环境

Linux环境 导语程序参数getoptgetopt_long 环境变量getenv/putenvenviron 时间和日期timedifftime和gmtimectime&asctimestrftime/strptime 临时文件tmpnamtmpfile 获取信息用户主机日志 资源和限制总结参考文献 导语 任何程序都是在一定的环境下运行的&#xff0c;通常这…

分布式事务学习笔记(二)Seata架构、TC服务器部署、微服务集成Seata

文章目录 前言2 Seata2.1 Seata的架构2.2 部署TC服务1&#xff09;下载安装包2&#xff09;解压3&#xff09;修改配置文件4&#xff09;在Nacos中添加TC服务配置5&#xff09;创建数据库表6&#xff09;启动TC服务7&#xff09;查看TC服务 2.3 微服务集成Seata2.3.1 引入依赖2…