openGL 入门4 --- Following the data

博客介绍了OpenGL中缓冲区对象初始化,提到uniform变量与in变量变化频率不同,输入变量随着色器每次执行改变,uniform变量仅在渲染调用间且用户显式设置新值时改变,还给出了OpenGL渲染流水线相关链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Example 1.2. Buffer Object Initialization

void InitializeVertexBuffer()
{
	glGenBuffers(1, &positionBufferObject); // 生成缓存对象,没有分配内存
	glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject); // 绑定对象
	glBufferData(GL_ARRAY_BUFFER, sizeof(vertexPositions), vertexPositions, GL_STATIC_DRAW); //分配GPU内存,拷贝数据
	glBindBuffer(GL_ARRAY_BUFFER, 0); // 解除绑定
}

glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0); // 解析缓存对象的数据格式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Variables defined as uniform do not change at the same frequency as variables defined as in. Input variables change with every execution
of the shader. Uniform variables (called uniforms) change only between executions of rendering calls. And even then, they only change when the user sets them explicitly to a new value.

OpenGL的渲染流水线:
在这里插入图片描述
https://blog.youkuaiyun.com/qq_29523119/article/details/78577246

11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值