Filament
文章平均质量分 94
Night_Aurora
渲染引擎工程师
展开
-
Filament渲染引擎剖析 之 通过图元构建几何体
使用filament渲染图元什么是图元filament可绘制的图元类型构建图元的工具VertexBufferIndexBufferPrimitive什么是图元图元是构成图形实体的最小单元,可见物体的表面可以由数量不等的三角形拟合而成,常见的图元类型有点、线、三角形等,无论多么复杂的物体外观,一般都可以用这三类基础图元拟合而成。OpenGL 常见的图元类型: 点、线、条带线、循环线、三角形、三角形条带、三角形扇面。在OpenGL早期版本中多边形与四边形也是OpenGL 基本图元类型,但在OpenGL3.原创 2021-01-04 17:32:40 · 2200 阅读 · 0 评论 -
Filament 渲染引擎剖析 之 ECS模式
一、什么是 ECS 模式ECS Entity-Component-System(实体-组件-系统) 是基于组合优于继承原则的一种模式,每一渲染对象都是一个实体,每个实体由一个或者多个组件构成,每个组件仅包含该组件需要关注的数据,而系统来处理这些实体的集合,只有逻辑部分,不存在状态。ECS 的优势:(1) 容易添加新的复杂的实体类型显而易见,将需要的组件整合起来就会形成一个新的实体类型。(2) 容易定义新的实体数据;、实体数据是在组件中定义的,只需要扩充新的组件很容易的定义新的实体属性。(3)原创 2020-07-07 15:35:23 · 3240 阅读 · 0 评论 -
Filament 渲染引擎剖析 之 FrameGraph 2 动态构建渲染管线
一、渲染通道的设计与实现1 Fostbite 构建FrameGraph的准则我们先看下Fostbite 构建FrameGraph原则,包括三个阶段:设置阶段 setup、编译阶段compile、执行阶段execute。2 Filament使用FrameGraph动态构建渲染管线流程如下图所示:如果不考虑渲染通道的并行计算与同步问题,FrameGraph 的实现还是比较直观的。实现 ...原创 2020-04-21 23:26:39 · 2072 阅读 · 1 评论 -
Filament 渲染引擎剖析 之 FrameGraph 1 虚拟资源的定义与创建
Filament 使用了可扩展渲染管线(FrameGraph)来组织渲染通道和管理渲染资源,网上也搜了下可扩展渲染管线的相关的文章,一般认为可扩展渲染管线是次时代渲染引擎应该具备的比较先进的管线组织架构方式。所以就硬着头皮读了读Frostbite 对FrameGraph 的宣讲PPT,看完后觉得似懂非懂,爱钻牛角尖的个性也不适合全局看问题,总爱在细节上卡壳,卡住也就不管下面的原理了(应该...原创 2020-04-20 18:33:36 · 3836 阅读 · 1 评论 -
Filament 渲染引擎剖析 之 多线程渲染 2
Filament 渲染一帧流程Filament 是一款针对多核硬件系统开发的并行渲染引擎,内部通过多线程的合理调度,尤其在android移动平台上针对大小核心架构做了很多优化设计,比如通过设置线程亲和力,大核心执行繁重的渲染任务,每个小核心上执行一个工作线程对场景对象做排序、剔除等工作,这一模型极大的提高了系统的渲染效率。从多线程渲染架构来讲, Filament 多线程的组织方式还是比较先进的...原创 2019-10-24 16:45:40 · 3974 阅读 · 1 评论 -
Filament 渲染引擎剖析 之 创建渲染对象 1
Filament 渲染对象的创建Filament 将实体(Entity)属性看成组件(component)的形式,实体可以是相机,光源,可绘制实体, 全局光照(IBL)实体等类型。一个场景包含最多、最主要的是可绘制实体对象。可绘制实体主要包含两种属性 可绘制属性Renderable 和 变换属性Transform,Renderable 与 Transform 被看作两种组件。Filament ...原创 2019-10-23 17:36:53 · 3184 阅读 · 4 评论