XaeroX писал: Да вот жешь, вам подавай всё попроще, а лучше - готовенькое.
Ну если кривость реализации впрямую зависит от сторонней организации, то конечному погромисту прикрываться ею как отмазкой всё равно стрёмно. Типа это не у меня шейдеры плохие, это ограничения такие.
Ну смешно же ведь. Опять таки в Cg нету ветвлений, ЕМНИП.
А по мне так лучше ветвление, нежели переключение шейдера - это очень дорогая операция. Примерно в 5 раз дороже, чем переключение текстур.
Цитата:
XaeroX писал: Проблемы начались именно с GLSL.
Скажем компании 3DLabs спасибо за наше щастливое детство.
~ X ~ писал: по статистике вальвы Inhell GovnyanyiMediaAccelerator - самые распространённые у стим-юзеров.
Угу, а айфон - самый распространённый в мире фотоаппарат.
Цитата:
Дядя Миша писал: Опять таки в Cg нету ветвлений, ЕМНИП.
Cg это суперязык, он может компилироваться в любой нативный язык, даже в комбайнеры (хотя там очень сложно написать так, чтобы уложиться в лимиты, проще уж сами комбайнеры крутить).
Цитата:
Дядя Миша писал: А по мне так лучше ветвление, нежели переключение шейдера - это очень дорогая операция. Примерно в 5 раз дороже, чем переключение текстур.
Переключение - дорогая операция? Это ты где такое прочитал?
XaeroX писал: Переключение - дорогая операция? Это ты где такое прочитал?
Нигде я не читал. По FPS сужу на том же хардварном скиннинге.
Я изначально сделал два шейдера - один для хрома, другой для обычного диффузного освещения. FPS упал до 180 (против 560). Сделал один шейдер с ветвлением - получил 545 фпс.
Надеюсь я тебе подал мысль отчего Волатила так тормозит.
Дядя Миша писал: Я изначально сделал два шейдера - один для хрома, другой для обычного диффузного освещения. FPS упал до 180 (против 560). Сделал один шейдер с ветвлением - получил 545 фпс.
Разница между этими вариантами - исключительно в доп. вызовах glBindProgram?
Цитата:
Дядя Миша писал: Надеюсь я тебе подал мысль отчего Волатила так тормозит.
Да знаю я, отчего волатила тормозит. От всего помаленьку. Там нет каких-то конкретных косяков, просто много говнокода, который надо вылизывать. Што поделаешь, у меня вообще ощущение, что я два года назад программировать не умел, и только теперь научился.
Если бы в моих сутках было не 24 часа, а хотя бы пара сотен, вы бы уже увидели новую шуструю версию. А так - придётся ждать. Ну ничего, подождёте, оно того стоит.
Ждём-с. Алсо, у вас вместе с Вульвой есть нездоровая тенденция тормозить на АТИшных видюхах и летать на НВидиях. Я непонимат. Скайримы и УТ не тормозят, а вот наше родное...
DirectX - API настоящего.
OpenGL - API будущего.
Это консоли (кроме хбоха), линукс, макось, айось, андроид и много чего ещё.
Вопрос - когда это будущее окончательно наступит? Стараниями вальвы - совсем скоро. Поэтому я окончательно отказался от планов делать DirectX-рендеры, теперь это что-то вроде "поддержки риватнт".
thambs
Со звуком всё очень плохо.
Под виндой два основных апи: DirectSound (очень рассовый, позволяет работать с железом на низком уровне и вообще очень быстрый) и WaveMapper (медленный, зато поддерживает всё начиная от первых саунд-бластеров, из недостатков - максимум стерео).
OpenAL в сравнении с этими низкоуровневыми апи - недоразумение. Там нельзя микшировать вручную, и это ставит крест на адекватном применении в сколько-нибудь сложных игорях, где звук занимает важное место (квачку, каэсик и подделки на юнити я в расчёт не беру).
Под линуксом есть OSS (очень рассовый - поэтому и вырезан почти везде) и ALSA (это такой недодиректсаунд, лично мне показался более тормозным, но в целом примерно та же функциональность). И ещё есть PulseAudio - совершенно мерзко документированный апи, хрипящий под волатилой как стадо кабанов, причину чего я выяснить не мог, ибо код у меня простой и полностью совпадает с тем, что рекомендовалось в документации (той, что удалось нарыть).
На телефонах я пока особо не ковырялся, но там есть что-то типа OSS (с относительно прямым доступом -- наверное, скоро вырежут, если ещё не вырезали) и "типа OpenAL" без блекджека и шлюх, но с поддержкой MIDI - тут он называется OpenSL ES.
Под маком - понятия не имею, что есть, как дойдут руки волатилу под него портировать - буду разбираться.
Пока что лучшие, на мой взгляд, решения - это DirectSound и ALSA. Первый годится всем - и тем, кто пишет свои микшеры, и кто не хочет заморачиваться и просто хочет играть звуки, но он только под венду. Второй - те же плюсы, и тот же минус - только под линукс. OpenAL - для тех, кому звук глубоко по-барабану и нужно наговнять быстрое и кроссплатформенное решение. Т.е. почти для всех нынешних разработчиков попы игр.