minecraft-renderer 0.1.52 → 0.1.53

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minecraft-renderer",
3
- "version": "0.1.52",
3
+ "version": "0.1.53",
4
4
  "description": "The most Modular Minecraft world renderer with Three.js WebGL backend",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,6 +19,7 @@ export type RendererOptionMeta = {
19
19
  text?: string
20
20
  tooltip?: string
21
21
  requiresRestart?: boolean
22
+ requiresChunksReload?: boolean
22
23
  }
23
24
 
24
25
  export type RendererMesherPipeline = 'wasm' | 'legacy-js'
@@ -62,6 +63,7 @@ export const RENDERER_DEFAULT_OPTIONS = {
62
63
  rendererPerfDebugOverlay: false as boolean,
63
64
  disableBlockEntityTextures: false as boolean,
64
65
  rendererMesher: 'wasm' as RendererMesherPipeline,
66
+ rendererShaderCubeBlocks: false as boolean,
65
67
  rendererShaderCubeDebugMode: 'off' as RendererShaderCubeDebugMode,
66
68
  showChunkBorders: false as boolean,
67
69
  renderEntities: true as boolean,
@@ -177,6 +179,11 @@ export const RENDERER_OPTIONS_META: Partial<Record<RendererDefaultOptionKey, Ren
177
179
  tooltip: 'WASM is faster. Use JS if WASM is not working. Requires reload.',
178
180
  requiresRestart: true
179
181
  },
182
+ rendererShaderCubeBlocks: {
183
+ text: 'Instanced shader cubes',
184
+ tooltip: 'Render full blocks through the global GPU instanced path. Requires WASM mesher and WebGL2.',
185
+ requiresChunksReload: true,
186
+ },
180
187
  rendererShaderCubeDebugMode: {
181
188
  text: 'Shader cube debug',
182
189
  tooltip: 'Instanced cube path visualization (requires shader cubes enabled).',
@@ -253,7 +260,7 @@ export const RENDERER_OPTIONS_META: Partial<Record<RendererDefaultOptionKey, Ren
253
260
  min: 30,
254
261
  max: 110,
255
262
  unit: '°',
256
- text: 'Field of view'
263
+ text: 'FOV (Field of View)'
257
264
  },
258
265
  gpuPreference: {
259
266
  text: 'GPU preference',
@@ -317,7 +324,7 @@ export const RENDERER_RENDER_GUI_SECTIONS: ReadonlyArray<{
317
324
  },
318
325
  {
319
326
  title: 'Mesher',
320
- keys: ['rendererMesher']
327
+ keys: ['rendererMesher', 'rendererShaderCubeBlocks']
321
328
  },
322
329
  {
323
330
  title: 'Renderer debug',
@@ -163,6 +163,7 @@ export function applyRendererOptions(
163
163
  cfg.fetchPlayerSkins = o.loadPlayerSkins
164
164
  cfg.highlightBlockColor = o.highlightBlockColor
165
165
  cfg.wasmMesher = wasmActive
166
+ cfg.shaderCubeBlocks = o.rendererShaderCubeBlocks && wasmActive
166
167
  cfg.disableMesherConversionCache = !!ctx.isSafari
167
168
 
168
169
  setSkinsConfig({ apiEnabled: o.loadPlayerSkins })
@@ -155,7 +155,8 @@ export class RainModule implements RendererModuleController {
155
155
  color: 0xcc_dd_ee,
156
156
  transparent: true,
157
157
  opacity: 0.35,
158
- depthWrite: false,
158
+ // Must write depth so log-depth blocks occlude rain correctly (see cubeBlockShader).
159
+ depthWrite: true,
159
160
  fog: true,
160
161
  })
161
162