Instancing
Posted: Thu Oct 26, 2017 10:14 am
Hello!
I am just starting out programming with c++, using Irrlicht, and with game development in general. I read some posts on the forums and visited some ancient commits on the sourceforge and github pages, particularly in the shader branch and the trunk. As far as I can tell, instancing is not supported. I am not 100% sure I understand exactly what "instancing" is, but it is apparently very useful for when you want to draw the same model (mesh,texture and material) at multiple locations.
As you can see here: https://sourceforge.net/p/irrlicht/patches/268/ , someone was apparently working on this in the shader branch about 3 years ago. Looking over the source files, the current shader branch, the trunk, my own build and the github linked there, I cannot find this IRR_ARB_INSTANCED_ARRAYS or EVD_INSTANCING anywhere in the source code, though for some reason EVDF_TEXTURE_COMPRESSED_DXT and seemingly IRR_EXT_texture_compression_s3tc survived.
Since I am a complete beginner I do not know how to write shaders (OpenGL) myself, but with geometry/instancing shaders being a solved problem, and as I understand, what is needed to tackle this, I was hoping that one of you experienced developers could aid me? If not... Could you suggest to me another approach?
The reason I am asking is that I am trying to develop a roguelike game with 3D graphics using IrrLicht. The dungeon rooms will be pre-made models/assets that should be placed intelligently to connect to each other and form entire levels. However, I do not want the levels to be too small, and so I might need 10 of that corridor model, 20 of that rectangular room model, and so on. With limited visibility being a planned feature, would it be easier (and comparably efficient) to somehow cull everything outside say, a cylinder or sphere around the player character?
Thank you for reading.
I am just starting out programming with c++, using Irrlicht, and with game development in general. I read some posts on the forums and visited some ancient commits on the sourceforge and github pages, particularly in the shader branch and the trunk. As far as I can tell, instancing is not supported. I am not 100% sure I understand exactly what "instancing" is, but it is apparently very useful for when you want to draw the same model (mesh,texture and material) at multiple locations.
As you can see here: https://sourceforge.net/p/irrlicht/patches/268/ , someone was apparently working on this in the shader branch about 3 years ago. Looking over the source files, the current shader branch, the trunk, my own build and the github linked there, I cannot find this IRR_ARB_INSTANCED_ARRAYS or EVD_INSTANCING anywhere in the source code, though for some reason EVDF_TEXTURE_COMPRESSED_DXT and seemingly IRR_EXT_texture_compression_s3tc survived.
Since I am a complete beginner I do not know how to write shaders (OpenGL) myself, but with geometry/instancing shaders being a solved problem, and as I understand, what is needed to tackle this, I was hoping that one of you experienced developers could aid me? If not... Could you suggest to me another approach?
The reason I am asking is that I am trying to develop a roguelike game with 3D graphics using IrrLicht. The dungeon rooms will be pre-made models/assets that should be placed intelligently to connect to each other and form entire levels. However, I do not want the levels to be too small, and so I might need 10 of that corridor model, 20 of that rectangular room model, and so on. With limited visibility being a planned feature, would it be easier (and comparably efficient) to somehow cull everything outside say, a cylinder or sphere around the player character?
Thank you for reading.