# ArkGraphics 3D简介 ArkGraphics 3D (方舟3D图形)基于轻é‡çº§çš„3Då¼•æ“Žä»¥åŠæ¸²æŸ“管线为开å‘者æä¾›åŸºç¡€3D场景绘制能力,供开å‘者便æ·ã€é«˜æ•ˆåœ°æž„建3Dåœºæ™¯å¹¶å®Œæˆæ¸²æŸ“。 ## åŠŸèƒ½ä»‹ç» - æä¾›åŠ è½½å¹¶è§£æžglTF模型的能力,支æŒå¼€å‘者将glTF模型文件置于应用文件沙盒ä¸ï¼Œé€šè¿‡ArkGraphics 3Dæä¾›çš„å¼‚æ¥æŽ¥å£å®Œæˆæ¨¡åž‹çš„åŠ è½½ä»¥åŠæ¸²æŸ“。具体å¯è§[Scene (场景管ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene.md),glTF相关介ç»è¯·å‚è§glTF-Specification。 - æä¾›è‡ªå®šä¹‰ç¯å…‰ï¼ˆLight)ã€ç›¸æœºï¼ˆCamera)节点以åŠé€šç”¨èŠ‚ç‚¹ï¼ˆNodeï¼‰çš„èƒ½åŠ›ï¼Œå¯æ”¯æ’‘å¼€å‘者自定义场景ç¯å…‰ã€æ¸²æŸ“视角ç‰ä¿¡æ¯ï¼ŒåŒæ—¶æ”¯æ’‘用户动æ€åœ°è°ƒæ•´åœºæ™¯æ ‘结构以åŠèŠ‚ç‚¹å±žæ€§è¿›è€Œè°ƒæ•´3D场景。具体å¯è§[Scene (场景管ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene.md)以åŠ[SceneNode (节点管ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene-nodes.md)。 - æä¾›åˆ›å»ºå›¾ç‰‡ï¼ˆImageï¼‰ã€æè´¨ï¼ˆMaterial)ã€çŽ¯å¢ƒï¼ˆEnvironment)以åŠè‡ªå®šä¹‰ç€è‰²å™¨ï¼ˆShader)的能力,支撑开å‘者通过调用ArkGraphics 3Dæä¾›çš„能力æ¥åˆ›å»º3D场景ä¸ä½¿ç”¨çš„å„ç§èµ„æºï¼Œæ”¯æ’‘å¼€å‘者自定义ç€è‰²å™¨ï¼Œå®Œæˆè‡ªå®šä¹‰3Dæè´¨æ¸²æŸ“。具体å¯ä»¥å‚è§[Scene (场景管ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene.md)以åŠ[SceneResource (资æºç®¡ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene-resources.md)。 - æä¾›æŽ§åˆ¶3D场景动画状æ€çš„能力,支撑开å‘è€…æŽ§åˆ¶åŠ¨ç”»çš„å¼€å§‹ã€æš‚åœã€ç»“æŸã€æ’放到指定ä½ç½®ç‰æ“ä½œï¼ŒåŒæ—¶æä¾›åŠ¨ç”»å¼€å§‹ã€ç»“æŸæ—¶çš„回调函数支æŒå¼€å‘者进行逻辑控制。具体å¯è§[SceneResource (资æºç®¡ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene-resources.md)。 - æä¾›åŸºç¡€çš„3D渲染åŽå¤„ç†èƒ½åŠ›ï¼Œæä¾›æŽ¥å£æ”¯æ’‘å¼€å‘者进行ToneMappingåŽå¤„ç†ç›¸å…³æŽ§åˆ¶ã€‚具体å¯è§[ScenePostProcessSettings (åŽå¤„ç†ç®¡ç†)](../reference/apis-arkgraphics3d/js-apis-inner-scene-post-process-settings.md)。 综上,ArkGraphics 3Dæä¾›åŸºç¡€çš„3D场景渲染能力,支撑开å‘者完æˆ3D场景渲染以åŠé€»è¾‘控制开å‘工作。 具体接å£çš„ä½¿ç”¨å’Œå‚æ•°è¯´æ˜Žï¼Œå¯è§[@ohos.graphics.scene (ArkGraphics 3D模å—)](../reference/apis-arkgraphics3d/js-apis-scene.md)。 ## æ¡†æž¶åŽŸç†  如上图 ArkGraphics 3D接å£èƒ½åŠ›ç”±å›¾å½¢åŽç«¯ã€å¼•æ“Žå±‚ä»¥åŠæŽ¥å£å±‚三个关键部分共åŒç»„æˆã€‚ - 图形åŽç«¯ï¼šä¸»è¦æŒ‡GPU硬件æä¾›çš„驱动接å£ç±»åž‹ï¼Œä¸šç•Œé€šç”¨çš„主è¦åŒ…å«OpenGL ES以åŠVulkan两类。引擎层通过下å‘GPU指令调用这些接å£ï¼Œå®žçŽ°åœºæ™¯çš„æ¸²æŸ“ã€‚ - å¼•æ“Žå±‚ï¼šä¾æ‰˜Ark Graphics Platform渲染引擎部件æä¾›æ¸²æŸ“能力,AGP引擎具有易用性ã€é«˜ç”»è´¨ã€å¯æ‰©å±•ç‰ç‰¹æ€§ã€‚引擎使用先进的ECS(Entity-Component-System)架构设计,进行模å—化å°è£…(如æè´¨å®šä¹‰ã€åŽå¤„ç†ç‰¹æ•ˆç‰ï¼‰ï¼Œä¸ºå¼€å‘者æä¾›äº†çµæ´»æ˜“用的开å‘套件。引擎具体介ç»è¯·å‚è§[AGP引擎](https://gitee.com/openharmony/graphic_graphic_3d)。 - 接å£å±‚:基于引擎的ECS Framework,通过NAPI层对数æ®è¿›è¡Œç»„织处ç†ï¼Œå‘å¼€å‘è€…æš´éœ²ç®€å•æ˜“用的3D渲染接å£ï¼Œæ”¯æŒå¼€å‘者使用少é‡ä»£ç 完æˆ3D场景的开å‘。 ## 约æŸé™åˆ¶ 使用ArkGraphics 3D模å—需è¦ç¡¬ä»¶è®¾å¤‡æ”¯æŒOpenGL ES 3.2以上或者Vulkan 1.0以上的GPU驱动。