
OpenGL
爱吃肉编程
这个作者很懒,什么都没留下…
展开
-
如何使用OpenGL跨平台创建窗口
#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>using namespace std;const unsigned int screen_width = 800;const unsigned int screen_height = 600;void framebuff...原创 2019-04-08 12:32:44 · 493 阅读 · 0 评论 -
OpenGL编写着色程序,并演示使用
用到少量的OPENGLSL语言实现简单的顶点着色器实现简单的片段着色器使用VAO储存vertex attributes演示如何链接顶点着色器和片段着色器并创建一个着色程序最后,输入了一组顶点数据,绘制了一个三角形可以使用此小程序创建各种图形,只需要多加几个顶点。#include <glad/glad.h>#include <GLFW/glfw3.h>#...原创 2019-04-08 14:20:08 · 371 阅读 · 0 评论 -
OpenGL:同时创建并渲染多个数据
使用数组储存多个顶点数据同时渲染多个对象#include <glad/glad.h>#include <GLFW/glfw3.h>#include <iostream>using namespace std;const unsigned int screen_width = 800;const unsigned int screen_heigh...原创 2019-04-08 15:45:35 · 1625 阅读 · 1 评论 -
OpenGL: 多对象多渲染引擎实现方式
以下代码演示如何创建多个着色程序,并对多个数据进行渲染。要点:片段着色器决定屏幕上所显示的颜色,如果要输出颜色不同的物体,需要设置多个片段着色器并进行编译,最后将片段着色器与顶点着色器链接在一起创建一个渲染引擎。如上点所述,片段着色器决定屏幕输出看到的像素属性,而所具有的数据的多样性,决定可以输出多少图形至屏幕。综上两点,使用多个片段着色器组成的渲染小程序可以输出多种像素属性,使用多组数...原创 2019-04-08 16:48:31 · 1292 阅读 · 1 评论 -
OpenGL:实现跨着色器传送数据
要点:着色器之间靠数据传输,也就是数据输入----输出交流交流时,主要使用的关键字 in out但是顶点着色器和片段着色器的输入输出有些不同,因为顶点着色器需要高效率的输入顶点数据,因此使用location和layout的组合以表示数据输入片段着色器因为最终要输出一个颜色到屏幕,因此需要一个vec4作为容器输入颜色核心代码段:const char *vertexbuffersour...原创 2019-04-08 19:22:32 · 408 阅读 · 0 评论 -
OpenGL: 使用多属性顶点,实现颜色混合
与之前不同的是,之前的顶点数据中只有位置数据,现在给顶点数据中添加了颜色属性。顶点数据实际上是顶点属性,这些属性包括:位置属性、颜色属性等等。而随着顶点属性的变化,我们的着色器也要做相应的调整。要点:在顶点数据中添加了颜色数据(在顶点属性中添加了颜色属性)顶点数据的增加,也需要相应的对顶点着色器和片段着色器做调整当对顶点着色器和片段着色器作出调整以后,相应的要重新配置顶点属性指针...原创 2019-04-08 20:20:02 · 1197 阅读 · 0 评论 -
OpenGL: 着色器类实现(顶点着色器,片段着色器)
注意:此着色器类,将顶点着色器与片段着色器一起实现,如需分开,还需自行拆分。头文件:#ifndef SHADER_H#define SHADER_H#include <glad/glad.h>#include <string>#include <fstream>#include <sstream>#include <iostr...原创 2019-04-08 20:53:18 · 1303 阅读 · 0 评论