我是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的困惑。我感谢您的帮助!
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) 我正在尝试查找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)
我很困惑.为什么会这样?