繁体   English   中英

OpenGL Redbook示例第3章中的错误

[英]Error in OpenGL Redbook example, Chapter 3

我阅读了OpenGL阅读书第8版编辑器。 但是我无法从第3章“绘图命令示例”中创建示例。 在示例中,作者使用了自己的库vmath.h 但这不起作用。 他们忘记了添加到库函数“ vmath::translation(GLfloat, GLfloat, GLfloat); ”,尽管使用了它。 作者使用了自己的库“ vapp.h ”,这使我感到困惑。 有很多宏,通过哪个宏定义了类。 我真的很困惑 我使用线性代数的“ Eigen”库代替了它们的库。

这是我在GitHub上的代码

我编译并运行了该程序。 这行得通。 但是我看到一个黑色的窗口,但是我应该看到一个四个三角形。 我做错了什么? PS I通过用于“矩阵”和“顶点”的“本征库”重新编写了作者的程序。 我只看到黑屏。 为什么?! 这是GitHub上的代码,我有两个着色器:
顶点着色器:

#version 400 core

uniform mat4 model_matrix;
uniform mat4 projection_matrix;

layout (location = 0) in vec4 position;
layout (location = 1) in vec4 color;

out vec4 vs_fs_color;

void main(void)
{
    vs_fs_color = color;
    gl_Position = projection_matrix * (model_matrix * position);
}

和片段着色器:

#version 400 core

in vec4 vs_fs_color;

layout (location = 0) out vec4 color;

void main(void)
{
    color = vs_fs_color;
}


我恰好使用了这些着色器。 这是我应该看到的。
这是原始项目(MSVC ++)
这是一个包含文件(包括vapp.hvapp.h

当你设置你的model_matrix ,第二个参数glUniformMatrix4fv应该是1,而不是4。另外,您在使用错误的指数frustum result(2, 0)更改为result(0, 2) ,并对所有其他对执行相同操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM