UNPKG

@trickle/lec3d

Version:

easier three.js encapsulated by lec

40 lines (39 loc) 2.39 kB
import * as THREE from "three"; import { CSS3DObject, CSS3DSprite } from "three/examples/jsm/renderers/CSS3DRenderer.js"; import { Camera, Renderer } from "../type"; import { CreateAxesHelperParams, CreateCameraParams, CreateCss3dObjectParams, CreateCss3dRendererParams, CreateLightParams, CreateTextParams, CreateRendererParams, SceneAddParams, CreateCss2dRendererParams, CreateCss2dObjectParams } from "./type"; import { TextGeometry } from "three/examples/jsm/geometries/TextGeometry.js"; import { CSS2DObject } from "three/examples/jsm/renderers/CSS2DRenderer.js"; /** 创建场景 */ export declare const createScene: () => THREE.Scene; /** 创建光源 */ export declare const createLight: ({ color, colorOpacity, ambientLightColor, ambientLightColorOpacity, directLightColor, directLightColorOpacity, }: CreateLightParams) => { ambientLight: THREE.AmbientLight; directLight: THREE.DirectionalLight; }; /** 创建相机 */ export declare const createCamera: ({ width, height, position, lookAt, }: CreateCameraParams) => Camera; /** 创建渲染器 */ export declare const createRenderer: ({ width, height, backgroundColor, backgroundColorOpacity, }: CreateRendererParams) => Renderer; /** 创建辅助坐标轴 */ export declare const createAxesHelper: ({ length }: CreateAxesHelperParams) => THREE.AxesHelper; /** 给场景添加内容 */ export declare const sceneAdd: ({ scene, content }: SceneAddParams) => void; /** 创建 CSS 3D 渲染器*/ export declare const createCss3dRenderer: ({ scene, camera, }: CreateCss3dRendererParams) => { refresh: () => void; mountTo: (element: HTMLElement) => void; }; /** 创建 css3dObject(不会被模型遮挡)*/ export declare const createCss3dObject: ({ element }: CreateCss3dObjectParams) => CSS3DObject; /** 创建 CSS 3D 对象 */ export declare const createCss3dSprite: ({ element }: CreateCss3dObjectParams) => CSS3DSprite; /** 创建文本模型 */ export declare const createText: ({ text, options }: CreateTextParams) => THREE.Mesh<TextGeometry, THREE.MeshBasicMaterial, THREE.Object3DEventMap>; /** 创建 css 2D 渲染器 */ export declare const createCss2dRenderer: ({ scene, camera, }: CreateCss2dRendererParams) => { refresh: () => void; mountTo: (element: HTMLElement) => void; }; /** 创建 css 2d 对象 */ export declare const createCss2dObject: ({ content }: CreateCss2dObjectParams) => CSS2DObject;