Как объединить текстуры в одну в XNA + C #? - PullRequest
0 голосов
/ 22 августа 2011

У меня есть модель, которая имеет более одной текстуры, и я хочу, чтобы эти текстуры были объединены в одну текстуру, чтобы я мог использовать одну текстуру для одной модели / сетки.алгоритм для этого?Предпочитаемый C #, предпочтительный XNA4.

Заранее спасибо: Петер

Ответы [ 3 ]

4 голосов
/ 22 августа 2011

Я думаю, что лучшим способом было бы сделать это в редакторе моделей.

1 голос
/ 22 августа 2011

Хотя это нелегко реализовать, вы можете создать модель процессора, которая объединит текстуры в одну.

Вы можете использовать этот код, чтобы узнать, как это сделать:

A. Для упаковки текстур:

http://create.msdn.com/en-US/education/catalog/sample/sprite_sheet

B. Чтобы изменить модель для использования новой текстуры:

http://create.msdn.com/en-US/education/catalog/sample/custom_model_importer

0 голосов
/ 22 августа 2011

Вы можете сделать это в пиксельном шейдере довольно легко, если вы действительно этого хотите. В основном вам нужно написать шейдер, который принимает две текстуры и комбинирует их, а затем выводит указанный шейдер в цель визуализации текстуры. Если вы не знаете, как это сделать, я предлагаю вам начать изучение шейдерного программирования, поскольку оно является неотъемлемой частью программирования трехмерной графики.

В качестве альтернативы вы можете просто использовать мультитекстурирование и избежать слияния texturse: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series4/Multitexturing.php

...