OpenGL

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

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

本篇文章不按照代码的顺序编写,而按照数据的走向流程编辑。 1 顶点输入 GLfloat vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f }; 使用GLfloat数组记录...
Elsa的迷弟的头像-卡核Elsa的迷弟
691
第十七课,帧缓存(后期处理)-卡核

第十七课,帧缓存(后期处理)

反向 void main() { FragColor = vec4(vec3(1.0 - texture(screenTexture, TexCoords)), 1.0); } 灰度 均分灰度 void main() { FragColor = texture(screenTexture, TexCoords); floa...
Elsa的迷弟的头像-卡核Elsa的迷弟
850
第九课,OpenGL光照之材质-卡核

第九课,OpenGL光照之材质

物体材质 在冯氏模型中,一个物体的材质由:全局光照系数,漫反射光照系数,反射光照系数,反射高光半径系数决定。 分别由:ambient,diffuse࿰...
Elsa的迷弟的头像-卡核Elsa的迷弟
950
第二十三课,抗锯齿(Anti Aliasing)-卡核

第二十三课,抗锯齿(Anti Aliasing)

Anti Aliasing(ˈænti ,ˈeliəsɪŋ )反走样 文章目录 超采样抗锯齿(Super Sample Anti-aliasing, SSAA)多重采样抗锯齿(Multisample Anti-aliasing, MSAA)GLFW中的MSAAO...
Elsa的迷弟的头像-卡核Elsa的迷弟
2700
第一课,OpenGL窗口设置-卡核

第一课,OpenGL窗口设置

第一课,opengl窗口设置笔记 1 初始化glfw 设置opengl版本及窗口模式 glfwInit(); glfwWindowHint(); 2 创建窗口 设置为当前线程 window = glfwCreateWindow&#...
Elsa的迷弟的头像-卡核Elsa的迷弟
1720
第十七课,帧缓存(创建和使用方法)-卡核

第十七课,帧缓存(创建和使用方法)

OpenGL允许我们定义我们自己的帧缓冲,也就是说我们能够定义我们自己的颜色缓冲,甚至是深度缓冲和模板缓冲。 创建一个帧缓冲 1.创建一个帧缓冲对象(Framebuffer Object, FBO) 创建...
Elsa的迷弟的头像-卡核Elsa的迷弟
1250
第八课,OpenGL光照之基本光照-卡核

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

冯氏光照模型(Phong Lighting Model) 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会...
Elsa的迷弟的头像-卡核Elsa的迷弟
740
第二十二课,实例化(instancing)-卡核

第二十二课,实例化(instancing)

概述 对于拥有同一模型数据的物体(例如:草),每一帧需要渲染成百上千的实例,这些渲染几乎可以瞬间完成,但是上千个渲染函数的调用却会造成极大的性能...
Elsa的迷弟的头像-卡核Elsa的迷弟
490
OpenGL环境配置-卡核

OpenGL环境配置

配置环境 1.打开 VS2019 新建C++项目 2.打开配置属性 设为所有配置,Win32平台 3.基本配置 可使用glfw,以及OpenGL函数(glad)。 C/C++ -> 常...
Elsa的迷弟的头像-卡核Elsa的迷弟
840
第十六课,面剔除-卡核

第十六课,面剔除

使用OpenGL的面剔除选项,它默认是禁用状态 glEnable(GL_CULL_FACE); 直接运行后,我们发现正方体的部分面确实被剔除了,但是却不是背向面,这是因为我们定义的正方体...
Elsa的迷弟的头像-卡核Elsa的迷弟
520
第七课,OpenGL之glfw回调函数-卡核

第七课,OpenGL之glfw回调函数

常用回调函数 按键输入(修饰符也可触发) GLFWkeyfun glfwSetKeyCallback (GLFWwindow *window, GLFWkeyfun callback) void function_name(GLFWwindow* window, int key, int scancode, int acti...
Elsa的迷弟的头像-卡核Elsa的迷弟
3440
QT with OpenGL(Shadow Mapping)(平行光篇)-卡核

QT with OpenGL(Shadow Mapping)(平行光篇)

一. 给平行光添加阴影 1. 生成一张深度帧缓存 glwidget.h //-----------------测试参数 QOpenGLFramebufferObject* depthMapFBO; const unsigned int SHADOW_WIDTH = 1024, SHADOW_HEIGHT ...
Elsa的迷弟的头像-卡核Elsa的迷弟
1440