Я начинаю переносить свою игру на XNA из кодовой базы C / OpenGL. Я только сейчас перехожу к коду рендеринга, и мне интересно, какими будут лучшие методы для перехода из системы, в которой вы просто связываете текстуру одним вызовом, а затем выводите объекты буфера вершин в эквивалентный набор методов XNA? Я могу видеть, как вы передаете данные вершин, но я не совсем уверен, как вы связываете текстуру. Все это должно быть сделано в шейдерах, или в XNA есть простая процедура?
Мой основной код рендеринга для моделей выглядит следующим образом (я прошу прощения за небольшие имена переменных)
glEnable(GL_TEXTURE_2D);
glEnable(GL_CULL_FACE);
glBindTexture(GL_TEXTURE_2D, obj->tx);
glColor4f(c.r, c.g, c.b, c.a);
glBindBuffer(GL_ARRAY_BUFFER, obj->iVBO);
glVertexPointer(3, GL_FLOAT, (sizeof(float) * 3) + (sizeof(float) * 2), 0);
glTexCoordPointer(2, GL_FLOAT, (sizeof(float) * 3) + (sizeof(float) * 2), (const GLvoid*)(4 * 3));
glDrawArrays(GL_TRIANGLES, 0, obj->iSize);
glBindBuffer(GL_ARRAY_BUFFER, 0);