添加滤镜效果
给3DGS模型渲染出的画面加上不同的效果,包括:复古效果、漫画效果、黑白bit效果、颜色编辑效果四种风格化滤镜。
接口说明
以下仅列出本指南示例代码中调用的部分主要接口:
| 接口名 | 描述 |
|---|---|
| RETRO_EFFECT_ID | 表示复古效果对应的ID。 |
| COMIC_EFFECT_ID | 表示漫画效果对应的ID。 |
| OBRA_DINN_EFFECT_ID | 表示黑白bit效果对应的ID。 |
| COLOR_EDITING_EFFECT_ID | 表示颜色编辑效果对应的ID。 |
开发步骤
-
首先从项目根目录进入/src/main/ets/entryability/EntryAbility.ets文件,导入空间建模模块。
import { Scene, RenderContext } from '@kit.ArkGraphics3D';import { spatialRender } from '@kit.SpatialReconKit';import { RenderingPipelineType } from '@ohos.graphics.scene' -
加载当前场景的上下文。
let renderContext: RenderContext | null = Scene.getDefaultRenderContext(); -
调用滤镜接口。
if (renderContext != null) {renderContext.loadPlugin(spatialRender.GSPlugin.PLUGIN_ID);Scene.load().then(async (scene: Scene) => {let rf = scene.getResourceFactory();let effect : spatialRender.RetroEffect =await rf.createEffect({ effectId: spatialRender.GSPlugin.RETRO_EFFECT_ID }) as spatialRender.RetroEffect;let camera = await rf.createCamera({ name: "gsCam", path: "//gsCam" }, { renderingPipeline: RenderingPipelineType.FORWARD });camera.effects.append(effect)});}