minerender 2.0.0-alpha.2 → 2.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/package.json +4 -4
  2. package/dist/cjs/AnimatorFunction.d.ts +0 -3
  3. package/dist/cjs/AnimatorFunction.js +0 -3
  4. package/dist/cjs/AnimatorFunction.js.map +0 -1
  5. package/dist/cjs/Axis.d.ts +0 -8
  6. package/dist/cjs/Axis.js +0 -23
  7. package/dist/cjs/Axis.js.map +0 -1
  8. package/dist/cjs/CubeFace.d.ts +0 -17
  9. package/dist/cjs/CubeFace.js +0 -23
  10. package/dist/cjs/CubeFace.js.map +0 -1
  11. package/dist/cjs/Disposable.d.ts +0 -4
  12. package/dist/cjs/Disposable.js +0 -8
  13. package/dist/cjs/Disposable.js.map +0 -1
  14. package/dist/cjs/Env.d.ts +0 -2
  15. package/dist/cjs/Env.js +0 -7
  16. package/dist/cjs/Env.js.map +0 -1
  17. package/dist/cjs/ExtractableImageData.d.ts +0 -5
  18. package/dist/cjs/ExtractableImageData.js +0 -3
  19. package/dist/cjs/ExtractableImageData.js.map +0 -1
  20. package/dist/cjs/Geometries.d.ts +0 -6
  21. package/dist/cjs/Geometries.js +0 -92
  22. package/dist/cjs/Geometries.js.map +0 -1
  23. package/dist/cjs/ListAsset.d.ts +0 -5
  24. package/dist/cjs/ListAsset.js +0 -3
  25. package/dist/cjs/ListAsset.js.map +0 -1
  26. package/dist/cjs/Materials.d.ts +0 -9
  27. package/dist/cjs/Materials.js +0 -151
  28. package/dist/cjs/Materials.js.map +0 -1
  29. package/dist/cjs/Meshes.d.ts +0 -6
  30. package/dist/cjs/Meshes.js +0 -21
  31. package/dist/cjs/Meshes.js.map +0 -1
  32. package/dist/cjs/MinecraftAsset.d.ts +0 -7
  33. package/dist/cjs/MinecraftAsset.js +0 -3
  34. package/dist/cjs/MinecraftAsset.js.map +0 -1
  35. package/dist/cjs/MinecraftCubeTexture.d.ts +0 -26
  36. package/dist/cjs/MinecraftCubeTexture.js +0 -104
  37. package/dist/cjs/MinecraftCubeTexture.js.map +0 -1
  38. package/dist/cjs/MinecraftTextureMeta.d.ts +0 -15
  39. package/dist/cjs/MinecraftTextureMeta.js +0 -3
  40. package/dist/cjs/MinecraftTextureMeta.js.map +0 -1
  41. package/dist/cjs/SceneStats.d.ts +0 -5
  42. package/dist/cjs/SceneStats.js +0 -12
  43. package/dist/cjs/SceneStats.js.map +0 -1
  44. package/dist/cjs/Serializable.d.ts +0 -3
  45. package/dist/cjs/Serializable.js +0 -3
  46. package/dist/cjs/Serializable.js.map +0 -1
  47. package/dist/cjs/Ticker.d.ts +0 -20
  48. package/dist/cjs/Ticker.js +0 -55
  49. package/dist/cjs/Ticker.js.map +0 -1
  50. package/dist/cjs/TintColors.d.ts +0 -1
  51. package/dist/cjs/TintColors.js +0 -5
  52. package/dist/cjs/TintColors.js.map +0 -1
  53. package/dist/cjs/Transformable.d.ts +0 -11
  54. package/dist/cjs/Transformable.js +0 -8
  55. package/dist/cjs/Transformable.js.map +0 -1
  56. package/dist/cjs/UVMapper.d.ts +0 -40
  57. package/dist/cjs/UVMapper.js +0 -434
  58. package/dist/cjs/UVMapper.js.map +0 -1
  59. package/dist/cjs/WrappedImage.d.ts +0 -17
  60. package/dist/cjs/WrappedImage.js +0 -50
  61. package/dist/cjs/WrappedImage.js.map +0 -1
  62. package/dist/cjs/_model/Cube.d.ts +0 -10
  63. package/dist/cjs/_model/Cube.js +0 -3
  64. package/dist/cjs/_model/Cube.js.map +0 -1
  65. package/dist/cjs/_model/Element.d.ts +0 -9
  66. package/dist/cjs/_model/Element.js +0 -3
  67. package/dist/cjs/_model/Element.js.map +0 -1
  68. package/dist/cjs/_model/Face.d.ts +0 -6
  69. package/dist/cjs/_model/Face.js +0 -3
  70. package/dist/cjs/_model/Face.js.map +0 -1
  71. package/dist/cjs/_model/Model.d.ts +0 -4
  72. package/dist/cjs/_model/Model.js +0 -3
  73. package/dist/cjs/_model/Model.js.map +0 -1
  74. package/dist/cjs/assets/AssetKey.d.ts +0 -26
  75. package/dist/cjs/assets/AssetKey.js +0 -83
  76. package/dist/cjs/assets/AssetKey.js.map +0 -1
  77. package/dist/cjs/assets/AssetLoader.d.ts +0 -26
  78. package/dist/cjs/assets/AssetLoader.js +0 -153
  79. package/dist/cjs/assets/AssetLoader.js.map +0 -1
  80. package/dist/cjs/assets/Assets.d.ts +0 -14
  81. package/dist/cjs/assets/Assets.js +0 -37
  82. package/dist/cjs/assets/Assets.js.map +0 -1
  83. package/dist/cjs/assets/BlockStates.d.ts +0 -11
  84. package/dist/cjs/assets/BlockStates.js +0 -75
  85. package/dist/cjs/assets/BlockStates.js.map +0 -1
  86. package/dist/cjs/assets/Entities.d.ts +0 -8
  87. package/dist/cjs/assets/Entities.js +0 -57
  88. package/dist/cjs/assets/Entities.js.map +0 -1
  89. package/dist/cjs/assets/ModelTextures.d.ts +0 -12
  90. package/dist/cjs/assets/ModelTextures.js +0 -66
  91. package/dist/cjs/assets/ModelTextures.js.map +0 -1
  92. package/dist/cjs/assets/Models.d.ts +0 -12
  93. package/dist/cjs/assets/Models.js +0 -95
  94. package/dist/cjs/assets/Models.js.map +0 -1
  95. package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +0 -19
  96. package/dist/cjs/bedrock/BedrockEntityDescription.js +0 -3
  97. package/dist/cjs/bedrock/BedrockEntityDescription.js.map +0 -1
  98. package/dist/cjs/bedrock/BedrockEntityFile.d.ts +0 -7
  99. package/dist/cjs/bedrock/BedrockEntityFile.js +0 -3
  100. package/dist/cjs/bedrock/BedrockEntityFile.js.map +0 -1
  101. package/dist/cjs/bedrock/BedrockGeometry.d.ts +0 -27
  102. package/dist/cjs/bedrock/BedrockGeometry.js +0 -3
  103. package/dist/cjs/bedrock/BedrockGeometry.js.map +0 -1
  104. package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +0 -5
  105. package/dist/cjs/bedrock/BedrockGeometryFile.js +0 -3
  106. package/dist/cjs/bedrock/BedrockGeometryFile.js.map +0 -1
  107. package/dist/cjs/cache/CacheKey.d.ts +0 -28
  108. package/dist/cjs/cache/CacheKey.js +0 -27
  109. package/dist/cjs/cache/CacheKey.js.map +0 -1
  110. package/dist/cjs/cache/Caching.d.ts +0 -29
  111. package/dist/cjs/cache/Caching.js +0 -93
  112. package/dist/cjs/cache/Caching.js.map +0 -1
  113. package/dist/cjs/cache/PersistentCache.d.ts +0 -15
  114. package/dist/cjs/cache/PersistentCache.js +0 -112
  115. package/dist/cjs/cache/PersistentCache.js.map +0 -1
  116. package/dist/cjs/canvas/CanvasCompat.d.ts +0 -5
  117. package/dist/cjs/canvas/CanvasCompat.js +0 -53
  118. package/dist/cjs/canvas/CanvasCompat.js.map +0 -1
  119. package/dist/cjs/canvas/CanvasImage.d.ts +0 -18
  120. package/dist/cjs/canvas/CanvasImage.js +0 -45
  121. package/dist/cjs/canvas/CanvasImage.js.map +0 -1
  122. package/dist/cjs/entity/EntityModel.d.ts +0 -7
  123. package/dist/cjs/entity/EntityModel.js +0 -3
  124. package/dist/cjs/entity/EntityModel.js.map +0 -1
  125. package/dist/cjs/entity/blockEntityModels.json +0 -1401
  126. package/dist/cjs/entity/entityModels.json +0 -20623
  127. package/dist/cjs/entity/scene/EntityObject.d.ts +0 -20
  128. package/dist/cjs/entity/scene/EntityObject.js +0 -131
  129. package/dist/cjs/entity/scene/EntityObject.js.map +0 -1
  130. package/dist/cjs/error/MineRenderError.d.ts +0 -4
  131. package/dist/cjs/error/MineRenderError.js +0 -15
  132. package/dist/cjs/error/MineRenderError.js.map +0 -1
  133. package/dist/cjs/gui/scene/GuiObject.d.ts +0 -6
  134. package/dist/cjs/gui/scene/GuiObject.js +0 -8
  135. package/dist/cjs/gui/scene/GuiObject.js.map +0 -1
  136. package/dist/cjs/image/ImageLoader.d.ts +0 -28
  137. package/dist/cjs/image/ImageLoader.js +0 -166
  138. package/dist/cjs/image/ImageLoader.js.map +0 -1
  139. package/dist/cjs/index.d.ts +0 -28
  140. package/dist/cjs/index.js +0 -43
  141. package/dist/cjs/index.js.map +0 -1
  142. package/dist/cjs/inspector/SceneInspector.d.ts +0 -27
  143. package/dist/cjs/inspector/SceneInspector.js +0 -366
  144. package/dist/cjs/inspector/SceneInspector.js.map +0 -1
  145. package/dist/cjs/inspector/SceneStats.d.ts +0 -22
  146. package/dist/cjs/inspector/SceneStats.js +0 -53
  147. package/dist/cjs/inspector/SceneStats.js.map +0 -1
  148. package/dist/cjs/instance/InstanceManager.d.ts +0 -14
  149. package/dist/cjs/instance/InstanceManager.js +0 -58
  150. package/dist/cjs/instance/InstanceManager.js.map +0 -1
  151. package/dist/cjs/instance/InstanceReference.d.ts +0 -21
  152. package/dist/cjs/instance/InstanceReference.js +0 -49
  153. package/dist/cjs/instance/InstanceReference.js.map +0 -1
  154. package/dist/cjs/instance/Instanceable.d.ts +0 -16
  155. package/dist/cjs/instance/Instanceable.js +0 -8
  156. package/dist/cjs/instance/Instanceable.js.map +0 -1
  157. package/dist/cjs/lib/OrbitControls.d.ts +0 -64
  158. package/dist/cjs/lib/OrbitControls.js +0 -658
  159. package/dist/cjs/lib/OrbitControls.js.map +0 -1
  160. package/dist/cjs/model/DisplayPosition.d.ts +0 -11
  161. package/dist/cjs/model/DisplayPosition.js +0 -16
  162. package/dist/cjs/model/DisplayPosition.js.map +0 -1
  163. package/dist/cjs/model/ElementFace.d.ts +0 -9
  164. package/dist/cjs/model/ElementFace.js +0 -3
  165. package/dist/cjs/model/ElementFace.js.map +0 -1
  166. package/dist/cjs/model/GuiLight.d.ts +0 -4
  167. package/dist/cjs/model/GuiLight.js +0 -9
  168. package/dist/cjs/model/GuiLight.js.map +0 -1
  169. package/dist/cjs/model/Model.d.ts +0 -46
  170. package/dist/cjs/model/Model.js +0 -20
  171. package/dist/cjs/model/Model.js.map +0 -1
  172. package/dist/cjs/model/ModelElement.d.ts +0 -21
  173. package/dist/cjs/model/ModelElement.js +0 -3
  174. package/dist/cjs/model/ModelElement.js.map +0 -1
  175. package/dist/cjs/model/ModelGenerator.d.ts +0 -6
  176. package/dist/cjs/model/ModelGenerator.js +0 -27
  177. package/dist/cjs/model/ModelGenerator.js.map +0 -1
  178. package/dist/cjs/model/ModelMerger.d.ts +0 -5
  179. package/dist/cjs/model/ModelMerger.js +0 -51
  180. package/dist/cjs/model/ModelMerger.js.map +0 -1
  181. package/dist/cjs/model/ModelPart.d.ts +0 -23
  182. package/dist/cjs/model/ModelPart.js +0 -3
  183. package/dist/cjs/model/ModelPart.js.map +0 -1
  184. package/dist/cjs/model/block/Block.d.ts +0 -6
  185. package/dist/cjs/model/block/Block.js +0 -3
  186. package/dist/cjs/model/block/Block.js.map +0 -1
  187. package/dist/cjs/model/block/BlockState.d.ts +0 -23
  188. package/dist/cjs/model/block/BlockState.js +0 -3
  189. package/dist/cjs/model/block/BlockState.js.map +0 -1
  190. package/dist/cjs/model/block/BlockStateProperties.d.ts +0 -13
  191. package/dist/cjs/model/block/BlockStateProperties.js +0 -3
  192. package/dist/cjs/model/block/BlockStateProperties.js.map +0 -1
  193. package/dist/cjs/model/block/scene/BlockObject.d.ts +0 -46
  194. package/dist/cjs/model/block/scene/BlockObject.js +0 -468
  195. package/dist/cjs/model/block/scene/BlockObject.js.map +0 -1
  196. package/dist/cjs/model/defaultBlockStates.json +0 -12337
  197. package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +0 -9
  198. package/dist/cjs/model/multiblock/MultiBlockStructure.js +0 -3
  199. package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +0 -1
  200. package/dist/cjs/model/multiblock/SchematicParser.d.ts +0 -4
  201. package/dist/cjs/model/multiblock/SchematicParser.js +0 -23
  202. package/dist/cjs/model/multiblock/SchematicParser.js.map +0 -1
  203. package/dist/cjs/model/multiblock/StructureParser.d.ts +0 -70
  204. package/dist/cjs/model/multiblock/StructureParser.js +0 -52
  205. package/dist/cjs/model/multiblock/StructureParser.js.map +0 -1
  206. package/dist/cjs/model/scene/ModelObject.d.ts +0 -25
  207. package/dist/cjs/model/scene/ModelObject.js +0 -163
  208. package/dist/cjs/model/scene/ModelObject.js.map +0 -1
  209. package/dist/cjs/nbt/NBTHelper.d.ts +0 -8
  210. package/dist/cjs/nbt/NBTHelper.js +0 -42
  211. package/dist/cjs/nbt/NBTHelper.js.map +0 -1
  212. package/dist/cjs/renderer/MineRenderScene.d.ts +0 -35
  213. package/dist/cjs/renderer/MineRenderScene.js +0 -132
  214. package/dist/cjs/renderer/MineRenderScene.js.map +0 -1
  215. package/dist/cjs/renderer/Renderer.d.ts +0 -83
  216. package/dist/cjs/renderer/Renderer.js +0 -267
  217. package/dist/cjs/renderer/Renderer.js.map +0 -1
  218. package/dist/cjs/renderer/SceneObject.d.ts +0 -81
  219. package/dist/cjs/renderer/SceneObject.js +0 -400
  220. package/dist/cjs/renderer/SceneObject.js.map +0 -1
  221. package/dist/cjs/renderer/SceneObjectOptions.d.ts +0 -6
  222. package/dist/cjs/renderer/SceneObjectOptions.js +0 -3
  223. package/dist/cjs/renderer/SceneObjectOptions.js.map +0 -1
  224. package/dist/cjs/request/Requests.d.ts +0 -12
  225. package/dist/cjs/request/Requests.js +0 -39
  226. package/dist/cjs/request/Requests.js.map +0 -1
  227. package/dist/cjs/skin/SkinGeometries.d.ts +0 -5
  228. package/dist/cjs/skin/SkinGeometries.js +0 -39
  229. package/dist/cjs/skin/SkinGeometries.js.map +0 -1
  230. package/dist/cjs/skin/SkinPart.d.ts +0 -16
  231. package/dist/cjs/skin/SkinPart.js +0 -21
  232. package/dist/cjs/skin/SkinPart.js.map +0 -1
  233. package/dist/cjs/skin/SkinTextureCoordinates.d.ts +0 -5
  234. package/dist/cjs/skin/SkinTextureCoordinates.js +0 -751
  235. package/dist/cjs/skin/SkinTextureCoordinates.js.map +0 -1
  236. package/dist/cjs/skin/Skins.d.ts +0 -17
  237. package/dist/cjs/skin/Skins.js +0 -168
  238. package/dist/cjs/skin/Skins.js.map +0 -1
  239. package/dist/cjs/skin/scene/SkinObject.d.ts +0 -21
  240. package/dist/cjs/skin/scene/SkinObject.js +0 -119
  241. package/dist/cjs/skin/scene/SkinObject.js.map +0 -1
  242. package/dist/cjs/texture/TextureAtlas.d.ts +0 -29
  243. package/dist/cjs/texture/TextureAtlas.js +0 -26
  244. package/dist/cjs/texture/TextureAtlas.js.map +0 -1
  245. package/dist/cjs/texture/TextureLoader.d.ts +0 -6
  246. package/dist/cjs/texture/TextureLoader.js +0 -34
  247. package/dist/cjs/texture/TextureLoader.js.map +0 -1
  248. package/dist/cjs/texture/Textures.d.ts +0 -10
  249. package/dist/cjs/texture/Textures.js +0 -52
  250. package/dist/cjs/texture/Textures.js.map +0 -1
  251. package/dist/cjs/three/BufferGeometryUtils.d.ts +0 -44
  252. package/dist/cjs/three/BufferGeometryUtils.js +0 -554
  253. package/dist/cjs/three/BufferGeometryUtils.js.map +0 -1
  254. package/dist/cjs/three/OrbitControls.d.ts +0 -59
  255. package/dist/cjs/three/OrbitControls.js +0 -790
  256. package/dist/cjs/three/OrbitControls.js.map +0 -1
  257. package/dist/cjs/util/BatchedExecutor.d.ts +0 -12
  258. package/dist/cjs/util/BatchedExecutor.js +0 -26
  259. package/dist/cjs/util/BatchedExecutor.js.map +0 -1
  260. package/dist/cjs/util/log.d.ts +0 -1
  261. package/dist/cjs/util/log.js +0 -32
  262. package/dist/cjs/util/log.js.map +0 -1
  263. package/dist/cjs/util/model.d.ts +0 -11
  264. package/dist/cjs/util/model.js +0 -182
  265. package/dist/cjs/util/model.js.map +0 -1
  266. package/dist/cjs/util/performance.d.ts +0 -3
  267. package/dist/cjs/util/performance.js +0 -19
  268. package/dist/cjs/util/performance.js.map +0 -1
  269. package/dist/cjs/util/three.d.ts +0 -8
  270. package/dist/cjs/util/three.js +0 -28
  271. package/dist/cjs/util/three.js.map +0 -1
  272. package/dist/cjs/util/util.d.ts +0 -19
  273. package/dist/cjs/util/util.js +0 -143
  274. package/dist/cjs/util/util.js.map +0 -1
  275. package/dist/cjs/world/BlockInfo.d.ts +0 -6
  276. package/dist/cjs/world/BlockInfo.js +0 -3
  277. package/dist/cjs/world/BlockInfo.js.map +0 -1
  278. package/dist/cjs/world/Chunk.d.ts +0 -33
  279. package/dist/cjs/world/Chunk.js +0 -132
  280. package/dist/cjs/world/Chunk.js.map +0 -1
  281. package/dist/cjs/world/MineRenderWorld.d.ts +0 -31
  282. package/dist/cjs/world/MineRenderWorld.js +0 -133
  283. package/dist/cjs/world/MineRenderWorld.js.map +0 -1
@@ -1,83 +0,0 @@
1
- /// <reference types="node" />
2
- import { Camera, EventDispatcher, Vector3, WebGLRenderer } from "three";
3
- import { MineRenderScene } from "./MineRenderScene";
4
- import Stats from "stats.js";
5
- import { DeepPartial } from "../util/util";
6
- import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
7
- export declare class Renderer {
8
- static readonly DEFAULT_OPTIONS: RendererOptions;
9
- readonly options: RendererOptions;
10
- readonly element: HTMLElement;
11
- protected _scene: MineRenderScene;
12
- protected _camera: Camera;
13
- protected _renderer: WebGLRenderer;
14
- protected _composer: EffectComposer;
15
- protected _stats?: Stats;
16
- protected _dirty: boolean;
17
- protected _animationLoop: any;
18
- protected _fpsTimer: any;
19
- protected _animationTimer?: NodeJS.Timeout;
20
- protected _animationFrame?: number;
21
- protected _resizeListener?: () => void;
22
- constructor(options?: DeepPartial<RendererOptions>, element?: HTMLElement);
23
- protected createScene(): MineRenderScene;
24
- protected createCamera(): Camera;
25
- protected createRenderer(): WebGLRenderer;
26
- protected createComposer(): EffectComposer;
27
- init(): void;
28
- /**
29
- * Register an EventDispatcher which may update the scene or renderer in order to redraw the scene
30
- */
31
- registerEventDispatcher(dispatcher: EventDispatcher, changeEvent?: string): void;
32
- resize(width: number, height: number): void;
33
- get dirty(): boolean;
34
- set dirty(dirty: boolean);
35
- start(): void;
36
- stop(): void;
37
- private animate;
38
- protected get attachedToBody(): boolean;
39
- protected get viewWidth(): number;
40
- protected get viewHeight(): number;
41
- get scene(): MineRenderScene;
42
- get camera(): Camera;
43
- get renderer(): WebGLRenderer;
44
- get composer(): EffectComposer;
45
- }
46
- export interface RendererOptions {
47
- camera: CameraOptions;
48
- render: RenderOptions;
49
- composer: ComposerOptions;
50
- debug: DebugOptions;
51
- }
52
- export interface CameraOptions {
53
- type: "perspective" | "orthographic";
54
- near: number;
55
- far: number;
56
- perspective: {
57
- aspect: undefined | number;
58
- fov: number;
59
- };
60
- orthographic: {
61
- left: undefined | number;
62
- right: undefined | number;
63
- top: undefined | number;
64
- bottom: undefined | number;
65
- };
66
- position: Vector3;
67
- lookingAt: Vector3;
68
- }
69
- export interface RenderOptions {
70
- fpsLimit: number;
71
- stats: boolean;
72
- antialias: boolean;
73
- shade: boolean;
74
- autoResize: boolean;
75
- renderAlways: boolean;
76
- }
77
- export interface ComposerOptions {
78
- enabled: boolean;
79
- }
80
- export interface DebugOptions {
81
- grid: boolean;
82
- axes: boolean;
83
- }
@@ -1,267 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Renderer = void 0;
7
- const three_1 = require("three");
8
- const MineRenderScene_1 = require("./MineRenderScene");
9
- const ts_deepmerge_1 = __importDefault(require("ts-deepmerge"));
10
- const stats_js_1 = __importDefault(require("stats.js"));
11
- const util_1 = require("../util/util");
12
- const EffectComposer_1 = require("three/examples/jsm/postprocessing/EffectComposer");
13
- const SSAARenderPass_1 = require("three/examples/jsm/postprocessing/SSAARenderPass");
14
- const ShaderPass_1 = require("three/examples/jsm/postprocessing/ShaderPass");
15
- const CopyShader_1 = require("three/examples/jsm/shaders/CopyShader");
16
- const RenderPass_1 = require("three/examples/jsm/postprocessing/RenderPass");
17
- const Model_1 = require("../model/Model");
18
- const three_2 = require("../util/three");
19
- class Renderer {
20
- constructor(options, element = document.body) {
21
- this._dirty = true;
22
- this._animationTimer = undefined;
23
- this._animationFrame = undefined;
24
- this._resizeListener = undefined;
25
- this.options = ts_deepmerge_1.default({}, Renderer.DEFAULT_OPTIONS, options !== null && options !== void 0 ? options : {});
26
- this.element = element;
27
- this._animationLoop = this.animate.bind(this);
28
- this._fpsTimer = this.options.render.fpsLimit > 0 ? (1000 / this.options.render.fpsLimit) : undefined;
29
- this._scene = this.createScene();
30
- this._camera = this.createCamera();
31
- this._renderer = this.createRenderer();
32
- this._composer = this.createComposer();
33
- if (this.options.render.stats) {
34
- this._stats = new stats_js_1.default();
35
- document.body.appendChild(this._stats.dom); //TODO
36
- }
37
- this.init();
38
- }
39
- //<editor-fold desc="INIT">
40
- createScene() {
41
- return new MineRenderScene_1.MineRenderScene();
42
- }
43
- createCamera() {
44
- var _a, _b, _c, _d, _e;
45
- switch (this.options.camera.type) {
46
- case "perspective":
47
- default:
48
- return new three_1.PerspectiveCamera(this.options.camera.perspective.fov, (_a = this.options.camera.perspective.aspect) !== null && _a !== void 0 ? _a : (this.viewWidth / this.viewHeight), this.options.camera.near, this.options.camera.far);
49
- case "orthographic":
50
- return new three_1.OrthographicCamera((_b = this.options.camera.orthographic.left) !== null && _b !== void 0 ? _b : (this.viewWidth / -2), (_c = this.options.camera.orthographic.right) !== null && _c !== void 0 ? _c : (this.viewWidth / 2), (_d = this.options.camera.orthographic.top) !== null && _d !== void 0 ? _d : (this.viewHeight / 2), (_e = this.options.camera.orthographic.bottom) !== null && _e !== void 0 ? _e : (this.viewHeight / -2), this.options.camera.near, this.options.camera.far);
51
- }
52
- }
53
- createRenderer() {
54
- const renderer = new three_1.WebGLRenderer({
55
- antialias: this.options.render.antialias,
56
- alpha: true,
57
- powerPreference: "high-performance",
58
- depth: true
59
- });
60
- renderer.setClearColor(0x000000, 0);
61
- renderer.shadowMap.enabled = true;
62
- renderer.shadowMap.type = three_1.PCFSoftShadowMap;
63
- // renderer.setPixelRatio(window.devicePixelRatio);
64
- renderer.setSize(this.viewWidth, this.viewHeight);
65
- return renderer;
66
- }
67
- createComposer() {
68
- const composer = new EffectComposer_1.EffectComposer(this.renderer);
69
- if (!this.options.composer.enabled)
70
- return composer;
71
- composer.setSize(this.viewWidth, this.viewHeight);
72
- //TODO: options
73
- // This one just tanks completely down to ~2fps (in structures at least, works pretty well for simpler stuff)
74
- const ssaaPass = new SSAARenderPass_1.SSAARenderPass(this.scene, this.camera, 0x000000, 0); //TODO: options
75
- ssaaPass.unbiased = true;
76
- composer.addPass(ssaaPass);
77
- composer.addPass(new RenderPass_1.RenderPass(this.scene, this.camera));
78
- // composer.addPass(new SMAAPass(this.viewWidth, this.viewHeight));
79
- //
80
- // Makes movement sluggish
81
- // const ssaoPass = new SSAOPass(this.scene, this.camera, this.viewWidth, this.viewHeight);
82
- // composer.addPass(ssaoPass);
83
- // const saoPass = new SAOPass(this.scene, this.camera);
84
- // composer.addPass(saoPass);
85
- //
86
- //
87
- const shaderPass1 = new ShaderPass_1.ShaderPass(CopyShader_1.CopyShader);
88
- shaderPass1.renderToScreen = true;
89
- composer.addPass(shaderPass1);
90
- return composer;
91
- }
92
- //</editor-fold>
93
- init() {
94
- if (typeof window["__THREE_DEVTOOLS__"] !== 'undefined') {
95
- window["__THREE_DEVTOOLS__"].dispatchEvent(new CustomEvent('observe', { detail: this.scene }));
96
- }
97
- /// DEBUG
98
- if (this.options.debug.grid) {
99
- const gridHelper = new three_1.GridHelper(128, 16);
100
- this.scene.add(gridHelper);
101
- const gridHelper2 = new three_1.GridHelper(128, 16);
102
- gridHelper2.rotation.x = 90 * (Math.PI / 180);
103
- this.scene.add(gridHelper2);
104
- const gridHelper3 = new three_1.GridHelper(128, 16);
105
- gridHelper3.rotation.z = 90 * (Math.PI / 180);
106
- this.scene.add(gridHelper3);
107
- }
108
- if (this.options.debug.axes) {
109
- const axesHelper = new three_1.AxesHelper(64);
110
- this.scene.add(axesHelper);
111
- }
112
- /// CAMERA
113
- if (this.options.camera.position) {
114
- if (util_1.isVector3(this.options.camera.position)) {
115
- this.camera.position.set(this.options.camera.position.x, this.options.camera.position.y, this.options.camera.position.z);
116
- }
117
- else if (Model_1.isTripleArray(this.options.camera.position)) {
118
- this.camera.position.set(this.options.camera.position[0], this.options.camera.position[1], this.options.camera.position[2]);
119
- }
120
- }
121
- if (this.options.camera.lookingAt) {
122
- if (util_1.isVector3(this.options.camera.lookingAt)) {
123
- this.camera.lookAt(this.options.camera.lookingAt);
124
- }
125
- else if (Model_1.isTripleArray(this.options.camera.lookingAt)) {
126
- this.camera.lookAt(this.options.camera.lookingAt[0], this.options.camera.lookingAt[1], this.options.camera.lookingAt[2]);
127
- }
128
- }
129
- if (this.options.render.autoResize) {
130
- this._resizeListener = () => {
131
- this.resize(this.viewWidth, this.viewHeight);
132
- };
133
- window.addEventListener('resize', this._resizeListener); //TODO: remove listener
134
- }
135
- // Add the canvas!
136
- this.element.appendChild(this.renderer.domElement);
137
- }
138
- /**
139
- * Register an EventDispatcher which may update the scene or renderer in order to redraw the scene
140
- */
141
- registerEventDispatcher(dispatcher, changeEvent = 'change') {
142
- dispatcher.addEventListener(changeEvent, event => {
143
- this._dirty = true;
144
- });
145
- }
146
- resize(width, height) {
147
- if (three_2.isPerspectiveCamera(this.camera)) {
148
- this.camera.aspect = width / height;
149
- this.camera.updateProjectionMatrix();
150
- }
151
- else if (three_2.isOrthographicCamera(this.camera)) {
152
- this.camera.left = width / -2;
153
- this.camera.right = width / 2;
154
- this.camera.top = height / 2;
155
- this.camera.bottom = height / -2;
156
- this.camera.updateProjectionMatrix();
157
- }
158
- this.renderer.setSize(width, height);
159
- this.composer.setSize(width, height);
160
- }
161
- //<editor-fold desc="RENDER">
162
- get dirty() {
163
- return this._dirty || this.scene.dirty;
164
- }
165
- set dirty(dirty) {
166
- this._dirty = dirty;
167
- this.scene.dirty = dirty;
168
- }
169
- start() {
170
- stop(); // just in case
171
- //this.animate();
172
- this.renderer.setAnimationLoop(this._animationLoop);
173
- }
174
- stop() {
175
- this.renderer.setAnimationLoop(null);
176
- //TODO: remove below
177
- if (this._animationTimer)
178
- clearTimeout(this._animationTimer);
179
- this._animationTimer = undefined;
180
- if (this._animationFrame)
181
- cancelAnimationFrame(this._animationFrame);
182
- this._animationFrame = undefined;
183
- }
184
- animate(t) {
185
- // if (this.options.render.fpsLimit === 0) {
186
- // this._animationFrame = requestAnimationFrame(this._animationLoop);
187
- // } else {
188
- // this._animationTimer = setTimeout(() => {
189
- // this._animationFrame = requestAnimationFrame(this._animationLoop);
190
- // }, this._fpsTimer);
191
- // }
192
- if (this._stats) {
193
- this._stats.begin();
194
- }
195
- if (this.dirty || this.options.render.renderAlways) {
196
- if (this.options.composer.enabled) {
197
- this.composer.render();
198
- }
199
- else {
200
- this.renderer.render(this.scene, this.camera);
201
- }
202
- }
203
- this.dirty = false;
204
- if (this._stats) {
205
- this._stats.end();
206
- }
207
- }
208
- //</editor-fold>
209
- ///
210
- get attachedToBody() {
211
- return this.element === document.body;
212
- }
213
- get viewWidth() {
214
- return this.attachedToBody ? window.innerWidth : this.element.offsetWidth;
215
- }
216
- get viewHeight() {
217
- return this.attachedToBody ? window.innerHeight : this.element.offsetHeight;
218
- }
219
- get scene() {
220
- return this._scene;
221
- }
222
- get camera() {
223
- return this._camera;
224
- }
225
- get renderer() {
226
- return this._renderer;
227
- }
228
- get composer() {
229
- return this._composer;
230
- }
231
- }
232
- exports.Renderer = Renderer;
233
- Renderer.DEFAULT_OPTIONS = ts_deepmerge_1.default({}, {
234
- camera: {
235
- type: "perspective",
236
- near: 1,
237
- far: 5000,
238
- perspective: {
239
- aspect: undefined,
240
- fov: 50,
241
- },
242
- orthographic: {
243
- left: undefined,
244
- right: undefined,
245
- top: undefined,
246
- bottom: undefined
247
- },
248
- position: new three_1.Vector3(50, 50, 50),
249
- lookingAt: new three_1.Vector3(0, 0, 0)
250
- },
251
- render: {
252
- fpsLimit: 60,
253
- stats: false,
254
- antialias: true,
255
- shade: true,
256
- autoResize: true,
257
- renderAlways: false
258
- },
259
- composer: {
260
- enabled: true
261
- },
262
- debug: {
263
- grid: false,
264
- axes: false
265
- }
266
- });
267
- //# sourceMappingURL=Renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"src/","sources":["renderer/Renderer.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { BoxGeometry, Euler, InstancedMesh, Matrix4, Mesh, Object3D, Vector3 } from "three";
2
- import { ModelElement, ModelFaces } from "../model/ModelElement";
3
- import { DoubleArray, TripleArray } from "../model/Model";
4
- import { Axis } from "../Axis";
5
- import { BufferGeometry } from "three/src/core/BufferGeometry";
6
- import { Material } from "three/src/materials/Material";
7
- import { Maybe } from "../util/util";
8
- import { InstanceReference } from "../instance/InstanceReference";
9
- import { Disposable } from "../Disposable";
10
- import { SceneObjectOptions } from "./SceneObjectOptions";
11
- import { Instanceable } from "../instance/Instanceable";
12
- import { MineRenderScene } from "./MineRenderScene";
13
- import { Transformable } from "../Transformable";
14
- export declare class SceneObject extends Object3D implements Disposable, Instanceable, Transformable {
15
- readonly isSceneObject: true;
16
- static readonly DEFAULT_OPTIONS: SceneObjectOptions;
17
- readonly options: SceneObjectOptions;
18
- private _scene;
19
- private materialCallbacks;
20
- protected _isInstanced: boolean;
21
- _instanceCounter: number;
22
- constructor(options?: Partial<SceneObjectOptions>);
23
- set scene(scene: MineRenderScene);
24
- get scene(): MineRenderScene;
25
- init(): Promise<void>;
26
- notifyDirty(): void;
27
- protected createAndAddGroup(name?: string, x?: number, y?: number, z?: number, offsetAxis?: Axis, offset?: number): Object3D;
28
- protected createGroup(name?: string, x?: number, y?: number, z?: number, offsetAxis?: Axis, offset?: number): Object3D;
29
- /**
30
- * Get a group by its name
31
- */
32
- getGroupByName(name: string): Maybe<Object3D>;
33
- /**
34
- * Toggle visibility of a group
35
- * @param name name of the group
36
- * @param visible set the visibility directly, if not set toggles it
37
- */
38
- toggleGroupVisibility(name: string, visible?: boolean): boolean;
39
- protected createAndAddMesh(name?: string, group?: Object3D, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
40
- protected createMesh(name?: string, geometry?: BufferGeometry, material?: Material | Material[], offsetAxis?: Axis, offset?: number): Mesh;
41
- protected createInstancedMesh(name: Maybe<string>, geometry: BufferGeometry, material: Material | Material[], count: number): InstancedMesh;
42
- /**
43
- * Get a mesh by its name
44
- */
45
- getMeshByName(name: string): Maybe<Mesh>;
46
- /**
47
- * Toggle visibility of a mesh
48
- * @param name name of the mesh
49
- * @param visible set the visibility directly, if not set toggles it
50
- */
51
- toggleMeshVisibility(name: string, visible?: boolean): boolean;
52
- iterateAllMeshes(cb: (mesh: Mesh) => void): void;
53
- protected _getBoxGeometryFromDimensions([width, height, depth]: TripleArray, faces: ModelFaces, originalTextureSize: DoubleArray, actualTextureSize: DoubleArray): BoxGeometry;
54
- protected _getBoxGeometryFromElement(element: ModelElement): BoxGeometry;
55
- protected _getBoxGeometryForDimensionsAndUv(width: number, height: number, depth: number, uv: number[]): BoxGeometry;
56
- get isInstanced(): boolean;
57
- get instanceCounter(): number;
58
- protected constructInstanceReference(i: number): InstanceReference<SceneObject>;
59
- nextInstance(): InstanceReference<SceneObject>;
60
- getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
61
- setMatrixAt(index: number, matrix: Matrix4): void;
62
- setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
63
- setPositionAt(index: number, position: Vector3): void;
64
- getPositionAt(index: number, vector?: Vector3): Vector3;
65
- setRotationAt(index: number, rotation: Euler): void;
66
- getRotationAt(index: number, euler?: Euler): Euler;
67
- setScaleAt(index: number, scale: Vector3): void;
68
- getScaleAt(index: number, vector?: Vector3): Vector3;
69
- setPositionRotationScale(position?: Vector3, rotation?: Euler, scale?: Vector3): void;
70
- setPosition(position: Vector3): void;
71
- getPosition(): Vector3;
72
- setRotation(rotation: Euler): void;
73
- getRotation(): Euler;
74
- setScale(scale: Vector3): void;
75
- getScale(): Vector3;
76
- protected toggleObjectVisibility(object?: Object3D, visible?: boolean): boolean;
77
- dispose(): void;
78
- disposeAndRemoveAllChildren(): void;
79
- removeFromScene(): void;
80
- }
81
- export declare function isSceneObject(obj: any): obj is SceneObject;