So I've been lucky enough to get some paid work for for a game and at this point I really want a better understanding of how things work, which leads me to draw calls. So a few questions I have with a simple example. My example is a simple telephone pole that I am dropping into an environment. The model includes a single…
Um. The way I understand it is a draw call is a chunk of state information that's going to be rendered. So it's one piece of material data (shader and input values/textures), and one set of vertex data. When an engine performs batching, it looks at everything in the frame that shares the same material, and groups all of…
In most cases, yes to all four questions (I think, I'm not a programmer). Depends though, like if the mesh exceeds the vertex limit for a single batch, then it has to be split by the renderer into more than one batch, which would cause more draw calls. Also in most games you would not want to combine all the telephone…
Most thing said are correct, the main point is always: it depends on the engine and the platform. So any fancy tricks could be applied or not. Don't assume anything, if it's important to you just talk with the guy responsible for it. Batching is motivated by two reasons: - GPUs love big work loads, thousands of threads…
Most modern game engine should support instancing. In this case you have one copy of the model on the video cards and just a list of position etc. to place the same model all over the place. In fact one drawcall without any memory limitations. Sharing materials and textures is important. Most engines will process meshes in…