800 MB / 3 minutes = 4.4 MB/sec—a far cry from peak disk bandwidth, which is in the hundreds of MB per second (exact value depends on what kind of disk interface you have). So you're definitely not saturating I/O bandwidth. You should be able to load 800MB into memory in a few seconds.
You mentioned converting from .obj to a binary representation, but it ...
In short, yes, you should split the scene. But I would advise that you use a more programmatic method rather than splitting by hand. And as below, will document my own approach and thoughts. You will reach your own conclusions on what you want to do, I hope this is guide in what does and doesn't work.
A lot of game engines to pre-process their scenes ...
There's nothing inherently slow or fast about OpenGL, or Java for that matter, when it comes to loading models. The following basic rules apply:
You're hitting the disk, so fewer large reads are going to be much faster than lots of small reads.
Loading binary files is typically going to be faster than parsing plain text.
If the model needs conversion from ...
The first line in the following code block is unnecessary:
glUniform1i( glGetUniformLocation( shader.getProgram(), ("material." + name + number ).c_str( ) ), i );
glActiveTexture( GL_TEXTURE0 + i );
glBindTexture( GL_TEXTURE_2D, this->textures[i].id );
So remove it, and change the following GLSL code:
The problem I had was that I mistakenly put the _element array into the last parameter of glDrawElements when it just needed to be 0.
glDrawElements(GL_TRIANGLES, _elements.size(), GL_UNSIGNED_INT, 0);
glDrawElements(GL_TRIANGLES, _elements.size(), GL_UNSIGNED_INT, &_elements);
According to www.learnopengl.com, the last ...
I was implementing the skeletal animation code recently, while not for Collada, I did it for GLTF, which is similar to Collada (also from Khronos), although it uses JSON + binary data rather than XML.
The understanding is the most important part. Once you understand the theory, the code will flow naturally. For skeletal animation, you need a mesh and a set ...
I can find several problems, mainly with your workflow. First it looks like your editor can only show one model at a time anyway. Every time the dialog is launched the editor is cleared. You should use an array or a list to contain the models that are in the editor.
editorDesign1.Model = null;
editorDesign1.Model = contentManager.Load<Model>("...
Your draw method shows no translation or rotation of each wall, they will end up on the same spot.
Your world matrix should(could) be
World = Matrix.CreateScale(wallscale) * Matrix.CreateRotation(wallRotation) * Matrix.CreateTranslation(wallPosition);