API翻译:glBufferData

本文详细介绍了OpenGL函数glBufferData的用法及参数说明。该函数用于创建和初始化缓冲对象的数据存储,并根据预期的使用模式进行优化,以提高图形渲染性能。

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

Name

glBufferData
创建和初始化一个buffer object的数据存储。

C Specification


void glBufferData( GLenum target,
GLsizeiptr size,
const GLvoid * data,
GLenum usage);

Parameters

target
指定target buffer object。必须是GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER常量。

size
指定buffer object的新data store的大小。

data
指定即将被拷贝进data store并初始化的数据的指针,或者null,如果没有data要拷贝。

usage
指定你希望data store使用的模式。必须是GL_STREAM_DRAW, GL_STATIC_DRAW, or GL_DYNAMIC_DRAW.

Description

1.glBufferData为绑定在target上的buffer object currently创建了一个新的data store。任何之前存在的data store被删除。新创建的data store将被指定size和usage.如果data参数为NULL,data store将被这个pointer指向的data初始化。

2.usage参数提示了在GL实现中一个a buffer object’s data store将如何被访问。这使GL做出更明智的可能显著提升性能的选择。然而,如果没有,这将限制data store的准确的usage。usage可以被拆成两部分:一,被访问的频率(修改或使用),二,访问的性质。访问的频率是如下几个之一:
STREAM
该data store内容将被修改一次,且被使用的次数也很少;

STATIC
该data store内容将被修改一次,但会被多次使用;

DYNAMIC
该data store内容将被不断修改,且被多次使用;

访问的性质如下:
DRAW
该data store内容将被应用程序修改,且被当做GL渲染和图像设置命令的源数据。

Notes

1.如果data为null,指定了size大小的data store仍然会被创建,但它的内容是未初始化的,因而也是未定义的。

2.客户端必须针对客户端平台始终保持数据元素的对齐,并且一个基本的要求是,一个offset必须是N的平方?(Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising
NN.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值