OpenGL环境配置
配置环境 1.打开 VS2019 新建C++项目 2.打开配置属性 设为所有配置,Win32平台 3.基本配置 可使用glfw,以及OpenGL函数(glad)。 C/C++ -> 常...
第一课,OpenGL窗口设置
第一课,opengl窗口设置笔记 1 初始化glfw 设置opengl版本及窗口模式 glfwInit(); glfwWindowHint(); 2 创建窗口 设置为当前线程 window = glfwCreateWindow...
第二课,OpenGL第一个三角形的流程
本篇文章不按照代码的顺序编写,而按照数据的走向流程编辑。 1 顶点输入 GLfloat vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f }; 使用GLfloat数组记录...
第三课,OpenGL的着色器
优化首先将着色器的编译链接进行优化//Shader.h #pragma once #include <glad/glad.h> class Shader{ public: //程序ID unsigned int ID; //构造器读取并构建着色器 Shader(const GLchar*...
第四课,OpenGL的纹理
头文件 #include "stb_image.h" 用于对不同格式图片的读取。 添加纹理坐标数据 纹理坐标为载入纹理的范围位置,即图片的宽高范围都在0~1之间,根据填入的小数来确定纹理...
第五课,OpenGL图像变换
glm 下载&环境配置 OpenGL GLM 环境配置 GLM常用函数及使用 引自 OpenGL矩阵运算——GLM库的使用 头文件 GLM对于矩阵数据类型的定义位于glm/glm.hpp头文件中。 生成变换矩阵的函数位于glm/g...
第六课,OpenGL的3D坐标系统
启动深度测试 glEnable(GL_DEPTH_TEST); 启动3D深度测试,绘制的图形不会因为先后顺序改变。 模型矩阵 glm::mat4 mode = glm::mat4(1.0f); mode = glm::rotate(mode, (float)gl...
OpenGL学习笔记——处理键盘输入
转载自:https://www.cnblogs.com/saltedreed/p/12321314.html 用GLFW处理用户键盘输入有两种方式,一种是使用回调函数,一种是在每一次游戏循环中处理。这两种方法的最大差...
第七课,OpenGL之LookAt函数
观察空间 通过给定摄像机位置,摄像机焦点,摄像机顶部分向量,可得到摄像机的固定位置。 glm::lookAt(cameraPos, cameraFocus, cameraUp); LookAt函数提供了这种计算,...
第七课,OpenGL之摄像机类
类参数 private: glm::vec3 cameraPosi; glm::vec3 cameraFocus; glm::vec3 cameraUp; glm::vec3 dirZ;//正向 glm::vec3 dirX;//右向 glm::vec3 dirY;//上方 定义cameraPosi,cameraFocus,及came...
第七课,OpenGL之glfw回调函数
常用回调函数 按键输入(修饰符也可触发) GLFWkeyfun glfwSetKeyCallback (GLFWwindow *window, GLFWkeyfun callback) void function_name(GLFWwindow* window, int key, int scancode, int acti...
第八课,OpenGL光照之基本光照
冯氏光照模型(Phong Lighting Model) 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会...