From d92c8bb054525f396f1f31b8dd61e34b172132ec Mon Sep 17 00:00:00 2001 From: Mason Date: Fri, 28 Feb 2025 17:51:47 +0800 Subject: [PATCH] text and pbr test Signed-off-by: Mason --- api/graphics3d/Scene.d.ts | 9 +++ api/graphics3d/SceneNodes.d.ts | 14 +++++ api/graphics3d/SceneResources.d.ts | 93 ++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) diff --git a/api/graphics3d/Scene.d.ts b/api/graphics3d/Scene.d.ts index d827b07772..8df0e436b1 100644 --- a/api/graphics3d/Scene.d.ts +++ b/api/graphics3d/Scene.d.ts @@ -76,6 +76,14 @@ export interface SceneNodeParameters { path?: string; } +export interface TextNodeParameters extends SceneNodeParameters { + text?: string; + font?: string; + fontSize?: number; + color?: Color; +} + + /** * The scene resource factory. * @@ -187,6 +195,7 @@ export interface SceneResourceFactory { * @since 16 */ createScene(uri?: ResourceStr): Promise; + createTextNode(params: TextNodeParameters): Promise; } /** diff --git a/api/graphics3d/SceneNodes.d.ts b/api/graphics3d/SceneNodes.d.ts index 0b9e7bb6fb..b2fc69d720 100644 --- a/api/graphics3d/SceneNodes.d.ts +++ b/api/graphics3d/SceneNodes.d.ts @@ -282,6 +282,20 @@ export interface Geometry extends Node { readonly mesh: Mesh; } +export interface Text extends Node { + /** + * Mesh of the node. + * + * @type { Mesh } + * @readonly + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ + text: string; + font: string; + fontSize: number; + color: Color; +} /** * The enum of light type. * diff --git a/api/graphics3d/SceneResources.d.ts b/api/graphics3d/SceneResources.d.ts index 1d183d8892..dbffb3a0f3 100644 --- a/api/graphics3d/SceneResources.d.ts +++ b/api/graphics3d/SceneResources.d.ts @@ -176,6 +176,7 @@ export enum MaterialType { * @since 12 */ SHADER = 1, + METALLIC_ROUGHNESS = 2, } /** @@ -217,6 +218,98 @@ export interface ShaderMaterial extends Material { colorShader?: Shader; } +/** + * Material property interface. + * + * @interface MaterialProperty + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 16 + */ +export interface MaterialProperty { + + /** + * Texture to use. If null, factor defines the diffuse color. + * + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 16 + */ + image: Image | null; + + /** + * Color shader of material. + * + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ + factor: Vec4; +} + +/** + * Shader material resource. + * + * @extends Material + * @interface ShaderMaterial + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ +export interface MetallicRoughnessMaterial extends Material { + /** + * Color shader of material. + * + * @type { ?Shader } + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ + baseColor: MaterialProperty; + normal: MaterialProperty; + material: MaterialProperty; + ambientOcclusion: MaterialProperty; + emissive: MaterialProperty; + ClearCoat: MaterialProperty; + ClearCoatRoughness: MaterialProperty; + ClearCoatNormal: MaterialProperty; + sheen: MaterialProperty; + specular: MaterialProperty; +} + +/** + * Shader material resource. + * + * @extends Material + * @interface ShaderMaterial + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ +export interface ShaderMaterial extends Material { + /** + * Color shader of material. + * + * @type { ?Shader } + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ + colorShader?: Shader; +} + +/** + * Shader material resource. + * + * @extends Material + * @interface ShaderMaterial + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ +export interface ShaderMaterial extends Material { + /** + * Color shader of material. + * + * @type { ?Shader } + * @syscap SystemCapability.ArkUi.Graphics3D + * @since 12 + */ + colorShader?: Shader; +} + /** * Sub mesh resource. * -- Gitee