首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL - GL_LINE_STRIP就像GL_LINE_LOOP

OpenGL - GL_LINE_STRIP就像GL_LINE_LOOP
EN

Stack Overflow用户
提问于 2014-12-09 18:20:41
回答 1查看 1.9K关注 0票数 1

我使用OpenGL 3.3和GLFW。问题是GL_LINE_STRIP和GL_LINE循环给出了相同的结果。

以下是二维坐标的数组:

代码语言:javascript
复制
GLfloat vertices[] = 
    {
     0, 0,
     1, 1,
     1, 2,
     2, 2,
     3, 1,
    };

属性指针:

代码语言:javascript
复制
// Position attribute 2D
    glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(GLfloat), (GLvoid*)0);
    glEnableVertexAttribArray(0);

最后:

代码语言:javascript
复制
glDrawArrays(GL_LINE_STRIP, 0, sizeof(vertices)/4);

顶点着色器:

代码语言:javascript
复制
#version 330 core
layout (location = 0) in vec2 position;
layout (location = 1) in vec3 color;

out vec3 ourColor;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void main()
{
    gl_Position = projection * view * model * vec4(position, 0.0f, 1.0f);
    ourColor = color;
}

碎片着色器:

代码语言:javascript
复制
#version 330 core
in vec3 ourColor;

out vec3 color;

void main()
{
    color = vec3(ourColor);
}

色彩画。是禁用的(线条是黑色和可见的)

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 19:39:02

只有5对浮点数,所以5顶点。数组的总大小是4乘10浮点数,所以是40字节。

你的计算公式,40/4给出10,sizeof(array) / (sizeof(array[0]) * dimensionality)将是正确的方程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27386039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档