Kobata

[1.5.x/1.6.2+/1.7.10] Item Renderer

Recommended Posts

This is a rather simple mod that will render your currently selected item to a .png file in .minecraft/rendered when you press P.

It's useful if you need quick pictures of an item, for example for a wiki article.

Requires an OpenGL 3.2 compatible graphics card. If your graphics card or drivers do not support OpenGL 3.2, this mod will refuse to do anything.

 

MC1.7.10: https://github.com/Kobata/item-render/releases/tag/MC1.7.10
MC1.6.2: https://github.com/Kobata/item-render/releases/MC1.6.2
MC1.5.x: http://www.mediafire.com/download.php?edxh44j24qv4414
Github: https://github.com/Kobata/item-render

If you need smaller or bigger images, edit RENDER_TEXTURE_SIZE in KeybindRenderInventoryBlock.java
It is probably a good idea to stick to multiples of 16 to prevent distortion on non-block items.

Edited by Kobata

Share this post


Link to post
Share on other sites

Hey, here comes the first noob-question. Is there an easy way to apply this to the technicpack? I'd like a 256x256 PNG of all the Tekkit-related items but simply dropping it in the /tekkitmain/mods folder didn't seem to work. Sorry for disrupting your thread. D:

Nevermind, Tekkit update removed the JAR! Thank's for this, really love this kind of stuff.

Would it be hard to add the option to download an image of

a) All items

B) all items in inventory

Love it.

Share this post


Link to post
Share on other sites

I wouldn't call it very hard, although it'd need a bit of reorganizing things.

It's a small project though, so feel free to edit it to do whatever you need it to!

Share this post


Link to post
Share on other sites

I wouldn't call it very hard, although it'd need a bit of reorganizing things.

It's a small project though, so feel free to edit it to do whatever you need it to!

I'm pretty good with Java, terrible with anything MC-related as I haven't even tried much. I just think it'd be cool to be able to auto-snapshot all the items. IDK why, lol.

Share this post


Link to post
Share on other sites

For anyone helping with the Technic Wiki, here is a version that outputs 32x32 grid images and 128x128 full images at the same time. I also pushed the code for this to githib as the 'wiki' branch.

Share this post


Link to post
Share on other sites

Does this work in the Mac client? I'm trying to use it to grab screenshots for the Technic wiki, and placed it in ~/Library/Application Support/technic/tekkitmain/mods folder, but pressing P doesn't do anything. I've confirmed my card and OS supports Open GL 3.2. Should there be a /rendered directory inside ../tekkitmain?

Share this post


Link to post
Share on other sites

It should work on macs as far as I know. Check the vanilla keybinding screen and see if there's an entry for 'Render Inventory Block' -- it won't show up if the mod fails the GL3.2 check.

Share this post


Link to post
Share on other sites

Hmm, no "Render Inventory Block" on the keybinding screen. I wonder if LWJGL doesn't support OpenGL 3.2 for the Mac, or if my particular graphics card isn't supported. I know outside of minecraft, the graphics card and driver support it. Is there any way to check within Minecraft what version of OpenGL is being used by the client?

Share this post


Link to post
Share on other sites

If you look at the snooper settings screen it dumps out a bunch of information, including what OpenGL reports. (opengl_vendor and opengl_version)

Share this post


Link to post
Share on other sites

It should work on macs as far as I know. Check the vanilla keybinding screen and see if there's an entry for 'Render Inventory Block' -- it won't show up if the mod fails the GL3.2 check.

Does this work in the Mac client? I'm trying to use it to grab screenshots for the Technic wiki, and placed it in ~/Library/Application Support/technic/tekkitmain/mods folder, but pressing P doesn't do anything. I've confirmed my card and OS supports Open GL 3.2. Should there be a /rendered directory inside ../tekkitmain?

thanks to both of you, for prompting me to check keybindings for verification that this is working and for directing me to the /tekkitmain directory where the files are landing. Looking forward to using this.

Dash -- in the meantime, I can at least fill in any spots you need a better image.

Share this post


Link to post
Share on other sites

If you look at the snooper settings screen it dumps out a bunch of information, including what OpenGL reports. (opengl_vendor and opengl_version)

Sure enough, the client reports OpenGL 2.1, both in Vanilla Minecraft and in Tekkit(main). Crud. Well, at least I know how to investigate fixing it, or... I knew I kept that Boot Camp partition around for something :P.

For posterities sake, my OpenGL renderer outside of Minecraft is reporting: OpenGL 3.2 NVIDIA-8.10.44 304.10.65f03

Whatever that means. :P

[EDIT: I updated my LWJGL to the latest version, 2.9.0, and still stuck with the OpenGL 2.1 renderer. I dunno if my specific video card isn't supported for OpenGL3.2 in LWJGL, or if it is a limitation across the entire OS. I'll test with some newer computers at work and see what I get there.]

Share this post


Link to post
Share on other sites

Well, I've checked with 3 different Macs, 2 generations of nVidia graphics and one ATI, and OpenGL seems stuck at 2.1 on all of them. It looks like the limitation lies with LWJGL not supporting anything above OpenGL 2.1. I've confirmed that on the same Mac hardware running Windows 7 that OpenGL is 3.2 in Minecraft, so I suppose I'll be using BootCamp when I need to do image captures with this mod. Works like a charm BTW, great job Kobata. Now if I could only figure out how to get minecraft to use OpenGL 3.2 in Mac OS...

Share this post


Link to post
Share on other sites

Well, I've checked with 3 different Macs, 2 generations of nVidia graphics and one ATI, and OpenGL seems stuck at 2.1 on all of them. It looks like the limitation lies with LWJGL not supporting anything above OpenGL 2.1. I've confirmed that on the same Mac hardware running Windows 7 that OpenGL is 3.2 in Minecraft, so I suppose I'll be using BootCamp when I need to do image captures with this mod. Works like a charm BTW, great job Kobata. Now if I could only figure out how to get minecraft to use OpenGL 3.2 in Mac OS...

I looked up some stuff on it and it appears that OSX is set up specifically to deny access to anything above 2.1 unless the program requests it when setting up OpenGL (which is outside the scope of what a mod can easily change for Minecraft), unlike every other OS which just gives you the highest version it can when you're not specifically asking for a version.

Share this post


Link to post
Share on other sites

Correct me if I'm wrong, but that would still be the responsibility of LWJGL right? That Library should be setting up OpenGL for minecraft to use, and the mods in turn use what minecraft is using.

I'll be the first to admit I don't know anything about OpenGL programming, but Apple documents development for OpenGL rather thoroughly:

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/UpdatinganApplicationtoSupportOpenGL3/UpdatinganApplicationtoSupportOpenGL3.html#//apple_ref/doc/uid/TP40001987-CH3-SW1

Share this post


Link to post
Share on other sites

Correct me if I'm wrong, but that would still be the responsibility of LWJGL right? That Library should be setting up OpenGL for minecraft to use, and the mods in turn use what minecraft is using.

I'll be the first to admit I don't know anything about OpenGL programming, but Apple documents development for OpenGL rather thoroughly:

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/UpdatinganApplicationtoSupportOpenGL3/UpdatinganApplicationtoSupportOpenGL3.html#//apple_ref/doc/uid/TP40001987-CH3-SW1

negative, this is minecraft. OpenGL 3.x is supported just fine in OSX (and in LWJGL for OsX) and it's the applications responsibility to select what context OpenGL is set to when creating the display. The issue is most likely Mojang has MacOSX forced to only start in OpenGL 2.1 mode due to previous problems with LWJGL and MocOSX.

With LWJGL you specifically have to request a ContextLevel (what version of OpenGL you are going to render with) when creating your display.

Share this post


Link to post
Share on other sites

Ah, nice to know. So until Mojang makes minecraft core support a higher version of OpenGL in OS X, we're locked at 2.1?

I wonder if anything is being done on that front for minecraft 1.6. I haven't downloaded the Prerelease yet, might have to check it out and see if they changed that. I heard that they were updating LWJGL in 1.6 to the latest version (2.9.0?), maybe they got their OpenGL stuff straightened out too.

Apple has lagged behind in OpenGL support, but 3.x support has been around for 2 years now in OS X. Mavericks is supporting 4.1 I believe, so getting even closer to the latest GL spec.

[Edit: No suck luck. The prerelease application still shows OpenGL 2.1. I wonder if it has something to do with the minecraft launcher requiring a Java 6 JRE in OS X? I have a clean 10.8.4 system with only Java 7 installed, and I got a prompt to install the Java 6 runtime when I tried to run the prerelease 1.6 app.]

Share this post


Link to post
Share on other sites

Apple has lagged behind in OpenGL support, but 3.x support has been around for 2 years now in OS X. Mavericks is supporting 4.1 I believe, so getting even closer to the latest GL spec.

This is not Apple. openGL support is determined by drivers given by the graphics card manufacturer. If you're using an nvidia card you should have opengl 3.3/4.3 depending on what card you have. If you're on ATI it will be similar, but ATI has less support. I know Apple swapped back and forth between different card types, but generally ATI drivers take longer to update and contain less features. Also a lot of the functionality of OpenGL 4.x was backported to OpenGL3.x compliant cards due to them being able to support the functionality in the newer APIs. obviously older cards wont support the newer API completely.

Share this post


Link to post
Share on other sites

This is not Apple. openGL support is determined by drivers given by the graphics card manufacturer. If you're using an nvidia card you should have opengl 3.3/4.3 depending on what card you have. If you're on ATI it will be similar, but ATI has less support. I know Apple swapped back and forth between different card types, but generally ATI drivers take longer to update and contain less features. Also a lot of the functionality of OpenGL 4.x was backported to OpenGL3.x compliant cards due to them being able to support the functionality in the newer APIs. obviously older cards wont support the newer API completely.

Sorry to argue, but it is Apple. nVidia and ATI provide Apple with drivers, and Apple includes them in the OS. Apple may be using older drivers that don't support newer specs, or doing something to the driver stack to only allow certain versions of OpenGL to run, but Apple does hold those keys. The hardware may support it, but it is up to Apple to allow applications to run that spec.

Case in point: I have Windows 7 and Mountain Lion installed on my iMac. I can boot to Windows, launch Tekkit from Technic Launcher, and the OpenGL version reported by Snooper Settings shows 3.2. Reboot into Mountain Lion and Snooper is reporting 2.1. I have the choice to update my graphics card drivers in Windows to a later version than what Microsoft includes, but I don't have that option with OS X.

It seems like semantics, but it's an important distinction. The version of the graphics card driver is OS X, (and therefore the OpenGL spec supported) is up to Apple, not ATI or nVidia.

Share this post


Link to post
Share on other sites

It seems like semantics, but it's an important distinction. The version of the graphics card driver is OS X, (and therefore the OpenGL spec supported) is up to Apple, not ATI or nVidia.

Apple seems to say otherwise: https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html

I'm not sure what system/card you're running but everything Apple shows is OpenGL 3.x compliant for quite a while now unless you're on a Legacy system which is 2.1.

You are correct in that apple can prevent new drivers from being released. This is most likely the case for the legacy systems, even if newer drivers exist, Apple wont update them on their end for systems. Just another reason not to buy apple in my book.

Share this post


Link to post
Share on other sites

Apple seems to say otherwise: https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html

I'm not sure what system/card you're running but everything Apple shows is OpenGL 3.x compliant for quite a while now unless you're on a Legacy system which is 2.1

Holy shit this is what I said already. Apple added OpenGL 3.2 support in 10.7 in 2011. I can run other applications that use OpenGL 3.2 in 10.8. I know my graphics hardware (and driver, supplied by Apple) support OpenGL 3.2. Minecraft, for whatever reason, only runs OpenGL 2.1.

I've tested minecraft on 4 different Macs, with ATI, nVidia, and Intel graphics chipsets. Every single one is locked to 2.1 in minecraft.

My points are, and have been, that despite my hardware and OS software supporting the required OpenGL version to run this mod, minecraft does not seem to support OpenGL higher than 2.1 on macs. Full stop.

Share this post


Link to post
Share on other sites

My points are, and have been, that despite my hardware and OS software supporting the required OpenGL version to run this mod, minecraft does not seem to support OpenGL higher than 2.1 on macs. Full stop.

Then you must be on a legacy system unfortunately. Too Bad :( Run it in Windows I guess?

But you're saying you run other programs in 3.2?

Share this post


Link to post
Share on other sites

What do you mean by "legacy system"? The issue is the same whether we are talking about a 2012 MacBook Air, a 2008 iMac, or a 2010 iMac. The hardware and the software support the 3.2 spec, it doesn't matter how old or new the computer is.

I appreciate you trying to help, but at this point we are spinning our wheels going in circular arguments. I'm not going to defend my platform to someone who doesn't understand or like it.

Share this post


Link to post
Share on other sites

What do you mean by "legacy system"? The issue is the same whether we are talking about a 2012 MacBook Air, a 2008 iMac, or a 2010 iMac. The hardware and the software support the 3.2 spec, it doesn't matter how old or new the computer is.

Based on the Apple's developer site if the Processsor is a legacy or not it limits what OpenGL spec your system will work with. Either way, if your system does run other apps in opengl 3.2 mode (in MacOSX not in Windows). Then the issue is with Minecraft (mojang) not specifically selecting to run in opengl3.2 mode (just because it's available doesn't mean it will run in that mode). If you can't run any other programs in MacOSX with OpenGL3.2 then most likely you're on the legacy kernel, which Apple doesn't make OpenGL3.2 available in.

I've used: http://www.realtech-vr.com/glview/download.php to detect what is supported, it will tell you exactly what features are supported (MacOSX goes to the apple store). I have a feeling you're on Legacy especially if Snooper is detecting only OpenGL2.1 when booted into MacOSX.

Share this post


Link to post
Share on other sites

I've used: http://www.realtech-vr.com/glview/download.php to detect what is supported, it will tell you exactly what features are supported (MacOSX goes to the apple store). I have a feeling you're on Legacy especially if Snooper is detecting only OpenGL2.1 when booted into MacOSX.

Per that app, on the two computer's I have in front of me both show 100% OpenGL 3.2 support in OS X. I've been saying this entire time that the hardware and software I'm using support 3.2, yet you haven't taken my word for it that I know WTF I'm talking about. Can we put this to rest?

Mojang is shipping minecraft with LWJGL 2.4.2, which doesn't support OpenGL 3.2 per this, (LWJGL added 3.2 support in OS X as of version 2.8.0). I don't know what version of LWJGL Technic Team is shipping with Technic Launcher, but I suspect it is of the 2.8.x variety. (Probably 2.8.4, unless I've missed my guess.)

It seems to me at this point Mac users are waiting for Mojang to implement OpenGL 3.2 support, as the OS, the hardware, the drivers, and the latest version of LWJGL all support at least 3.2 for OS X 10.7 and up. I have hope for 1.6.x, as they are at least updating LWJGL to 2.9.0, which will bring them closer to possibly supporting 3.2.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.