math_3d.h with opengl

math_3d.h with opengl

本文关键字:with opengl 3d math      更新时间:2023-10-16

所以,我正在阅读 http://ogldev.atspace.co.uk/www/tutorial02/tutorial02.html,它说我需要math_3d.h用于Vector3f。

我试图包括它:

#include <stdio.h>
#include "GL/glew.h"
#include "GL/gl.h"
#include "GL/freeglut.h"
#include "math_3d.h"
void render() {
  glClearColor(0.0, 0.0, 0.0, 0.0);
  glClear(GL_COLOR_BUFFER_BIT);
  glutSwapBuffers();
  glFlush();
}
int main(int argc, char** argv) {
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
  glutInitWindowSize(800, 600);
  glutInitWindowPosition(100, 100);
  glutCreateWindow("OpenGL - First window demo");
  /* Set  */
  GLenum res = glewInit();
  if (res != GLEW_OK) {
    fprintf(stderr, "Error: '%s'n", glewGetErrorString(res));
    return 1;
  }
  Vector3f vertices[1];
  glutDisplayFunc(render);
  glutMainLoop();
  return 0;
}

G++说"main.cpp:7:21:致命错误:math_3d.h:没有这样的文件或目录"。我为它寻找了一个 Arch Linux 软件包,但我一无所获。

我在这里找到了文件:

http://ogldev.googlecode.com/svn-history/r75/trunk/tutorial36/math_3d.h

我是否应该下载该文件并将其放在我的项目目录中,或者是否有更干净的方法?

另外,如果我确实将其包含在我的目录中,如何将其添加到 g++ 行中?

gcc main.cpp -o main -lGLEW -lglut -lGL

我应该下载该文件并将其放在我的项目目录中吗?

是的

在您的目录中下载文件就足够了。不需要将其添加到 gcc 命令行。

是的,您必须下载它,如果您需要在多个项目中使用此库,则可以将其保存在/usr/include 中并将其用作带有 #include <math_3d.h> 的 C 库,避免将其复制到每个项目的目录中。