# OpenUnity **Repository Path**: FlyingFatPenguin/OpenUnity ## Basic Information - **Project Name**: OpenUnity - **Description**: 一个类似 Unity 的 OpenGL 框架 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 3 - **Created**: 2019-03-06 - **Last Updated**: 2024-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenUnity ## 简介 这是一个 OpenGL 游戏/动画 框架 目标是让我们使用 OpenGL 绘图时,脱离底层的图元的绘制。 即不再花费时间在三角或立方体上,而是将工作抽象到 物体的层面,可以直接修改物体的材质,添加相机等 如果你使用过 Unity3D ,就会感觉到这个项目 借鉴了大量的 U3D 的策略。并尽可能的做的类似 U3D 的效果 ## 模块 项目整体分为两大模块: 1. 渲染模块 (该模块自动调用,无需用户了解) 这一模块将每一个物体的诸多属性组合起来, 如位置,旋转,材质等。 只需要在逻辑模块中将物体添加到场景中, 场景就会自动的渲染这些物体。 从而让用户脱离图形绘制,而专注逻辑的实现。 - Scene 场景 - Object 物体 - Vec pos 物体的位置 - Material 材质 - Color 颜色(光照下的反射) - Control 控件 2. 逻辑模块 (该模块是用户需要了解的) 在该模块中,由时间线创建一个线程 并在该线程中依次调用 Event(事件) 通过事件向场景中 增加、删除、修改物体 场景会自动渲染。 用户需要做的事情就是选择要添加何种事件 事件允许有子事件,这使得我们可以将工作分配和复用。 - TimeLine 时间线 - Event 事件