#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <stdio.h>
#include <stdbool.h>
void monitor(GLFWwindow* win, int W, int H) {
glViewport(0, 0, W, H);
return;
}
// 输入监听
void Input(GLFWwindow* window) {
// 如果按下ESC按键,如果按下返回GLFW_PRESS 如果没有按下返回GLFW_RELEASE
if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) {
// 关闭窗口
glfwSetWindowShouldClose(window, true);
}
else if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) {
// 使用线框模式绘制
// 参数1 对所有图形使用
// 参数2 使用线条绘制
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
}
else {
// 使用线框模式绘制
// 参数1 对所有图形使用
// 参数2 使用填充绘制
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
}
int main() {
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
GLFWwindow* win = glfwCreateWindow(800, 600, "多个三角形", NULL, NULL);
if (win == NULL) {
printf("创建窗口失败\n");
exit(-1);
}
// 创建上下文
glfwMakeContextCurrent(win);
// 加载opengl函数指针
if (gladLoadGLLoader
使用多个VAO,VBO和着色器程序来绘制两个不同颜色三角形
最新推荐文章于 2025-03-24 19:38:11 发布