使用OpenGL绘制一个矩形和一个三角形
软件:VS
语言:C++
库
引入两个库一个是glew和glfw
具体步骤可看此知乎步骤
https://zhuanlan.zhihu.com/p/559251417
部分参考
[]((4条消息) OpenGL——绘制三角形和矩形_Simple J的博客-CSDN博客_opengl绘制矩形代码)
资源文件
这部分内容命名可以随意,但是后缀名一定不能修改!
core.vs
在资源文件中新建一个core.vs文档
#version 330 core
layout(location = 0) in vec3 position;
void main()
{
gl_Position = vec4(position,1.0f);
}
更改gl位置
core.fs
在资源文件中新建一个core.fs文档
#version 330 core
out vec4 FragColor;
void main()
{
FragColor = vec4(1.0f,0.0f,0.0f,1.0f);
}
可以修改图形的颜色
头文件
在头文件中新建命名为Shader.h文件
#pragma once
#include <GL/glew.h>
#include<string>
#include<fstream>
#include<sstream>
#include<iostream>
class Shader {
public:
//GLuint ShaderProgram;
Shader(const char* vertexPath, const char* fragmentPath)
{
ShaderProgram = glCreateProgram();
CompileShaderFromFile(vertexPath, GL_VERTEX_SHADER);
CompileShaderFromFile(fragmentPath, GL_FRAGMENT_SHADER);
glLinkProgram(ShaderProgram);
CheckErrors(ShaderProgram, "PROGRAM", GL_LINK_STATUS);
#ifndef __APPLE__
glValidateProgram(ShaderProgram);
CheckErrors(ShaderProgram, "PROGRAM", GL_VALIDATE_STATUS);
#endif //!__APPLE__
}
~Shader()
{
glDeleteProgram(Shader