Вам необходимо написать считыватель/загрузчик формата импортера/файла. Сам. Это серьезная боль. Хорошо, что формат файла .3ds хорошо известен и documented.
Однако плохой формат .3ds устарел и не хранит все данные, которые потребуются для современного 3D-приложения. Например, он не хранит нормалей поверхности и не поддерживает сетчатые сетки. Я написал 3ds reader раньше, это было не очень весело. Другое дело, что кто-то, вероятно, написал 3ds loader раньше, и вы можете найти его с помощью google. Плохо то, что (по Закону Мерфи) они, вероятно, внедрили его таким образом, что сделают его совершенно непригодным для использования с вашим кодом.
Поэтому обычно рекомендуется использовать какой-либо другой хорошо документированный формат (и вместо этого записывать считыватель для формата THAT). Или вы можете пойти и создать свой собственный формат для моделей, которые поддерживают все, что вы хотите. Однако, чтобы экспортировать в ЭТОМ формате из 3ds max, вам понадобится собственный плагин-экспортер для 3ds max (с использованием 3ds max sdk), который требует большого знакомства с 3D математикой и программированием (на C++). Я уже писал несколько экспортеров, и это также большая боль.
Таким образом, проще было бы использовать простой формат, который позволит вам легко написать загрузчик. Что-то текстовое, например * .dxf. Или вы можете искать другой формат файла 3D-модели, который, надеюсь, поставляется с библиотекой для его загрузки. Например, collada может быть одним из кандидатов, хотя лично мне очень не нравится тот факт, что он использует XML.
Я ожидаю, что вы найдете большинство 3DS C# погрузчики будут работать исключительно с D3D. Просто из интереса, почему вы используете SharpGL, а не SlimDX или подобное? Вы пишете для Mono или .NET? – Robinson
Я работаю с .NET. Не использовать DirectX, поскольку я не использовал его раньше. – bobble14988