Hello i am a real beginner so please dont blame me for my question probably it sounds very stupid.
Basically i am traing do display Unreal Engine Model.
The structure of the Model is with several surfices.Each surfice have own Vertex normals indexes and UVs.
And here is the code itself
private void openGLControl1_OpenGLInitialized(object sender, EventArgs e)
{
SharpGL.OpenGL gl = this.openGLControl1.OpenGL;
gl.Enable(OpenGL.GL_DEPTH_TEST);
gl.ShadeModel(OpenGL.GL_SMOOTH);
gl.Hint(OpenGL.GL_PERSPECTIVE_CORRECTION_HINT, OpenGL.GL_NICEST);
}
private void DrawMesh2()
{
SharpGL.OpenGL gl = this.openGLControl1.OpenGL;
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
gl.Color(1.0f, 1.0f, 1.0f);
gl.LoadIdentity();
gl.LookAt(50, 50, 50, 0, 0.5f, 0, 0, 1, 0);
gl.Rotate(0, rotation++, rotation / 2);
for (int i = 0; i < m_Model.Surfices.Count; i++)
{
int k = 0;
gl.BindTexture(OpenGL.GL_TEXTURE_2D, textures[i]);
gl.Enable(OpenGL.GL_TEXTURE_2D);
gl.Begin(OpenGL.GL_TRIANGLES);
for (int j = 0; j < m_Model.Surfices[i].triangle_count; j++) {
gl.Normal(m_Model.Surfices[i].Verteces[k].Normal.ToArray());
gl.TexCoord(m_Model.Surfices[i].TextureCords[k].UV.ToArray());
gl.Vertex(m_Model.Surfices[i].Verteces[k].Location.ToArray());
gl.Normal(m_Model.Surfices[i].Verteces[k+1].Normal.ToArray());
gl.TexCoord(m_Model.Surfices[i].TextureCords[k+1].UV.ToArray());
gl.Vertex(m_Model.Surfices[i].Verteces[k+1].Location.ToArray());
gl.Normal(m_Model.Surfices[i].Verteces[k+2].Normal.ToArray());
gl.TexCoord(m_Model.Surfices[i].TextureCords[k+2].UV.ToArray());
gl.Vertex(m_Model.Surfices[i].Verteces[k+2].Location.ToArray());
k += 3;
}
gl.End();
gl.BindTexture(OpenGL.GL_TEXTURE_2D, 0);
gl.Disable(OpenGL.GL_TEXTURE_2D);
}
gl.End();
gl.Flush();
}
The result looks like this:
[ATTACH=CONFIG]854[/ATTACH]
But should look like
[ATTACH=CONFIG]855[/ATTACH]
So my guess is that the texture of the first or last Surfice is used
I will strongly appreciate any help or directions what may be wrong