ParseObjClass parse = new ParseObjClass();
parse.ParseObj("model.obj", "model.mtl");
List<int> array_material_indices = parse.GetIndicesMaterialArray();
Dictionary<string, string> dict_material = parse.GetDictionaryMaterialPath();
Dictionary<string, Dictionary<string, Vector3>> material_vectors = GetDictionaryMaterialVectors3();
float[] vertices = parse.GetResultFloatArray();
count_triangle_polygons_object = parse.triangle_polygon;
texture_1 = Texture.LoadFromFile(dict_material["Material"]);
texture_2 = Texture.LoadFromFile(dict_material["Material_2"]);
//System.Numeric format vector
Dictionary<string, Dictionary<string, Vector3>> material_vectors = parse.GetDictionaryMaterialVectors3();
Vector3 ka_vector = material_vectores_dict["Material"]["Ka"];
Vector3 ka_vector_2 = material_vectores_dict["Material_2"]["Ka"];
texture_1.Use(TextureUnit.Texture0);
_lightingShader.Use();
float[] vertices_1 = vertices[..array_material_indices[0]];
GL.BindBuffer(BufferTarget.ArrayBuffer, _vertexBufferObject);
GL.BufferData(BufferTarget.ArrayBuffer, vertices_1.Length * sizeof(float), vertices_1, BufferUsageHint.DynamicDraw);
GL.BindVertexArray(_vaoModel);
GL.DrawArrays(PrimitiveType.Triangles, 0, count_triangle_polygons_object * 3);
texture_2.Use(TextureUnit.Texture0);
_lightingShader.Use();
float[] vertices_2 = vertices[array_material_indices[0]..array_material_indices[1]];
GL.BindBuffer(BufferTarget.ArrayBuffer, _vertexBufferObject);
GL.BufferData(BufferTarget.ArrayBuffer, vertices_2.Length * sizeof(float), vertices_2, BufferUsageHint.DynamicDraw);
GL.BindVertexArray(_vaoModel);
GL.DrawArrays(PrimitiveType.Triangles, 0, count_triangle_polygons_object * 3);