Many questions about Godot graphics

anonymouschicoanonymouschico Posts: 16Member

First of all, excuse me for posting such a Trollish question, main reasons are 1) I'm impatient and 2) I just known about Godot from, but I'm unsure if infos are updated.
So, here's my laundry list of features I don't know if are supported and I may need:
• Render-to-Texture
• Lens Flares
• Depth of Field
• Water plane
• Decals
• Mipmapping

Plus, a final question:
Is lighting and shadow shader based?

Whether any question's answer is yes, you should add it to DevMaster.


  • MegalomaniakMegalomaniak Posts: 774Admin
    edited August 2017 Answer ✓

    Render to texture is supported but gles2 limits you to 1 at a time afaik, godot 3.0(gles3) should change that. No clue about DOF, haven't used it. Water is doable as a custom shader, might end up using up the 1 renderTarget/Render-to-texture "slot" either for reflection or refraction("static" reflection could be done with a baked cube-map so use the rendertarget for refraction then).

    Decals - no clue haven't looked into, I suspect it would need the renderTarget functionality. Not sure what the supposed mip-mapping issues would be, last I checked it was only an issue if you wanted to do texture atlasing for 3D - no easy fix for that afaik. LOD - again haven't tested so can't comment on that. Afaik, yes everything is done with shaders.

    Not sure who wrote the article on DevMaster you would have to ask that person to modify/update the article.

  • TwistedTwiglegTwistedTwigleg Posts: 542Moderator
    Answer ✓

    -- Render to texture
    As Megalomaniak said, render to texture is supported.

    -- Lens flares
    Not sure. Probably possible, but someone who knows more about the graphic capabilities of Godot probably knows better than I do. Worst case you could write your own in the source code (and then everyone can benefit)

    -- Depth of field
    Totally possible in Godot 3 and is included by default as a post process effect. I'm not sure if it's possible in Godot 2, but it might be. I haven't used Depth of field in Godot 2, but I have in Godot 3

    -- Water plane
    A water plane is doable with custom shaders. I would suggest doing it with either screen space reflections, or reflection probes. Screen space reflections and reflection probes are only available in Godot 3. You could write a shader for water planes in Godot 2 or Godot 3.

    -- Decals
    There is currently no support for decals in Godot by default. Decals are going to be added sometime in the future. I think it is planned for Godot 3.1.

    -- Mipmapping
    I don't know. There is mipmapping options for textures, but outside of that I have no idea. I've never used Mipmaps (to the best of my knowledge)

    -- LOD
    I have never used LOD, but Godot does support LOD. I saw a video for on LOD for Godot 2 and I assume Godot 3 also has LOD.

    -- Is lighting and shadow shader based
    Yes. Everything is done with shaders, with a few minor exceptions (probably. I don't know, but everything I've seen in the source code for graphics seems to be done with a shader).

  • anonymouschicoanonymouschico Posts: 16Member

    Thanks both and excuse me for the delay: I didn't receive the reply notification.
    As for the water plane, I don't care much about its appearance, but can I add waves to the plane as something gets on it?
    Maybe this could be pointless on mobile platforms tough, if so please discard the whole water plane thing.
    Why doesn't Godot support decals? Is there a better way to throw eg bullet holes or blood on enemies? Same goes for mipmapping, maybe I'm too old school, but is there any newer/better texture compression method?

    Thanks again, sorry if questions sounds stupid (as I am).

  • TwistedTwiglegTwistedTwigleg Posts: 542Moderator
    Answer ✓

    I'm not sure on the water plane stuff, sorry. Hopefully someone with more water plane experience and/or shader experience and/or more Godot knowledge can help.

    Decals will be added to Godot, but in version 3.1. I think they bumped it back to 3.1 so they could release 3.0 sooner. There is a different, not necessarily better, way to do decals: you could place textured quads at the collision points. This method would only work for static objects unless you moved the quads with the object.

    I think you can do mipmapping. When you import a texture I think it is compressed, and I think mipmaps are generated by default.

    Don't worry about asking questions! There is no such thing as a stupid question :smiley:

  • anonymouschicoanonymouschico Posts: 16Member

    Well, as for the mipmap, this is exactly what I meant: if there were some texture compression method which automatically scales down the texture at lower resolution. In truth, did anyone apart an engine developer actually use them? I guess no, because AFAIK they're transparent to the user and generated automatically.
    I'm somewhat non happy (excuse pun, I'm not very English) about the water plane, many lower engines already support them, and I thing it's kinda funny to have such in a game. Again, may be this could be totally wrong with mobile platforms: I've never seen a mobile 3D game supporting such a technology and there should be a reason for this.
    What you're basically saying about decals is "they're supported, but not, because you'll have to code them". By the way, the point they will be added to 3.1 is still very good.

    Side note: lens flares were initially made with texture overlay on a hud, so if I were comfortable enough with C++ I would have been added them in a snap. Unfortunately, it's just enough for me if I'm not even good with GDScript at this time, as the last real programming I did was some Logo on a C64 (C = Commodore), so figure out my skills...

    Finally, if DevMaster allows me to do so, may I update the engine's features on its page?
    I would mark more than one post as answer at this point, if possible. I'm gonna try, if I can't, be informed: you all contributed to the final answer.

Sign In or Register to comment.