Erich_L Usually when the editor knows the class type it gives you hints for what the func input parameters are.
It works for me:
Erich_L Usually when the editor knows the class type it gives you hints for what the func input parameters are.
It works for me:
cybereality Yes, that also works for me if the function is on the same script. Godot defined classes have their hints show up consistently, I guess just not user defined class functions, or maybe there's still something I'm missing.
Thankyou, I think it No Depth Test does it. I am getting pretty frustrated with this label to viewport projecting on a sprite 3D workflow, I have it working in its own scene, nothing showing up in the main scene, and it turning black on launch. Kinda wish there was just a Text3D node.
Threw the whole thing away and started over and got it working. Thanks again.
Erich_L Kinda wish there was just a Text3D node.
this is implemented in 3.5rc2+ as Label3D
Kojack
Seems the DDS custom mip map issue is that Godot assumes a specific number of mipmaps based on the resolution, while the format itself allows a different number of mipmaps. Mine had 7 mip maps, Godot was expecting 10.
It was created with the official Microsoft DirectX texture tool, I assume they know their own format.
Remaking it with the expected number lets it work.
The point of the test texture I have is each mip map is colour coded. For example first mip map is 512x512 solid red. Second is 256x256 solid green, etc. When you put it on a mesh, the colours you see represent which mip levels are being viewed. If you never see red on the mesh, it means 512x512 is a waste of resolution. (The new one I made is 13 mips with 4096x4096 at the top)
DDS would have been okay but there was almost no decent tooling. I tried KTX as well, which was also cool (made by Khronos) but, again, no tools.
spacecloud woot! I can’t wait for this. It looks like 3.5 is getting pretty close too
I've got 110,911 dds files on my hard drive.
Lots of games use them. Nvidia and Microsoft make tools for them (like photoshop plugin and stand alone), every game engine (that I've used) supports them. But I guess non Windows developers might not have as much, since DDS (Direct Draw Surface) is pretty much a header then a raw dump of a Direct3D texture from memory. It may take a little more code to load them in OpenGL if you don't want to simply convert them to a simpler internal format in the loader.
Of course "right tool for the job" and all that.
Jpeg compresses well on disk, but is lossy, expands to raw in memory and doesn't support alpha channels.
PNG compresses ok-ish, is lossless and has alpha channels (and things like deep colour modes), but also raw in memory.
DDS can store ST3C style block compressed formats (the kind that stay compressed on the GPU), voxels and 6 face cube maps, plus less common formats (like RGBA4444).
GIF is paletted (stores pixels as an index into a palette of up to 256 colours, instead of as colours directly) and supports animation.
EXR for high dynamic range images.
Block compressed textures use RGB565 (16 bit colour) so can look crappy, depending on the texture. (Technically for most of the BC formats each 4x4 block is paletted, with a palette of 2 user specified RGB565 colours and 2 interpolated RGB888 colours between the user specified ones). Godot converts textures into block compressed format internally when you set a texture to VRAM compression.
From the Godot docs, the actual types stored in an exported project are going to be raw, webp, png or st3c/pvrtc. If you put a jpg in a project, and set it to lossy compressed mode in the importer, it will be stored as a webp.
I used to have my own format that was 192 bit colour (double precision float per channel) in a tiled format for handling massive images bigger than memory. Yeah, overkill for pre-2000 rendering, but it was fun.
Yeah, for sure. When I was using DDS it was with a custom DirectX11 engine I was writing. I did go with it, only because it worked best with the Microsoft APIs and I needed it for efficient cubemapping. But the tools were poor. I think there was a Photoshop Plug-In, but it hadn't been updated, or didn't work with the latest version of PS at the time, or something, can't recall exactly. I think there was a Microsoft tool I used.
When I switched to Vulkan, I was on Linux and kind of trying to get away from Microsoft, so I attempted with KTX, which is like the OpenGL version of DDS. It's actually a decent format, but the tools were not great. I think I had to use a command-line convertor or there was some random third party app. But I decided it was too much effort, so I just switched to using standard formats like JPG and did the mipmapping/cubemapping in code. So not the end of the world, but I would prefer if there was just standard support in apps like Photoshop, GIMP, etc. without using strange tools.
In any case, I think JPEG XL is the future. I know Godot supports WebP already, and they are quite similar in performance and file size, but I think JPEG XL has a lot of potential. Aside from the quality and file size (which is as good as WebP and far better than JPG/PNG) it also has transparency, high quality animation, and really high levels of depth, HDR, multiple layers, etc. You should read this blog post to see why it's probably the last image format we will ever need in our lifetime (disregarding stuff like holography or lightfields, I mean as a 2D image).
https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs
Just to show you one data point, a single image in JXL can be up to 1,073,741,823 x 1,073,741,824 with 4,100 24-bit channels. You could literally store an entire AAA PS5 game in 1 image. Granted, that's not a great idea for a lot of reasons, but you could.
Jpeg xl is definitely interesting, but it needs more support. Chrome won't show them by default (have to turn on a flag, why?) and Firefox only allows them in nightly builds, not the standard release.
QOI can handle 4,294,967,296 x 4,294,967,296 images.
(Although that would require something like 72 exabytes for 32bit colour without compression)
That's ... a lot. Just thought that there's a lot of dust to clean in my room, but that's just nothing in comparison.
16k, max on most PC graphics cards, is already a Gb without compression. Humongous amount of data to move around, so always squeeze it out
And for my project I need lossless compression, no fine print. Not 'visually' or 'mathematically' because what if epsilon is a large number ?
Nice Sunday everyone!
Kojack Jpeg xl is definitely interesting, but it needs more support.
Well yes. The spec was finalized in 2021, but even the reference implementation on Github is not finished. There is some beta support (mostly if you build source yourself, like for GIMP, Firefox, etc.) but I think this has more to do with the reference code not being stable. I would expect things will be rolled out later this year. And the spec is final, so people could write their own implementation or whatever. But it takes time. As I said, the spec wasn't finalized until October of last year. But seeing as it has HUGE benefits for web development, I expect the adoption to be quick. WebP is good, but I think being backed by Google made people wary, just like Apple's formats haven't gone far beyond Apple products, but JPEG XL is a standard and royalty-free with a BSD license.
Pixophir And for my project I need lossless compression, no fine print. Not 'visually' or 'mathematically' because what if epsilon is a large number ?
JPEG XL can do lossless, at 35% smaller than PNG. You can also store 32-bit floats in each channel, so it has way higher precision than most other image formats (unless you include working directly with GL/DX).
In my case it is not so much about fine grained precision (I have only uint16_ts) but stability to avoid artefacts.
I certainly will have a look once it is stable and in the Debian reps and has a reasonable documentation. PNG is by no means the best solution, and 35% better compression is quite a carrot to run after. I know now whom to contact when questions arise :-)
Gonna try to start making a mobile game tomorrow. Could really use an extra income source. Something simple, but fun and with good heart put into it. Maybe i can sell some bonus levels for it.
I might post my progress somewhere. Im not sure where .
Nerdzmasterz
I found this. It seems pretty promising.
Megalomaniak Perhaps. But that's speculation.
https://www.pcgamer.com/unity-is-merging-with-a-company-who-made-a-malware-installer/
Looks like Unity is over. Expect a LOT more people coming to Godot very soon...
I just wonder who owns ironsource
A platformer splatter, a splatformer ? Muahahaha :-)
I only fear most gamers just don't care about the doings. I am only personally affected when KSP2 is released, practically the only game I am/was waiting for.
They were public, still are now in the new company. But the shady doings will probably not stop but spread further, can't stop thinking even about political aspects.
cybereality Farewell, Unity. I have learned a lot from work with you.
Now I have to re-purchase all my assets elsewhere...
cybereality https://www.pcgamer.com/unity-is-merging-with-a-company-who-made-a-malware-installer/
Looks like Unity is over. Expect a LOT more people coming to Godot very soon...
The thing I find the most sad about this is that the merge/acquire was right after they (Unity) let go of a bunch of their employees. They seem to have the money that they could have, at least from a theoretical monetary perspective, kept the employees and been able to pay them, but… I digress.
A totally different aside: I’ve been slowly trying to wrap my head around efficient peer-to-peer networking setups, but it is confusing. Payload size isn’t nearly as much of an issue as I thought it might have been, but instead it is latency. Even with smoothing and interpolation between packets, things are still a little laggy visually. I’ve read the way around it seems to be sending data so you can predict where the player will be going next, which can be as simple as passing the velocity or as complex as pooling the player’s recent input and then trying to guess their next input from that.
All of this has given me a new appreciation of all the multiplayer games I’ve played. I’m just working on a 2 player project, I cannot imagine the immense complexity of trying to program the networking for something like a MMO or a battle-royal game.