小编use*_*520的帖子

理解glVertexAttribPointer?

我是Open GL的新手,来到这里清除我的困惑.我感谢任何帮助!

private int vbo;
private int ibo;

vbo = glGenBuffers();
ibo = glGenBuffers();

glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, Util.createFlippedBuffer(vertices), GL_STATIC_DRAW);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, Util.createFlippedBuffer(indices), GL_STATIC_DRAW);




glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
//glEnableVertexAttribArray(2);

//glBindBuffer(GL_ARRAY_BUFFER, vbo);
glVertexAttribPointer(0, 3, GL_FLOAT, false, Vertex.SIZE * 4, 0);
glVertexAttribPointer(1, 2, GL_FLOAT, false, Vertex.SIZE * 4, 12);
//glVertexAttribPointer(2, 3, GL_FLOAT, false, Vertex.SIZE * 4, 20);

//glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo);
glDrawElements(GL_TRIANGLES, size, GL_UNSIGNED_INT, 0);

glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
//glDisableVertexAttribArray(2);
Run Code Online (Sandbox Code Playgroud)

顶点着色器代码看起来像

#version 330

layout (location = 0) in vec3 position;
layout (location = 1) in vec2 texCoord;

out …
Run Code Online (Sandbox Code Playgroud)

opengl vbo

8
推荐指数
1
解决办法
2万
查看次数

为什么索引缓冲区对象没有 glVertexAttribPointer ?

我来这里是为了向专家们澄清一些关于opengl的困惑。我感谢您的帮助!

private int vbo;
private int ibo;

vbo = glGenBuffers();
ibo = glGenBuffers();

glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, Util.createFlippedBuffer(vertices), GL_STATIC_DRAW);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, Util.createFlippedBuffer(indices), GL_STATIC_DRAW);


glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);

glBindBuffer(GL_ARRAY_BUFFER, vbo);

glVertexAttribPointer(0, 3, GL_FLOAT, false, Vertex.SIZE * 4, 0);
glVertexAttribPointer(1, 2, GL_FLOAT, false, Vertex.SIZE * 4, 12);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo);


glDrawElements(GL_TRIANGLES, size, GL_UNSIGNED_INT, 0);

glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
Run Code Online (Sandbox Code Playgroud)

顶点着色器代码如下所示

#version 330

layout (location = 0) in vec3 position;
layout (location = 1) in vec2 texCoord;

out vec2 texCoord0;

uniform mat4 transform;

void main()
{
    gl_Position = transform …
Run Code Online (Sandbox Code Playgroud)

opengl 3d vbo opengl-3

3
推荐指数
1
解决办法
1535
查看次数

为什么flash会消耗不同的内存量来创建数组并创建一个包含数组的类?

我正在尝试查找AS3中有多少不同的数据结构消耗内存.

我发现创建一个简单的数组对象消耗76个字节:

var arr:Array = new Array();
trace(getSize(arr));
Run Code Online (Sandbox Code Playgroud)

然而,创建一个包含数组的简单类显示了20个字节:

var t:Testing2 = new Testing2();
trace(getSize(t));
Run Code Online (Sandbox Code Playgroud)

这是这个类的样子:

package {
    import flash.sampler.StackFrame;
    import flash.display.Bitmap;
    import flash.display.Sprite;

    public class Testing2 {

        private var arr:Array;

        public function Testing2() {
            // constructor code
            arr = new Array();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我很困惑.为什么会这样?

memory flash memory-management actionscript-3

2
推荐指数
1
解决办法
62
查看次数

标签 统计

opengl ×2

vbo ×2

3d ×1

actionscript-3 ×1

flash ×1

memory ×1

memory-management ×1

opengl-3 ×1