Я только начинаю с простого программирования OpenGL/GLSL и ошибаюсь. Я хочу построить структуру для моих данных, которые я использую. Я хотел бы сохранить его части в vec3 или vec4 и т. Д. Но я всегда получаю ошибку vec3/vec2, которая не определена. Что мне здесь не хватает? Помощь была бы оценена. После небольшого примера, где я получаю сообщение об ошибке.Vec3 в OpenGl/Glew/GLSL не определен
#include <Windows.h>
#include <GL\glew.h>
#include <GL\freeglut.h>
#include <iostream>
#include <fstream>
using namespace std;
int windowWidth = 1280;
int windowHeight = 800;
int windowStartX = 100;
int windowStartY = 25;
struct HairData {
vec3 position;
vec2 uv;
};
void render()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Left window
glViewport(0,0,windowWidth/2,windowHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, windowWidth/2, windowHeight, 0);
glScissor(0, 0, windowWidth/2, windowHeight);
// Right window
glViewport(windowWidth/2, 0, windowWidth, windowHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (GLfloat)(windowWidth)/(GLfloat)(windowHeight), 0.1f, 500.0);
glutSwapBuffers();
}
int main(int argc, char* argv[]) {
glutInit(&argc, argv);
glutInitWindowPosition(windowStartX, windowStartY);
glutInitWindowSize(windowWidth, windowHeight);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Simple Hair Program");
glEnable(GL_SCISSOR_TEST);
glutDisplayFunc(render);
glutMainLoop();
return 0;
}
`
Нет таких «стандартных» типов для OpenGL или библиотек GLEW и GLUT. Вам нужно использовать другую библиотеку, такую как [GLM] (http://glm.g-truc.net/0.9.7/index.html) или сами определить эти типы и их операции. –