diff --git a/api/graphics3d/Scene.d.ts b/api/graphics3d/Scene.d.ts index d827b07772fcdeb45cbd3eb0f28f4ceb745dfbca..8df0e436b1c72c7317ad39cdef0f7acc84b706e6 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 0b9e7bb6fba7b01939cfffc100240b9b33c9ec38..b2fc69d72083fe6b3c94f444625dd4173b8877f8 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 1d183d889217641440d233be9ed70e529c9067a7..dbffb3a0f3f780284936decaa1ef880fec5ecb00 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. *