Нет способа установить цвет на устройстве.Цвет (даже в OpenGL) - вещь для каждой вершины.Просто случается, что OpenGL позволяет вам установить значение по умолчанию для всех вершин.
Если вы используете SpriteBatch
в XNA, то он обрабатывает всю магию с вершинами, и большинство его Draw(...)
перегрузок имеют *Параметр 1005 *.
Если вы отправляете вершины на карту самостоятельно, убедитесь, что ваш формат вершин включает компонент Color
. Вот учебник о том, как создать собственный формат вершин (хотя он не включает компонент Color
).
В качестве альтернативы вы можете просто использовать один из встроенных форматов, например VertexPositionColor
или VertexPositionColorTexture
.
Стоит отметить, что в XNA нет "без шейдеров".Вы можете использовать BasicEffect
(или один из других встроенных эффектов), который выполняет ожидаемые действия с данными о цвете, то есть оттеняет текстуру.И SpriteBatch
тоже использует внутренний шейдер.