Я-таки перешёл на Си++. Теперь надо отыскать операторы new и delete. :) Никто не знает, как их подключить на PSP?
|
Хотя нашёл в чём дело. Нужно в makefile подключать и -lstdc++.
Т.е. писать: LIBS = -lm -lstdc++ |
Пишу теперь в чистом 3D. Выяснил занимательную вещь - тест глубины обратный по смыслу должен быть. Буфер инвертирован sceGuDepthRange(65535,0);, вот и глубина от масимальной (у наблюдателя) до минимальной (в бесконечности). Т.е. вместо
sceGuDepthFunc(GU_LEQUAL); (рисовать, если меньшая глубина), нужно использовать sceGuDepthFunc(GU_GEQUAL); (рисовать, если большая). А я-то не врубаюсь, почему картинки нет? Вроде была раньше. А сам давным-давно заменил на LEQUAL по аналогии с OpenGL. :) Проверил sceGuDepthRange(0,65535);. Не работает LEQUAL. Значит, буфер действительно инвертирован. добавлено через 1 час 21 минуту Нифига себе Z-буффер у этой приставки! У неё банально точности может не хватить. Делаешь sceGumPerspective(30.0f,16.0/9.0f,1.0f,1000.0f);, т.е. передняя и задняя плоскости отсечения: 1 - 1000, соответственно. Появляются артефакты на дистанциях -100 и дальше. Просто ошибка 16-ти битного Z-буфера. Пришлось уменьшить диапазон до 50 - 200. |
А вот интересно, почему при работе с GU иногда (и довольно часто) после изменения строчки в программе (практически любой, причём, даже не относящейся к графике) и перекомпиляции, программа на PSP идёт очень странно. Экран раздваивается на левую и правую половины, в каждой из которых по выводимой программой картинке, только они уменьшены и цвета искажены. С чем это связано-то? А потом добавишь ещё что-нибудь в программу и эффект исчезает. Видимо, эффект связан с какой-то длиной в программе. В одних случаях где-то блок в памяти ложится одним способом, а в других как-то иначе, с другим выравниванием, например.
|
чтонить нарушает работу 3д конвеера имхо. сам такое видел пару раз.
|
Текущее время: 19:59. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.