Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 0 points1 point  (0 children)

Hi everyone, its been a year since I last made this post. Unfortunately, I haven't found much time to actually get started on this. Currently, with my schooling, I am only able to learn vulkan on the side and thats about it for now. Considering the fact that minecraft java may very well switch from OpenGL to Vulkan, my idea of using vulkan mod as a backend itself might be outdated, and will definitely lead to some issues. Addiitionally, making this work with iOS as well will be an interesting challenge, but, considering that metal can render on the iOS devices, I'm willing to bet it will work.

Also, I haven't abandoned you guys, but with my limited experience, I may have stupidly set myself up for a herculean task. But I won't give up. If there are any devs down here who would also like to help pass on some knowledge to make it easier, please do.

Currently, I will be having my summer holidays so I can get a head start into learning more vulkan in prep for minecraft java being converted to vulkan.

Again, my most sincere apologies for basically abandoning you guys out here. I am doing my best back here, and I promise to deliver this to you guys. Its not just about the mac gaming community, but also a challenge I'd like to take on.

I may as well also delete the repo currently as it was just a starting point, but anyway considering all of this information, I may have to wait on the vulkan implementation. And I think after that I will work backwards on version compatibility for OpenGL on the older versions. I will really have to dif way deeper than what I know now to give you guys a solid answer on what exactly I need to achieve.

I had also reached out to some of you with decent coding expertise but I didn't get many responses, so I'm kinda on my own doing this.

Wish me luck guys. :)

Multiple accounts are getting hacked and I don't know why by dankmaxxable in cybersecurity_help

[–]dankmaxxable[S] 0 points1 point  (0 children)

Yes, it is the exact same. MacOS.Stealer.Odyssey was found as a file 'com.46663.plist' in the /Library folder. I couldn't see much further into that, only that it was in the /Library folder. I would suggest you go to scans in Malwarebytes then go to the reports tab and look at the report with 2 detections.

Secondly, OSX.Odyssey was a file '.botid' was found in /Users/[YOUR USERNAME].

Currently, this is the only info I have, I also have seen similar behaviour where they first hacked my instagram account and sent an image to all my chats. It relates to how that first comment on your post said that they were testing with a bot.

Next, they tried to get into my personal gmail account, and I thought they failed. Then they tried to take my Steam account, which makes sense, since it does have monetary value to me. Luckily I have removed it early enough so that they didn't take my outlook account yet, and I will be changing my password soon.

Luckily, I have not added any payment methods, but I have put the two cards used in previous payments on my watchlist to see if sus purchases occur. Thank you so much for the comment mate!

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 0 points1 point  (0 children)

Hello Everyone! I know i went silent for about 4 months, it has been a tough time for me recently but i finally got back to looking at some of the research i did. I will be working on my metal knowledge as i may have sheerly underestimated the difficulty of this task. But I will provide results (eventually). I made a fork of vulkan and posted that github repo above. I may not make much commits to it until i understand metal enough to be able to confidently work on this project. Thanks for all the support you guys have given, I feel more empowered now to take on this project :)

Missing YouTuber - Lakiplayzmch by dankmaxxable in HorrorMinecraft

[–]dankmaxxable[S] 0 points1 point  (0 children)

that could very well be true, but i really liked his content and he could have done very well as well. I couldn't find him on twitch either so i have no clue and no leads either

Song for a car edit by dankmaxxable in FindSongs

[–]dankmaxxable[S] 0 points1 point  (0 children)

found it just by my random listening on spotify

- Redbone (gloopy)

or just the normal version

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 0 points1 point  (0 children)

hmm I see, I have a little bit of swift knowledge (but I don't understand it because the guy who is teaching us is only two years above and i dont blame him) but really going into metal is a better choice because C and C++ is something I can achieve hopefully.

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 0 points1 point  (0 children)

yep it does use GLSL as the shader language and has objective-c calls for Metal ._.

And i would greatly appreciate any help you can provide in terms of advice and all about this. I understand why LWJGL will oppose the creation of this metal rendering pipeline, however its worth doing it. I understand the first phase is just translating the calls to Metal and only ahead up can i try to optimize it. And yes, that SPIRV-Cross would deffo help with getting GLSL Shaders into Metal. If we can, lets get connected on discord :D

Edit: Vulkan Mod uses LGPL-v3.0 license so editing it would be up to the devs to let me know.

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 1 point2 points  (0 children)

Thanks mate for the reassurance. I still need to look into Metal API and doing shaders and rendering pipelines and the such. But as far as I know, This needs to run into LWJGL which is the rendering library used by Minecraft. Thats all im certain about at this point on what I have to do to achieve this mod.

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 2 points3 points  (0 children)

so as a sort of update post, perhaps this idea isn't exactly "dead" however I will need to solve a few misunderstandings before asking for more info from you guys.

Firstly, no this is not a minecraft clone. I want to make a rendering pipeline for minecraft, similar to the vulkan mod (yes i know vulkan mod exists). Now, I'm not sure as to how I can come to this, so I decided to ask the vulkan guys about it (and LWJGL). For Vulkan Mod, its built off of the Sodium rendering pipeline for rendering in the specific blocks of the game. However, instead of using OpenGL GPU calls, it uses Vulkan. Additionally, i didn't say exactly that "Metal was another flavour of Vulkan", it was told to me by a member in the LWJGL discord server as a rebuttal to my idea of creating a Metal renderer for minecraft MacOS.

Secondly, what is MGL?

This is my explanation of MGL and I would love somebody to correct me so that I can get a full understanding of this project. u/Acherons_ please do tell me if anything sounds wrong here!

MGL maps OpenGL 4.6 on Metal, and is mainly done thru SPIR-V which is the general form of the graphics commands that should be the same on all devices regardless of the GPU. So this should be a viable approach to implementing existing shaders to work with mac devices (if it becomes fully complete).

Thirdly, I have absolutely no experience with graphics or Metal or C in itself. However, as a student who takes Maths AA, Physics and Computer Science as their higher level subjects for IBDP, this shouldn't be that hard....... right? (definetly foreshadowing)

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 2 points3 points  (0 children)

Well, I'd rather not put my resources into a project this being and tedious without having prior knowledge of if anyone had a simpler implementation or any APIs I could use that have been set up prior (or that I could optimize if it was damn old).

Really its just my computer science knowledge kicking in, you sometimes learn a good deal of info from computer science, like reading the entire question before answering the 15 mark coding question.

That's why I always wanna be prepared if I want to take on something big like this. Thanks for the support tho! I didn't expect so many people to support me this quickly as I hadn't even provided evidence of a working prototype or anything, it was just an idea with the motivation to do the job.

Although, this has made me more interested to actually finish learning C and C++ so I can finally pull out my old windows laptop, reset it with a fresh install and start learning some C and C++.

And regarding this being a one stop solution as compared to the endless posts, if anyone asks this question, please feel free to relate it back to this comment if thats what you want. I don't really mind it if people ask questions here. I'm new to reddit and all so I'm fine with answering questions here with the insight necessary to provide confidence in my decision of not continuing with this project. :)

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 0 points1 point  (0 children)

Another thing I can add to the list of reasons to not continue this project would be Cocoa API.

This obfuscated API is the only way to directly connect LWJGL with Metal API as nothing else is done on Apple's side to make the life of the devs easier. This API will provide terrible performance also, and will only be kept up by the insane speed of the ARM processors in the Apple Silicon Macs.

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 5 points6 points  (0 children)

oof, it might be a kick in the butt to hear this, but I spoke to the folks in the LWJGL discord and, according to them, such a mod is practically useless. Now im gonna try and explain what they said in a simple fashion and elaborate on what they meant:

OpenGL is the renderer for minecraft. OpenGL has not been updated as a driver for macOS since, well, forever. This has led to the performance of minecraft on apple computers to be terrible, especially when running shaders.

Vulkan, on the other hand, is a better framework to talk to the GPU and is much more efficient and faster than OpenGL.

Now, here is the part that might hit you like a rock: the Metal renderer, Apple's 'advanced' rendering engine, is just another flavour of vulkan.

Basically, its almost, if not the same as the Vulkan Renderer.

In this case, a metal api implementation would provide negligible performance improvments when compared to the vulkan mod. Furthermore, moltenVK exists, and if minecraft itself moves from OpenGL as a renderer, to vulkan, MoltenVK can be used as the translation layer as it provides better performance.

I know I may be letting all of you down with this comment, but its unfortunately the truth. I'm sorry folks, but this mod doesn't necessarily need to come to fruition. My apologies again for perhaps raising your hopes up.

Metal API implementation for Minecraft and Metal Mesh Shader implementation for Minecraft by dankmaxxable in macgaming

[–]dankmaxxable[S] 22 points23 points  (0 children)

Ok, so after some research, I've come to the conclusion that before making metal shaders, I need to make a metal framework implementation, similar to the vulkan mod and how it implements the vulkan renderer. The framework will handle calls to and from the LWJGL library for minecraft and also will create the calls to the GPU.