酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

#include <bits/stdc++.h> using namespace std; // 窗口尺寸 const unsigned int WIDTH = 800; const unsigned int HEIGHT = 600; // 顶点着色器源码 const char* vertexShaderSource = "#version 330 core\n" "layout (location = 0) in vec3 aPos;\n" "void main()\n" "{\n" " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n" "}\0"; // 片段着色器源码 const char* fragmentShaderSource = "#version 330 core\n" "out vec4 FragColor;\n" "void main()\n" "{\n" " FragColor = vec4(1.0f, 0.5f, 0.2

这段代码实现了一个基本的OpenGL程序,创建了一个窗口并渲染一个彩色三角形。以下是代码分析: 1. 初始化部分正确设置了GLFW和GLEW,使用核心模式OpenGL 3.3 2. 着色器程序创建流程完整,包含顶点和片段着色器 3. 顶点数据设置合理,使用VBO和VAO进行管理 4. 渲染循环结构正确,包含缓冲区交换和事件处理 需要注意的逻辑点: - 缺少着色器编译错误检查,应该添加glGetShaderiv和glGetProgramiv调用验证编译和链接状态 - 窗口创建后应该设置视口大小glViewport(0, 0, WIDTH, HEIGHT) - 没有处理窗口大小改变的回调函数,当窗口大小变化时可能导致渲染异常 [2025-05-25 16:08:38 | AI写代码神器 | 170点数解答]

相关提问