We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.

Render calls and geometry buffers – how do they work?

Home Forums General Questions Render calls and geometry buffers – how do they work?

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #75734
    c4cc
    Participant

    Pardon the stupid question, but I’ve looked high and low in Verge3d website and forums, yet no mention on how render calls and geometry buffers work.

    Only here in performance bottlenecks do they mention render calls and geometry batch, and even then, no mention on how they function.

    #75749

    Hi c4cc,

    Verge3D/WebGL renders a mesh by processing its geometry information (coordinates, normals, texture coords, vertex colors etc) stored in long arrays. Those are called “geometry buffers”. Big meshes imply large geometry buffers and require more video memory.

    When rendering meshes, Verge3D/WebGL must mark a mesh’s geometry buffers “active” and also select a shader (a GPU program), and may be do some other stuff. Only after that, WebGL would issue a command to render this mesh. The whole procedure is called a “render call”. The more different geometry buffers and different shaders (in the 3D software, “materials”) are contained in the scene, the more render calls will be needed.

    Preparing for a render call is a CPU-intensive operation that affects the FPS. Thus, you want to have as less of render calls as possible. This can be achieved by batching similar meshes into one, and by using less different materials. Hope this helps!

    Chief 3D Verger | LinkedIn | Twitter

    #75753
    c4cc
    Participant

    Thanks for your answer, it’s very informative and helpful. Now, I’ve seen no sources from verge3d itself mentioning specifically how geometry buffers and render calls work? Where are these sources?

    • This reply was modified 2 months, 4 weeks ago by c4cc.
    #75755

    You can get the technical info from this page.

    Chief 3D Verger | LinkedIn | Twitter

    #75756
    c4cc
    Participant

    Thanks.

    Hi c4cc,

    Verge3D/WebGL renders a mesh by processing its geometry information (coordinates, normals, texture coords, vertex colors etc) stored in long arrays. Those are called “geometry buffers”. Big meshes imply large geometry buffers and require more video memory.

    Also, do vertice count affect geometry buffers?

    #75758
    kdv
    Participant

    The more vertices, the more video memory consumption. One mesh – one geometry buffer. One mesh, visible on the screen – one render/draw call (provided post-processing is not used). Meshes that are out of the camera’s field of view are not rendered.

    Any light source casting shadows will double the amount of render calls. Most of post-processing passes will also double the amount of render calls.

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #75761
    c4cc
    Participant

    The more vertices, the more video memory consumption. One mesh – one geometry buffer. One mesh, visible on the screen – one render/draw call (provided post-processing is not used). Meshes that are out of the camera’s field of view are not rendered.

    Thanks kdv, that was an informative answer.

    Any light source casting shadows will double the amount of render calls. Most of post-processing passes will also double the amount of render calls.

    What do you mean, post-processing passes?

    #75763
    kdv
    Participant

    What do you mean, post-processing passes?

    Brightness/Contrast, Bloom, Afterimage, Greyscale, Outline effect, etc.

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #75777
    c4cc
    Participant

    I see. Informative.

    Btw, what about bones and armature? These are not rendered by blender or verge3d, right?

    #75778
    kdv
    Participant

    what about bones and armature?

    Do you see them in Verge3D?

    Puzzles and JS coding. Fast and expensive.

    If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.

    #75799
    c4cc
    Participant

    lol, no, not in the screen/browser in verge3d, I just wanna confirm.

    #77361
    c4cc
    Participant

    cloning puzzles

    https://i.postimg.cc/NjfTFYW1/o46x1.png

    • This reply was modified 2 weeks, 4 days ago by c4cc.
Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.