# RenderEngine **Repository Path**: simmerlee_/render_engine ## Basic Information - **Project Name**: RenderEngine - **Description**: 光栅化渲染引擎 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-27 - **Last Updated**: 2023-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 光栅化渲染引擎 ## 一、简介 这个项目是我在学习OpenGL,编写demo的过程中,为了封装OpenGL接口,慢慢发现有点渲染引擎的样子了,于是就做成了一个引擎。特点如下: - 基于OpenGL和C++11 - 可配置的场景 - Phong光照、阴影 - 纹理贴图 - 实例化 - LOD ![](pics/example.gif) 这个渲染引擎的主要目的是学习图形学,未来可能加入以下功能: - 法线贴图、视差贴图 - 大世界异步加载、地形、天空盒 - 动画(非人体骨骼) - PBR - 延迟渲染 - Vulkan/DX12 ## 二、构建与运行 温馨提示:此项目基于MacOS构建,其他操作系统请酌情调整构建方法=。= ### 1.1 下载依赖 在src目录下,创建以下目录: ``` $ cd src $ mkdir glad/inc glad/src $ mkdir glfw/inc glfw/lib ``` - 下载[glad](https://glad.dav1d.de/):选择3.3版本,core - 下载[glfw](https://www.glfw.org/download) - 把glad、glfw的头文件、源文件、动态库,放在上面创建的对应inc、src、lib目录中 - 修改.h和.c文件中的引用路径(稍微麻烦一下=。=) ### 1.2 构建 在`src`目录下,使用[SimpleMake](https://gitee.com/simmerlee_/SimpleMake/tree/dev)工具进行构建: ``` $ python3 path/to/SimpleMake.py ``` 构建结果在output目录下。 ### 1.3 运行 ``` $ DYLD_LIBRARY_PATH=glfw/lib ./output/AppStarter/AppStarter.exe example/config/scene.jsonc output/example/libexample.so ``` ## 三、使用方法 - 编辑一个场景文件 - 编写要使用的脚本,打包成一个动态库 - 使用`AppStarter`启动 详细请参考[使用手册](doc.md)。