
OpenGL
dtwd886
这个作者很懒,什么都没留下…
展开
-
高级OpenGL之Uniform缓冲对象(高级GLSL)
使用Uniform缓冲对象画出四个不同颜色的立方体:#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <fstream>#include <sstream>#include <glm/glm.hpp>#includ...原创 2019-10-11 20:53:12 · 675 阅读 · 0 评论 -
高级OpenGL之立方体贴图——引入反射贴图升级纳米装模型
模型加载主程序:#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <fstream>#include <sstream>#include <glm/glm.hpp>#include <glm/gtc/matr...原创 2019-10-02 18:11:23 · 421 阅读 · 1 评论 -
高级OpenGL之立方体贴图中反射
箱子反射天空盒的具体实现代码:#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <fstream>#include <sstream>#include <glm/glm.hpp>#include <glm/g...原创 2019-10-02 15:17:12 · 404 阅读 · 0 评论 -
高级OpenGL之模板测试
和深度测试一样,对模板缓冲应该通过还是失败,以及它应该如何影响模板缓冲,有一定控制。一共有两个函数能够用来配置模板测试: glStencilFunc和glStencilOpglStencilFunc(GLenum func, GLint ref,Gluint mask)一共包含三个参数:func:设置模板测试函数。用于比较已储存的模板值上和glStencilFunc函数的ref值上。可用的...原创 2019-09-18 09:58:30 · 570 阅读 · 0 评论 -
模型加载之Assimp库配置
Assimp编译之后,生成的库和DLL文件位于cmake编译后的build/code/Debug或者build/code/Release把编译好的LIB文件和DLL文件拷贝到工程的相应目录下,并且在解决方案中链接它们。还需把Assimp的include目录下的头文件也复制到自己创建的include目录...原创 2019-09-10 21:35:54 · 480 阅读 · 0 评论 -
OpenGL模型加载之网格
Mesh.h#pragma once#ifndef MESH_H#define MESH_H#include <glad/glad.h>#include <GLFW/glfw3.h>#define STB_IMAGE_IMPLEMENTATION#include <stb_image.h>#include <glm/glm.hpp&g...原创 2019-09-10 21:12:34 · 917 阅读 · 0 评论 -
OpenGL入门之摄像机
摄像机使用摄像机的3个轴外加一个平移向量来创建一个矩阵,可以用这个矩阵乘以任何向量来将其表换到那个坐标空间。这就是,矩阵的作用。现有3个相互垂直的轴和一个定义摄像机空间的位置坐标,可以创建自己的LookAt矩阵:GLM已经提供了创建LookAt矩阵的函数,只需要一个摄像机位置,一个目标位置和一个表示世界空间中的上向量的向量。glm::mat4 view;view = glm::...原创 2019-09-08 11:17:28 · 429 阅读 · 0 评论 -
OpenGL入门之坐标系统——MVP
窗口代码:/*OpenGL之窗口初始化*/#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <fstream>#include <sstream>#include <glm/glm.hpp>#include &l...原创 2019-09-07 11:09:01 · 1145 阅读 · 0 评论 -
OpenGL入门之纹理
窗口代码:/*OpenGL之窗口初始化*/#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>#include <fstream>#include <sstream>#include "Shader.h"#define STB_IMAGE_IM...原创 2019-09-01 19:56:04 · 240 阅读 · 0 评论 -
VBO,VAO,EBO及创建矩形
顶点缓冲对象(VBO)顶点缓冲对象(Vertex Buffer Objects, VBO)管理这个PU内存,它会在GPU内存(通常被称为显存)中储存大量顶点。使用这些缓冲对象的好处是我们可以一次性的发送一大批数据到显卡上,而不是每个顶点发送一次。从CPU把数据发送到显卡相对较慢,所以只要可能我们都要尝试尽量一次性发送尽可能多的数据。当数据发送至显卡的内存中后,顶点着色器几乎能立即访问顶点,这是...原创 2019-08-09 13:35:15 · 712 阅读 · 0 评论 -
Windows+VS2015配置OpenGL
目前有一些库节省了书写操作系统相关代码的时间,提供了窗口和上下文用来渲染。目前最流行的几个库有GLUT,SDL,SFML,GLFW。博客中所用为GLFW。GLFW是一个专门针对OpenGL的C语言库,其提供了一些渲染物体所需的最低限度的接口,其允许用户创建OpenGL上下文, 定义窗口参数以及处理用户输入。1.从下载页上下载源代码包(建议这样,因为可以保证生成的库是兼容你的操作系统和CPU...原创 2019-08-08 16:23:54 · 526 阅读 · 0 评论 -
OpenGL入门——hello_window
/*OpenGL之窗口初始化*/#include <iostream>#include <glad/glad.h>#include <GLFW/glfw3.h>void framebuffer_size_callback(GLFWwindow* windows, int width, int height);void processInput(GLF...原创 2019-08-08 15:36:01 · 161 阅读 · 0 评论