(14.01.2020 11:13)SWAT писал(а): Ну хорошего уровня да, не получится, только мелкие поделки. И дело там не в асме мне кажется, тот асм волшебный уже давно выдернули.
Проблема скорее в корявом и очень обрубленном драйвере для GPU. В KOS много чего нет.
для отрисовки в кос вполне достаточно сделано. Две главных проблемы:
1) софтварные трансформы (я не знал, что дримкаст в этом плане днище т.е. что нет нормального TnL-юнита (даже в PS1 был GTE, например). Это, на мой взгляд, самый главный "bottleneck").
2) отправление вертексов на gpu
В первом пункте все понятно, т.е. учитывая, что каждый кадр делаются десятки тысяч перемножений, сложений и пр. логично такое писать вручную, а не надеятся на компилятор, например так:
https://dcemulation.org/phpBB/viewtopic....4#p1054104
А вот со вторым пунктом хз что и как делать. Не знаю, возможно ли такое, но нужно как-то не по одному в цикле отправлять каждый вертекс, а пачками за меньшее число раз.
Т.н. "direct render" т.е. макросы для использования "store queue"ов (я хз, че это такое, но не суть), вроде как и отсылают по 32 байта за раз т.е. вертекс целиком (pvr_prim(), предположительно, отправляет по одной переменной т.е. по 4 байта, поэтому и медленней). Может быть для этого и нужно использование DMA, но нигде нет примеров использования и сравнений.
Еще один из примеров:
https://dcemulation.org/phpBB/viewtopic....7#p1034137
но я не вникал, как оно работает.
Кроме трансформов нужно еще и делать "near_z clipping" т.е. "резать" треугольники, которые слишком близко к "камере". А это тоже лишние расчеты и проблемы с организацией кода (который нужно весь переделывать с учетом вышесказанных особенностей).
Короче говоря, ничего готового для пользования нет, и нужно делать все самому то, чем для сеги занимались профессионалы за деньги. Вот только мотивации для такого геройства недостаточно, ибо слишком нишево.
Вот, например, для мегадрайва есть SGDK, и как следствие, обилие новых игор последние несколько лет. Кос в этом плане даже близко не является аналогом sgdk для дримкаста. Когда я только начинал, то KGL мне казался этим самым аналогом, но разочарование было жестким, и у меня до сих пор бомбит (я реально надеялся заработать на этом всем, а тут такие подставы).
Наверняка это все было известно до меня, но хотя бы выговорился немного.
(14.01.2020 11:13)SWAT писал(а): В лоб продавать конечно нельзя такое.
Но мне кажется если скрыть все копирайты в коде, которые слишком красноречиво говорят о том что это KATANA SDK и не говорить об этом на каждом углу, то не думаю что кто-то будет проверять это
выше уже упоминал подобное. Проблема тут в другом - сектанты наверняка спалят т.е. 100% найдется "герой", который решит поковыряться в 1st_read.bin'е и громко разоблачить мерзкого пирата.
Хотя для одноразового срубания бабла (без выкладывания демо-версии) это может и сойти, наверное.
(14.01.2020 11:13)SWAT писал(а): Помоему можно CDI собрать под 45000, так не делали лишь для экономии места мне кажется. Хотя я на 100% утверждать не могу, я точно не помню.
ну ты говорил, что это зависит от размера трека (т.е. "заполнителя" первой сессии?). Но если не помнишь, то ладно, не сильно это уже и нужно.