基于OpenGL的简易渲染器
基于OpenGL的简易渲染器
项目简介
项目描述:学习应用 OpenGL
、图形学和其他游戏引擎相关知识编写的项目,使用 C++ 编写,可以让用户编写测试代码进行简易图形渲染等功能。项目分为两部分,核心部分封装了项目的关键组件(如摄像机、光源、可渲染对象和 OpenGL
对象等);测试部分则可视化展示项目特点(如多光源多物体渲染测试等)。
项目特点:
- 渲染模块:简单封装
OpenGL
,封装渲染器核心部件(如Camera,GLObject,Material类等);支持前向渲染管线(默认),延迟渲染管线;支持 平行光, 点光源, 聚光灯 三种光源,简单Shadow Mapping, Blinn-Phong光照模型和 PBR渲染模型;支持 天空盒,法线&视差映射,HDR,SSAO,Bloom等渲染技术。 - 动画模块:使用Assimp库读取模型的蒙皮骨骼动画信息,使用SSBO存储动画信息,实现动画播放;实现简单动画混合(简单线性混合,CrossFading,Partial Skeleton混合,Additive混合);实现简单IK(Two-Bone IK, CCD IK, FABRIK);
图片展示
动画模块
渲染模块
相关链接
- github页面