gliscowo / isometric-renders Goto Github PK
View Code? Open in Web Editor NEWCreates high-resolution isometric screenshots of Minecraft's game objects
Home Page: https://modrinth.com/mod/isometric-renders
License: MIT License
Creates high-resolution isometric screenshots of Minecraft's game objects
Home Page: https://modrinth.com/mod/isometric-renders
License: MIT License
Would be nice to be able to export a video of a render with animations or enchantment glint for example.
Hello! Using this mod and it is very awesome so far.
However, I have ran into some issues where I am trying to create a render of an entity or item with lots of NBT tags and the chat bar does not like it due to the character limit. I was hoping if there was a way to be able to use a command block to execute the very long command.
Rendering an area, via manual or hotkey selection, gives out an empty preview, as well as an empty fully transparent image.
The selection outline also doesn't show up.
I've guessed it was a mod incompatibility, and after removing everything but Isometric Renders, it works again.
After some testing, it would seems when playing with Iris, the early stage shader mod, area renders completely break (shader activated or not).
It's not problem to me, just thought I'd let it be known, so you can close this whenever.
Thanks for the great work!
Chests don't render in my screenshots, is there any reason why? and or can i activate it somewhere?
It would be great to make renders of advancements as with the tooltips.
When attempting to utilize 1.19.4's experimental features that allow for some 1.20 content, the mod cannot recognize the new content.
I understand if this is disabled for experimental content to avoid potential bugs, but that should be expected due to the fact that it's dubbed experimental.
Simple things like the cherry wood variants can't be rendered, even if the only difference is the textures and nothing else.
I'm trying to render NPCs on Hypixel but am unable to do so, i am not sure if this is a missing feature or a setting i need to turn on.
sorry I pressed enter on accident gimme a sec
Hi glisco,
already having fun creating beautiful renders with your mod.
While rendering larger natural areas, I noticed an issue.
Foliage colors don't seem to apply to tall grass and tall fern (double blocks).
Steps to reproduce:
/give @s tall_grass
/isorender area ~ ~ ~ ~ ~1 ~
➡️ The rendered block will appear gray.
Hey,
I have ffmpeg installed through homebrew, and it should be visible in my path as well, as I was just using it the other night.
any reason this might not be detecting it?
I'm on Ventura beta 7, and using PolyMC as a launcher.
Transparent pixels are appearing where they aren't supposed to be, see below (issue persist with different background colour export settings and different texturepacks). This makes sharing the renders a bit difficult because you either share the 50mb png render or convert to a jpg that can't do transparency.
Exported png on a red background (#ff0000)
Exported png on a dark background (#454545)
Also just curious if there's a possibility of shader support?
Edited a few times (uploaded the wrong log)
Hi,
Thanks for this awesome mod, you did a great job.
If I can ask, is it any Forge version planned?
The game hangs on launch with the isometric renders mod installed. The game just freezes and doesn't close. No errors are logged.
OS: MacOS: 12.4
Minecraft Version: 1.19
Fabric Version: 0.14.7
Isometric Renders Version: 0.3.1
crash-2022-07-01_23.37.21-client.txt
java.lang.NullPointerException: Cannot read field "field_21652" because "☃" is null
at net.minecraft.class_1162.method_22674(class_1162.java:125)
at net.minecraft.class_4588.method_22918(class_4588.java:125)
at com.glisco.worldmesher.renderers.WorldMesherFluidRenderer.method_23072(WorldMesherFluidRenderer.java:21)
at net.minecraft.class_775.method_3347(class_775.java:179)
at net.fabricmc.fabric.impl.client.rendering.fluid.FluidRenderHandlerRegistryImpl.renderFluid(FluidRenderHandlerRegistryImpl.java:124)
at net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler.renderFluid(FluidRenderHandler.java:85)
at net.minecraft.class_775.tessellateViaHandler(class_775.java:593)
at net.minecraft.class_775.handler$cei000$tesselate(class_775.java:568)
at net.minecraft.class_775.method_3347(class_775.java)
at net.fabricmc.fabric.impl.client.rendering.fluid.FluidRenderHandlerRegistryImpl.renderFluid(FluidRenderHandlerRegistryImpl.java:124)
at net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler.renderFluid(FluidRenderHandler.java:85)
at net.minecraft.class_775.tessellateViaHandler(class_775.java:593)
at net.minecraft.class_775.handler$cei000$tesselate(class_775.java:568)
at net.minecraft.class_775.method_3347(class_775.java)
at net.minecraft.class_776.method_3352(class_776.java:76)
at net.minecraft.class_846$class_851$class_4578.method_22785(class_846.java:509)
at net.minecraft.class_846$class_851$class_4578.method_22783(class_846.java:447)
at net.minecraft.class_846.method_22757(class_846.java:132)
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1183)
at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2305)
at net.minecraft.class_846.method_22763(class_846.java:132)
at net.minecraft.class_846.method_23618(class_846.java:147)
at net.minecraft.class_3846.method_16907(class_3846.java:91)
at net.minecraft.class_3846.method_16900(class_3846.java:146)
at net.minecraft.class_3846.run(class_3846.java:102)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1434)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Many isometric renders of closed spaces remove certain walls in order to show the interior, e.g as below
However, when rendering a closed or underground space, the buildings are obscured by stone or other wall materials.
With this in mind, is it possible to add an option to cull chosen surfaces/blocks?
Currently when saving renders the mod uses net.minecraft.client.texture.NativeImage
's writeTo
method, which ultimately calls STBImageWrite.nstbi_write_png_to_func
which is frankly terrible at compression:
The PNG output is not optimal; it is 20-50% larger than the file written by a decent optimizing implementation; though providing a custom zlib compress function (see zlib_compress) can mitigate that. This library is designed for source code compactness and simplicity, not optimal image file size or run-time performance.
stbi_write_png_compression_level
global variable ("// defaults to 8; set to higher for more compression
" - if it's normal zlib stuff I'd expect 9
to be the max, but it's somewhat vague).javax.imageio.ImageIO
which has moderately better compression available, and a bit more control while you're at it.Hello, I decided to update the build of mods to 1.19 and found that on the new version your mod cannot detect ffmpeg. I checked ffmpeg with the old version and everything was fine.
Just not render corner two blocks instead of breaking them before render
Today when I used this mod, I suddenly discover that the shortcut key "C" and "shift+C" can select the area more easily. But I can't find any hint about this in the wiki. So please more help about this mod which is wonderful. Thanks~
This seems to happen whether items or blocks are specified no matter what.
I'm on Windows.
/isorender tag #minecraft:beds batch items
[10:01:06] [Render thread/WARN]: Error while executing client-sided command '/isorender tag #minecraft:beds batch items'
java.nio.file.InvalidPathException: Illegal char <:> at index 21: batches/tag_minecraft:beds/items/
at sun.nio.fs.WindowsPathParser.normalize(Unknown Source) ~[?:?]
at sun.nio.fs.WindowsPathParser.parse(Unknown Source) ~[?:?]
at sun.nio.fs.WindowsPathParser.parse(Unknown Source) ~[?:?]
at sun.nio.fs.WindowsPath.parse(Unknown Source) ~[?:?]
at sun.nio.fs.WindowsFileSystem.getPath(Unknown Source) ~[?:?]
at java.nio.file.Path.resolve(Unknown Source) ~[?:?]
at com.glisco.isometricrenders.render.BatchRenderable.<init>(BatchRenderable.java:35) ~[isometric-renders-0.3.1+1.18.jar:?]
at com.glisco.isometricrenders.render.BatchRenderable.of(BatchRenderable.java:45) ~[isometric-renders-0.3.1+1.18.jar:?]
at com.glisco.isometricrenders.render.RenderTask.lambda$static$1(RenderTask.java:20) ~[isometric-renders-0.3.1+1.18.jar:?]
at com.glisco.isometricrenders.command.IsorenderCommand.renderTagContents(IsorenderCommand.java:124) ~[isometric-renders-0.3.1+1.18.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:263) ~[brigadier-1.0.18.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:177) ~[brigadier-1.0.18.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:142) ~[brigadier-1.0.18.jar:?]
at net.fabricmc.fabric.impl.command.client.ClientCommandInternals.executeCommand(ClientCommandInternals.java:89) ~[fabric-command-api-v1-1.1.9+d7c144a860-e25e6711fa98433e.jar:?]
at net.minecraft.class_746.handler$zgi000$onSendChatMessage(class_746.java:2304) ~[client-intermediary.jar:?]
at net.minecraft.class_746.method_3142(class_746.java) ~[client-intermediary.jar:?]
at net.minecraft.class_437.method_25425(class_437.java:378) ~[client-intermediary.jar:?]
at net.minecraft.class_437.method_25427(class_437.java:371) ~[client-intermediary.jar:?]
at net.minecraft.class_408.method_25404(class_408.java:101) ~[client-intermediary.jar:?]
at net.minecraft.class_309.method_1454(class_309.java:384) ~[client-intermediary.jar:?]
at net.minecraft.class_437.method_25412(class_437.java:492) ~[client-intermediary.jar:?]
at net.minecraft.class_309.method_1466(class_309.java:380) ~[client-intermediary.jar:?]
at net.minecraft.class_309.method_22678(class_309.java:472) ~[client-intermediary.jar:?]
at net.minecraft.class_1255.execute(class_1255.java:103) ~[client-intermediary.jar:?]
at net.minecraft.class_309.method_22676(class_309.java:472) ~[client-intermediary.jar:?]
at org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:37) [lwjgl-glfw-3.2.2.jar:?]
at org.lwjgl.system.JNI.invokeV(Native Method) [lwjgl-3.2.2.jar:?]
at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101) [lwjgl-glfw-3.2.2.jar:?]
at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:204) [client-intermediary.jar:?]
at net.minecraft.class_1041.method_15998(class_1041.java:310) [client-intermediary.jar:?]
at net.minecraft.class_310.method_1523(class_310.java:1147) [client-intermediary.jar:?]
at net.minecraft.class_310.method_1514(class_310.java:737) [client-intermediary.jar:?]
at net.minecraft.client.main.Main.main(Main.java:236) [client-intermediary.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) [fabric-loader-0.14.8.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.8.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.8.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.multimc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) [NewLaunch.jar:?]
at org.multimc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:175) [NewLaunch.jar:?]
at org.multimc.impl.OneSixLauncher.launch(OneSixLauncher.java:185) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:127) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:57) [NewLaunch.jar:?]
[10:01:06] [Render thread/INFO]: [CHAT] Illegal char <:> at index 21: batches/tag_minecraft:beds/items/
With ffmpeg installed on linux if area render is animated minecraft crashes. However it doesn't crash instantly. If I disable rotation speed or animations in a few seconds after opening render preview screen it won't crash.
Also before ffmpeg installation it didn't crash.
Crash report (with NotEnoughCrashes):
crash-2022-06-16_23.08.27-client.txt
Installed ffmpeg:
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
It is possible to use this mod while playing on servers? The isorender command doesn't work.
/isorender area can n't renders the banner and the armor_stand
hope can solve problem
Sound cuts on and off periodically when you are in the Isorender menu
even tho there is no task or render at all it still has bugged sound
I tested it beside my campfire and it was annoying
hope it get fix soon
thanks in advance <3
Isometric Renders forcibly initializes AWT, which causes the game to never launch on MacOS. AWT is incompatible with LWJGL on Mac due to Mac's rendering constraints. An alternative method for copying images would be necessary. I know this is meant to be a Mac workaround, but it does result in the game hanging as soon as the window tries to open.
It would be nice, and better, if the Blocks/Items/Entities rendering can have lighting support like area rendering
Reproduction steps:
Get into a space with air.
Issue /isorender area ~ ~ ~ ~ ~ ~
or select a box full of air only.
It will crash.
hs_err_pid11558.log
Error that appears before it seg faults.
[14:47:25] [Render thread/INFO]: OpenGL debug message: id=1, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION in glBufferData(no buffer bound)'
In the release notes it is stated that "owo-lib is now a required dependency, installed automatically through sentinel" but when I installed isometric-renders from Modrinth using PolyMC the game wouldn't start and will be stuck at listing the installed mods Loading 181 mods: ...
.
After I installed owo-lib manually, everything worked again.
I need this for icon making
i joined a different world and the box was still at the original coordnates. I cannot remove the box.
It'd be actually really cool to be able to export to a 3d file format whether it be OBJ (or more options) or whatever is the standard.
Since you can't use AWT on macOS due to its incompatibility with GLFW, you can instead render to a (temporary) file and use the same method as ScreenshotToClipboard in order to put it in the clipboard.
The particles emitted from campfires do not show in the area render.
I tested a plain campfire which should emit minecraft:campfire_cosy_smoke
.
I assume minecraft:campfire_signal_smoke
also does not show, but have not tested this directly.
Tested using version 0.2.7 on MC 1.17.1.
Placing fluids has a chance to crash the game, otherwise the fluids are rendered in incorrect positions.
All tested on Isometic Renders 0.2.7
Issue tested and found on:
Fabric API 0.42.5 (1.18)
Fabric API 0.43.1 (1.18)
Fabric API 0.44.0 (1.17)
My steps to reproduce:
Hello
I downloaded your mod, and tried to render pufferfish. I enabled "Run Animations" and after a while (around 10 seconds I think) my game crashed with this report:
crash-2022-07-02_10.10.55-client.txt
add version 1.12.2 many servers still support this version and I would like to see this wonderful mod on 1.12.2
When I try launching the game it crashes
Launcher:GDLauncher
Mods:Betterf3, Boosted-brightness, fabric capes, clumps, fabric-api, fabric language kotlin, iris, isometric renders, logical zoom, litematica, mallib, minecraftcapes, modmenu, simple voice chat, xaeros minimap, xaeros worldmap.
Version:1.17.1
Looks beautiful in Gui Scale 2 (Sodium)
Not as much in Gui Scale 3
On a (odd res) 2048x1152 screen, both windowed and fullscreen
I am absolutely incompetent when it comes to most things Minecraft, but if you can (and it's not fixed already, and it's not too much work), make the panels scrollable
Thanks for the mod, loving it (with a magnifying glass cuz I'm blind af)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.