基于OpenGL的简易渲染器
基于OpenGL的简易渲染器
项目简介
时间:2024年3月-至今
项目描述:学习应用 OpenGL
基础知识而编写的练手项目,使用 C++ 编写,可以让用户通过使用封装好的 OpenGL
类进行简易图形渲染。项目分为两部分,核心部分封装了项目的关键组件(如摄像机、光源、可渲染对象和 OpenGL
对象等);测试部分则对项目特点进行可视化展示(如多光源多物体渲染测试等)。
项目特点:
- 封装
OpenGL
对象,如VAO
,VBO
,IBO
,FBO
,Shader
,Texture
等; - 封装渲染器核心部件,如摄像机(基于四元数)、可渲染对象(可读取简单顶点数据/复杂模型)、材质类(管理可渲染对象的
Shader
和Texture
)、UUID
等; - 支持多物体多光源渲染,现已实现
Blinn-Phong
光照模型和 平行光, 点光源, 聚光灯 三种光源; - 支持帧缓冲和延迟渲染管线,并据此实现 屏幕后处理,SSAO, Bloom等技术;
- 支持天空盒, Shadow Mapping,法线&视差映射, HDR,简单 PBR 等渲染技术。
- 使用传统
glGetError()
或较新glDebugMessageCallback()
进行Debug
日志输出;
图片展示
相关链接
- github页面