Я пишу 2d-библиотеку, которая будет иметь 3D-ускорение, но я бы хотел сделать это так, чтобы она эффективно работала на старых HW. Возможно, введитеdefs, чтобы скрыть опции / функции, которые не поддерживает целевой режим. (также может быть включена функция эмуляции)
Что делают старшие школьники? вот список вопросов и вещей, которые я знаю.
- Tiles, это не поддерживается. Это к старому, моя библиотека будет поддерживать пиксельный доступ
- Однопиксельный буфер с прокруткой. Пример GBA
- многократная поверхность с поверхностным всплеском (без растяжения)
- множественная поверхность с поверхности на поверхность, быстрый всплеск с растяжением (может быть, это было эмулировано? Есть ли у вас HW растягивание изображений?)
- HW пиксельная заливка (я думал, что видел вариант в DX)
- HW прозрачного цвета? (прозрачный цвет, я думал, что я видел в спецификации DX)
- Текстуры, старшее использование, чтобы быть степенью 2. Ширина не должна быть такой же степени 2, как высота? (пример 64x256), требует ли кто-нибудь, чтобы они были одинаковыми
- Текстуры, новые HW могут иметь любую ширину и высоту (или это ложь?)
- Текстуры могут быть в сумасшедших форматах (ARGB 8888, ABGR 8888, ABGR 2 10 10 10)
Кроме того, я не могу сделать текстуру для текстуры Blit? как в копии 60х40 из текстуры от А до Б в HW?
Также текстуры могут быть в палитре? (я не буду поддерживать это)
и, наконец, я должен помнить о шейдерах 8)
Что еще мне не хватает?