第十课,OpenGL光照之贴图-卡核

第十课,OpenGL光照之贴图

光照贴图 光照贴图,及使用纹理代替物体颜色,物体的实际颜色由物体材质和光照决定。 漫反射贴图 使用一张覆盖物体的图像,让我们能够逐片段索引其独立的颜色值。 方式 1 将...
第九课,OpenGL光照之材质-卡核

第九课,OpenGL光照之材质

物体材质 在冯氏模型中,一个物体的材质由:全局光照系数,漫反射光照系数,反射光照系数,反射高光半径系数决定。 分别由:ambient,diffuse࿰...
第八课,OpenGL光照之基本光照-卡核

第八课,OpenGL光照之基本光照

冯氏光照模型(Phong Lighting Model) 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会...
第七课,OpenGL之glfw回调函数-卡核

第七课,OpenGL之glfw回调函数

常用回调函数 按键输入(修饰符也可触发) GLFWkeyfun glfwSetKeyCallback (GLFWwindow *window, GLFWkeyfun callback) void function_name(GLFWwindow* window, int key, int scancode, int acti...
第七课,OpenGL之摄像机类-卡核

第七课,OpenGL之摄像机类

类参数 private: glm::vec3 cameraPosi; glm::vec3 cameraFocus; glm::vec3 cameraUp; glm::vec3 dirZ;//正向 glm::vec3 dirX;//右向 glm::vec3 dirY;//上方 定义cameraPosi,cameraFocus,及came...
第七课,OpenGL之LookAt函数-卡核

第七课,OpenGL之LookAt函数

观察空间 通过给定摄像机位置,摄像机焦点,摄像机顶部分向量,可得到摄像机的固定位置。 glm::lookAt(cameraPos, cameraFocus, cameraUp); LookAt函数提供了这种计算,...
OpenGL学习笔记——处理键盘输入-卡核

OpenGL学习笔记——处理键盘输入

转载自:https://www.cnblogs.com/saltedreed/p/12321314.html 用GLFW处理用户键盘输入有两种方式,一种是使用回调函数,一种是在每一次游戏循环中处理。这两种方法的最大差...
第六课,OpenGL的3D坐标系统-卡核

第六课,OpenGL的3D坐标系统

启动深度测试 glEnable(GL_DEPTH_TEST); 启动3D深度测试,绘制的图形不会因为先后顺序改变。 模型矩阵 glm::mat4 mode = glm::mat4(1.0f); mode = glm::rotate(mode, (float)gl...
第五课,OpenGL图像变换-卡核

第五课,OpenGL图像变换

glm 下载&环境配置 OpenGL GLM 环境配置 GLM常用函数及使用 引自 OpenGL矩阵运算——GLM库的使用 头文件 GLM对于矩阵数据类型的定义位于glm/glm.hpp头文件中。 生成变换矩阵的函数位于glm/g...
第四课,OpenGL的纹理-卡核

第四课,OpenGL的纹理

头文件 #include "stb_image.h" 用于对不同格式图片的读取。 添加纹理坐标数据 纹理坐标为载入纹理的范围位置,即图片的宽高范围都在0~1之间,根据填入的小数来确定纹理...
第三课,OpenGL的着色器-卡核

第三课,OpenGL的着色器

优化首先将着色器的编译链接进行优化//Shader.h #pragma once #include <glad/glad.h> class Shader{ public: //程序ID unsigned int ID; //构造器读取并构建着色器 Shader(const GLchar*...
第二课,OpenGL第一个三角形的流程-卡核

第二课,OpenGL第一个三角形的流程

本篇文章不按照代码的顺序编写,而按照数据的走向流程编辑。 1 顶点输入 GLfloat vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f }; 使用GLfloat数组记录...