Home › Forums › General Questions › Render calls and geometry buffers – how do they work?
- This topic has 11 replies, 3 voices, and was last updated 5 months ago by
c4cc.
-
AuthorPosts
-
2024-07-05 at 5:20 pm #75734
c4cc
ParticipantPardon 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.
2024-07-08 at 5:17 am #75749Yuri Kovelenov
StaffHi 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!
2024-07-08 at 6:34 am #75753c4cc
ParticipantThanks 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 7 months, 2 weeks ago by
c4cc.
2024-07-08 at 7:15 am #75755Yuri Kovelenov
Staff2024-07-08 at 7:30 am #75756c4cc
ParticipantThanks.
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?
2024-07-08 at 10:55 am #75758kdv
ParticipantThe 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.
2024-07-08 at 2:31 pm #75761c4cc
ParticipantThe 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?
2024-07-08 at 2:39 pm #75763kdv
ParticipantWhat 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.
2024-07-09 at 4:30 am #75777c4cc
ParticipantI see. Informative.
Btw, what about bones and armature? These are not rendered by blender or verge3d, right?
2024-07-09 at 4:35 am #75778kdv
Participantwhat 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.
2024-07-09 at 12:30 pm #75799c4cc
Participantlol, no, not in the screen/browser in verge3d, I just wanna confirm.
2024-09-16 at 3:46 am #77361c4cc
Participantcloning puzzles
https://i.postimg.cc/NjfTFYW1/o46x1.png
-
This reply was modified 5 months ago by
c4cc.
-
This reply was modified 7 months, 2 weeks ago by
-
AuthorPosts
- You must be logged in to reply to this topic.